您的位置:首页 > 运维架构 > Docker

Docker部署Sentry+Django(无法收到告警邮件解决)

2017-09-26 21:44 423 查看

docker部署

docker run -d --name sentry-redis redis

docker run -d --name sentry-postgres -e POSTGRES_PASSWORD=secret -e POSTGRES_USER=sentry postgres\

# 生成秘钥,后面的容器执行都使用这个
docker run --rm sentry config generate-secret-key
# r0#ymrm(42#_veib26ywn1wyn=o+qg)^y=9!ya8o2zsq@my84j

# 初始化
docker run -it --rm -e SENTRY_SECRET_KEY='r0#ymrm(42#_veib26ywn1wyn=o+qg)^y=9!ya8o2zsq@my84j' --link sentry-postgres:postgres --link sentry-redis:redis sentry upgrade

# 如果发现无法收到告警邮件,或者可以收到测试邮件,但无法收到告警邮件,配置环境变量如下
docker run -d --name my-sentry \
-p 9000:9000 \
-e SENTRY_SECRET_KEY='r0#ymrm(42#_veib26ywn1wyn=o+qg)^y=9!ya8o2zsq@my84j' \
-e SENTRY_EMAIL_HOST='mail.xxx.com' \
-e SENTRY_EMAIL_PORT='587' \
-e SENTRY_EMAIL_USER='tao.zhang@xxx.com' \
-e SENTRY_EMAIL_PASSWORD='xxx' \
-e SENTRY_EMAIL_USE_TLS=True \
-e SENTRY_SERVER_EMAIL='tao.zhang@xxx.com' \
--link sentry-postgres:postgres \
--link sentry-redis:redis sentry

docker run -d --name sentry-cron  \
-e SENTRY_SECRET_KEY='r0#ymrm(42#_veib26ywn1wyn=o+qg)^y=9!ya8o2zsq@my84j' \
-e SENTRY_EMAIL_HOST='mail.xxx.com' \
-e SENTRY_EMAIL_PORT='587' \
-e SENTRY_EMAIL_USER='tao.zhang@xxx.com' \
-e SENTRY_EMAIL_PASSWORD='xxx' \
-e SENTRY_EMAIL_USE_TLS=True \
-e SENTRY_SERVER_EMAIL='tao.zhang@xxx.com' \
--link sentry-postgres:postgres \
--link sentry-redis:redis sentry run cron

docker run -d --name sentry-worker \
-e SENTRY_SECRET_KEY='r0#ymrm(42#_veib26ywn1wyn=o+qg)^y=9!ya8o2zsq@my84j' \
-e SENTRY_EMAIL_HOST='mail.xxx.com' \
-e SENTRY_EMAIL_PORT='587' \
-e SENTRY_EMAIL_USER='tao.zhang@xxx.com' \
-e SENTRY_EMAIL_PASSWORD='xxx' \
-e SENTRY_EMAIL_USE_TLS=True \
-e SENTRY_SERVER_EMAIL='tao.zhang@xxx.com'  \
--link sentry-postgres:postgres \
--link sentry-redis:redis sentry run  worker


创建管理员账号

docker run -it --rm -e SENTRY_SECRET_KEY='<secret-key>' --link sentry-redis:redis --link sentry-postgres:postgres sentry createuser


配置Django项目

访问sentry(http://ip:9000)

点击new project,选择django确定,按提示在你django项目中进行如下配置

安装raven

pip install raven --upgrade


在settings中增加app

INSTALLED_APPS = (
'raven.contrib.django.raven_compat',
)


在settings中设置(dsn在提示中可以看到,也可以在project设置中看到)

import raven

RAVEN_CONFIG = {
'dsn': 'http://b292277ff0444d12b24208496156f180:f51c87284b284941b5d0e533240c635a@192.168.232.199:9000/3',
}


然后触发代码异常,可以发现sentry异常提示信息

捕获404异常,需要在配置的MIDDLEWARE中加如下配置

'raven.contrib.django.raven_compat.middleware.Sentry404CatchMiddleware',


其他

如docker中提示vim: command not found

apt-get update

apt-get install vim
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: