superset 解决在 mac 电脑上发送 slack 通知的问题

参考文档: https://superset.apache.org/docs/configuration/alerts-reports/

核心配置:

bash 复制代码
FROM apache/superset:3.1.0

USER root

RUN apt-get update && \
    apt-get install --no-install-recommends -y firefox-esr

ENV GECKODRIVER_VERSION=0.29.0
RUN wget -q https://github.com/mozilla/geckodriver/releases/download/v${GECKODRIVER_VERSION}/geckodriver-v${GECKODRIVER_VERSION}-linux64.tar.gz && \
    tar -x geckodriver -zf geckodriver-v${GECKODRIVER_VERSION}-linux64.tar.gz -O > /usr/bin/geckodriver && \
    chmod 755 /usr/bin/geckodriver && \
    rm geckodriver-v${GECKODRIVER_VERSION}-linux64.tar.gz

RUN pip install --no-cache gevent psycopg2 redis

USER superset

这玩意特别坑, 特别是在 Mac 电脑上.

这里之所以没有选择使用 chromedriver 是因为 chromedriver 对于 macOS 的 M1 芯片支持的还不是很友好.

拉取代码:

bash 复制代码
git clone --depth=1  https://github.com/apache/superset.git

这个框架看似开源,但是实际上坑特别多,很不友好.

关于启动服务的参考文档:https://superset.apache.org/docs/installation/docker-compose

这里面提供了Docker compose 的多种方案, 经过无数次的测试, 只有依赖于官方稳定版本的才最不容易踩坑.

所以, 我本地的启动命令是:

bash 复制代码
export TAG=3.1.0
docker compose -f docker-compose-image-tag.yml up

本文的主要目标集中于如何发送 slack 通知, 所以介绍一下最关键的配置.

首先是浏览器的配置, 我选择使用 Firefox.

python 复制代码
# 无头浏览器的配置,使用谷歌浏览器
# WEBDRIVER_TYPE = "chrome"
WEBDRIVER_TYPE = "firefox"
WEBDRIVER_OPTION_ARGS = [
    "--force-device-scale-factor=2.0",
    "--high-dpi-support=2.0",
    "--headless",
    "--disable-gpu",
    "--disable-dev-shm-usage",
    "--no-sandbox",
    "--disable-setuid-sandbox",
    "--disable-extensions",
]
WEBDRIVER_BASEURL = "http://superset:8088/"  # When using docker compose baseurl should be http://superset_app:8088/
# The base URL for the email report hyperlinks.
WEBDRIVER_BASEURL_USER_FRIENDLY = WEBDRIVER_BASEURL

然后要记得配置 slack:

python 复制代码
# 允许发送通知
ENABLE_ALERTS = True
ENABLE_SCHEDULED_EMAIL_REPORTS = True

# SLACK 的API权限配置
SLACK_API_TOKEN = "xoxb-"

CELERY_CONFIG = CeleryConfig

SCREENSHOT_LOCATE_WAIT = 100
SCREENSHOT_LOAD_WAIT = 600

这些配置完以后, 最难的地方就来了, 那就是怎么安装 Firefox 的驱动.

参考地址: https://github.com/mozilla/geckodriver/releases

由于我的 Docker 是在 macOS 上构建的, 所以需要的驱动也是 arm 架构的.

官方文档中介绍的 0.29 没有 ARM 架构的版本驱动, 所以我找了比较接近的 0.32 的 aarch64, 也就是截图中的第一个.

但是即使你把驱动安装好了, 也还有很多坑, 要解决这几个坑需要花不少时间.

我直接说我的解决方案.

如图:

第一个是安装这个 Firefox 的东西:

bash 复制代码
apt-get install --no-install-recommends -y firefox-esr

第二个是安装驱动:

bash 复制代码
wget https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-linux-aarch64.tar.gz

tar -xzvf geckodriver-v0.32.0-linux-aarch64.tar.gz

mv ./geckodriver /usr/local/bin/

第三个就是安装 Python 包:

bash 复制代码
pip install --no-cache gevent

以上是一次真实的解决过程.

特此记录.

仅供参考.

相关推荐
zhangfeng11332 小时前
com.apple.quarantine 并不是乱码,而是 macOS Gatekeeper 给下载文件自动打上的“隔离属性
macos·策略模式
甘晴void7 小时前
我给 Magpie 做了个 macOS 桌宠:106 段动画,请求一多就亮灯
macos·electron·开源·deepseek·桌面宠物·magpie
donecoding8 小时前
Apple 芯片 Mac 的终端为什么还在跑 Intel?从 tmux 查起
macos
DevLoom_12 小时前
macOS 27 升级后 Time Capsule 无法备份?AFP 协议废弃后的完整解决方案与备份迁移教程
macos·时间机器·macos27·macos 27备份·macos实用技巧
金海星科技13 小时前
船舶交通管理中心的人工智能值守:从“听、说、读、写“看人机协同
人工智能·macos·xcode
小相会自律16 小时前
全平台远程控制软件推荐2026:Win/Mac/Linux/手机/鸿蒙互通哪款好
linux·macos·智能手机·todesk·teamviewer·向日葵
IsITGirl17 小时前
VMware Fusion(Mac)Windows ARM 虚拟机 NAT (vmnet8) 报错解决记录
windows·macos·.net·桥接模式
全栈探索者1 天前
从素材到成片:ffmpeg 拼接、转码与字幕,一条流水线交付
macos·ffmpeg·aigc·comfyui·视频剪辑
向阳是我2 天前
Mac 命令行获取 APK 公钥和证书 MD5 指纹
macos
lpfasd1232 天前
Ollama 还是 LM Studio:在 24GB 的 M6 Mac 上,我把 Ollama 卸载了
macos·策略模式