sentry功能
Sentry是一個實時事件的日志聚合平台。它專門監測錯誤並提取所有有用信息用於分析,不再麻煩地依賴用戶反饋來定位問題。
What’s Sentry?
Sentry fundamentally is a service that helps you monitor and fix crashes in realtime. The server is in Python, but it contains a full API for sending events from any language, in any application。
環境信息
centos7.x
docker-ce Version: 18.09.0
docker-compose version 1.25.4
https://sentry.io
https://github.com/getsentry/sentry
https://github.com/docker-library/docs/tree/master/sentry
sentry9.1.2(優化版)
https://github.com/getsentry/onpremise/releases/tag/9.1.2
https://gitee.com/m0p/onpremise/repository/archive/9.1.2.1?format=tar.gz ###優化原版安裝報錯,設置postgres密碼
sentry架構
部署sentry9.1.2
https://gitee.com/m0p/onpremise/repository/archive/9.1.2.1?format=tar.gz
安裝
chmod +x install.sh
./install.sh ###腳本一鍵檢測基礎環境及初始化sentry,過程中需要填寫認證的賬戶信息(登錄主頁的superuser)
設置認證賬戶
啟動服務
docker-compose up -d //啟動服務
登錄
http://ip:9000/
設置語言
創建項目
注意:提示對應相關配置(保留起來,后續會用到的)
引入sentry sdk測試異常告警
設置sentry郵箱發送告警
注意:這里使用的qq郵箱服務,需要開啟pop3/smtp
新增配置config.yml
config.yml
mail.backend: 'smtp' # Use dummy if you want to disable email entirely
mail.host: 'smtp.qq.com'
mail.port: 25
mail.username: 'mvpbang@qq.com'
mail.password: '客戶端授權碼'
mail.use-tls: false
mail.from: 'mvpbang@qq.com' ## The email address to send on behalf of
停止sentry服務及重新打包升級配置
[root@c_3 ~]# docker-compose stop ###t停止
[root@c_3 ~]# docker-compose build ###重新build
[root@c_3 ~]# docker-compose run --rm web upgrade ###升級配置
[root@c_3 ~]# docker-compose up -d
查看郵箱配置
測試郵件是否可以收到
郵件設置(方法)
環境變量可以寫入.env
SENTRY_SERVER_EMAIL 郵件的發送地址
SENTRY_EMAIL_HOST smtp 服務器主機地址
SENTRY_EMAIL_USER smtp 服務器用戶
SENTRY_EMAIL_PASSWORD smtp 服務器密碼
SENTRY_EMAIL_PORT smtp 服務器端口
SENTRY_EMAIL_USE_TLS 是否使用 TLS,默認為 false
docker-compose.yml 注釋掉 SENTRY_EMAIL_HOST配置,防止覆蓋.env的變量
#update sentry
docker-compose build --pull # Build the services again after updating, and make sure we're up to date on patch version
docker-compose run --rm web upgrade # Run new migrations
docker-compose up -d # Recreate the services
uninstall all
注意:慎用,請明白操作的含義
docker-compose stop
docker rm -f $(docker ps -qa)
docker volume rm $(docker volume ls -q)
docker rmi -f $(docker images -qa)
reference:
https://blog.csdn.net/shenhonglei1234/article/details/100998627
https://www.cnblogs.com/watchslowly/p/11309052.html
https://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=371