Superset开启邮件通知问题记录

时间:2024-10-04 17:56:37

官方设置文档链接:

Alerts and Reports | Superset

设置过程遇到的问题记录

1. 镜像要安装对应的selenium webdriver,使用firefox或者chrome

Using Firefox

  1. FROM apache/superset:1.0.1
  2. USER root
  3. RUN apt-get update && \
  4. apt-get install --no-install-recommends -y firefox-esr
  5. ENV GECKODRIVER_VERSION=0.29.0
  6. RUN wget -q https:///mozilla/geckodriver/releases/download/v${GECKODRIVER_VERSION}/geckodriver-v${GECKODRIVER_VERSION}-linux64. && \
  7. tar -x geckodriver -zf geckodriver-v${GECKODRIVER_VERSION}-linux64. -O > /usr/bin/geckodriver && \
  8. chmod 755 /usr/bin/geckodriver && \
  9. rm geckodriver-v${GECKODRIVER_VERSION}-linux64.
  10. RUN pip install --no-cache gevent psycopg2 redis
  11. USER superset

Using Chrome

  1. FROM apache/superset:1.0.1
  2. USER root
  3. RUN apt-get update && \
  4. wget -q https:///linux/direct/google-chrome-stable_current_amd64.deb && \
  5. apt-get install -y --no-install-recommends ./google-chrome-stable_current_amd64.deb && \
  6. rm -f google-chrome-stable_current_amd64.deb
  7. RUN export CHROMEDRIVER_VERSION=$(curl --silent https:///LATEST_RELEASE_88) && \
  8. wget -q https:///${CHROMEDRIVER_VERSION}/chromedriver_linux64.zip && \
  9. unzip chromedriver_linux64.zip -d /usr/bin && \
  10. chmod 755 /usr/bin/chromedriver && \
  11. rm -f chromedriver_linux64.zip
  12. RUN pip install --no-cache gevent psycopg2 redis
  13. USER superset

Don't forget to set WEBDRIVER_TYPE and WEBDRIVER_OPTION_ARGS in your config if you use Chrome.

2. SMTP服务器注意服务的端口以及对应的端口是否启用,比如阿里云邮箱的端口就不一样

3. ALERT_REPORTS_NOTIFICATION_DRY_RUN 参数没用设置为false的话,默认不会发送真实的邮件,只会生成发送记录

4. 部署时需要启用celeryBeat,比如k8s需要 = true 

5. worker节点的启动命令:

celery worker --app=.celery_app:app -Ofair -l INFO

6. beat节点的启动命令

celery beat --app=.celery_app:app --pidfile /tmp/ -l INFO

7. WEBDRIVER_BASEURL是截图生成时的地址,WEBDRIVER_BASEURL_USER_FRIENDLY是邮件中的内容给的链接的地址,需要注意区分

  1. # This is for internal use, you can keep http
  2. WEBDRIVER_BASEURL="http://superset:8088"
  3. # This is the link sent to the recipient, change to your domain eg. https://
  4. WEBDRIVER_BASEURL_USER_FRIENDLY="http://localhost:8088"

8. 截图的中文显示问题,原因是容器内默认没有中文字体,可以安装字体(比如 宋体)解决

 解决:

下载字体: 「」/s/FjBvMoCKVtX 点击链接保存,或者复制本段内容,打开「阿里云盘」APP ,无需下载极速在线查看,视频原画倍速播放。

安装/复制字体到容器内:

COPY  /usr/share/fonts/ttf-dejavu/

 9. 时区问题,界面上设置的时间和实际执行时间不一致,执行时间按照UTC格式。

 解决方案,在superset的1.版本增加了定时设置的时区,可以解决这个问题。

github issue: feat: add timezones to report cron by eschutho · Pull Request #15849 · apache/superset ()