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