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

news/2024/9/23 9:56:25/

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

核心配置:

FROM apache/superset:3.1.0USER rootRUN apt-get update && \apt-get install --no-install-recommends -y firefox-esrENV 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.gzRUN pip install --no-cache gevent psycopg2 redisUSER superset

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

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

拉取代码:

git clone --depth=1  https://github.com/apache/superset.git

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

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

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

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

export TAG=3.1.0
docker compose -f docker-compose-image-tag.yml up

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

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

# 无头浏览器的配置,使用谷歌浏览器
# 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:

# 允许发送通知
ENABLE_ALERTS = True
ENABLE_SCHEDULED_EMAIL_REPORTS = True# SLACK 的API权限配置
SLACK_API_TOKEN = "xoxb-"CELERY_CONFIG = CeleryConfigSCREENSHOT_LOCATE_WAIT = 100
SCREENSHOT_LOAD_WAIT = 600

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

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

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

在这里插入图片描述

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

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

我直接说我的解决方案.

如图:
在这里插入图片描述

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

apt-get install --no-install-recommends -y firefox-esr

第二个是安装驱动:

wget https://github.com/mozilla/geckodriver/releases/download/v0.32.0/geckodriver-v0.32.0-linux-aarch64.tar.gztar -xzvf geckodriver-v0.32.0-linux-aarch64.tar.gzmv ./geckodriver /usr/local/bin/

第三个就是安装 Python 包:

pip install --no-cache gevent

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

特此记录.

仅供参考.


http://www.ppmy.cn/news/1529259.html

相关文章

docker基本(仅供自己参考)

一、大型项目部署的问题: 1、大型项目的组件比较多,运行环境很复杂,部署通常会遇到各种问题: (1):依赖关系复杂,容易出现兼容性问题 (2):开发、…

基于SAM大模型的遥感影像分割工具,用于创建交互式标注、识别地物的能力,可利用Flask进行封装作为Web后台服务

如有帮助,支持一下(GitHub - Lvbta/ImageSegmentationTool-SAM: An interactive annotation case developed based on SAM for remote sensing image annotation, which can generate corresponding segmentation results based on point, multi-point, …

熟练的Java程序员:掌握核心技能,引领技术潮流

Java,作为一门成熟且广泛应用的编程语言,对于程序员来说,不仅是一种技能,更是一种职业态度的体现。一个熟练的Java程序员,应该具备哪些技术呢?本文将为您揭晓答案。 1. 扎实的Java基础 熟练掌握Java语言的…

Hi3559A/C V100 集成了双核 A73 和双核 A53,支持 8K30/4K120 视频录制

1.1 概述 Hi3559AV100 是专业的 8K Ultra HD Mobile Camera SOC ,它提供了 8K30/4K120 广播级图像质量的数字视频录制,支持多路 Sensor 输入,支持 H.265 编码输出或影视 级的 RAW 数据输出,并集成高性能 ISP 处理&…

传输层协议 —— TCP协议(上篇)

目录 1.认识TCP 2.TCP协议段格式 3.可靠性保证的机制 确认应答机制 超时重传机制 连接管理机制 三次握手 四次挥手 1.认识TCP 在网络通信模型中,传输层有两个经典的协议,分别是UDP协议和TCP协议。其中TCP协议全称为传输控制协议(Tra…

Python使用BeautifulSoup解析HTML并提取数据

Python使用BeautifulSoup解析HTML并提取数据 在现代网络开发中,解析HTML并提取数据是一个常见的任务。Python提供了许多强大的库来实现这一功能,其中BeautifulSoup是最受欢迎的库之一。本文将详细介绍如何使用BeautifulSoup解析HTML并提取数据,帮助读者掌握这一实用技能。 …

P1056 [NOIP2008 普及组] 排座椅(模拟)

1.用x,y数组存放切了几对学生,用数组的下标记录切的位置 2.按照题目要求k和l依次取出最大的数组的值,并将其变为-1, 再次循环取出第二大的值,之后所有下标为-1的的下标就是切的学生对多的 3.切的意思是把两个学生分开 #includ…

《The Realm of Loneliness

《The Realm of Loneliness》 Loneliness is like a shadow, quietly following. In the corner of time, be alone and quiet. When the curtain of night falls, the stars are silent. In the silence, the heart seeks peace. Walking alone in the wilderness, the wi…