- 配置邮箱
- mail.backend: ‘smtp’ # Use dummy if you want to disable email entirely
- NOTE: The following 2 configs (mail.from and mail.list-namespace) are set
- through SENTRY_MAIL_HOST in sentry.conf.py so remove those first if
- you want your values in this file to be effective!
- The email address to send on behalf of
- 设置报警规则
- 制造一些很慢的访问
- 遇到的坑
在前面的探索中,我们看到了如何在Sentry管理界面中查看性能、错误等信息。但如果我们手动在页面查看发生了哪些错误,会非常耗时耗力,因此可以配置报警功能Alert
配置邮箱
首先我们配置一个可以通过 Sentry
服务发送邮件的邮箱配置
大部分的
Sentry配置
可以通过Sentry管理界面
配置,但是有些默认配置,比如代表Sentry服务的邮箱
,我们不希望通过Sentry管理界面
修改,但可以通过下面文件修改cd onpremise
vim ./sentry/config.yml
选择一个邮箱账号作为
Sentry服务邮箱账号
,比如我选择的是我的阿里企业邮箱,找到他们的- 发件服务地址:例如阿里云企业邮箱是
smtp.mxhichina.com
- 该邮箱账号
- 该邮箱密码
- 发件服务地址:例如阿里云企业邮箱是
- 将这些信息填写到
onpremise/sentry/config.yml
文件中
```vimmail.backend: ‘smtp’ # Use dummy if you want to disable email entirely
mail.host: ‘smtp.qq.com’ // 已qq邮箱为例 mail.port: 465 // 25 也可以 mail.username: ‘xxx@xxx.com’ // 邮箱 mail.password: ‘xxxxxx’ // 邮箱授权码 https://service.mail.qq.com/cgi-bin/help?subtype=1&id=28&no=1001256 mail.use-tls: false mail.use-ssl: true //
NOTE: The following 2 configs (mail.from and mail.list-namespace) are set
through SENTRY_MAIL_HOST in sentry.conf.py so remove those first if
you want your values in this file to be effective!
The email address to send on behalf of
mail.from: ‘xxx@xxx.com’ // 与邮箱名一致
- 停止 `Sentry` 服务
```bash
docker-compose down
启动
Sentry
服务docker-compose up -d
测试
Sentry
服务能否发送邮件- 点击
Sentry管理界面左上角头像图标
,在下拉框中选择Admin
,在接下来的菜单中选择Mail
- 可以看到刚才配置的邮箱信息
- 在页面最底部点击
Send a test email to xxx@xxx.xxx
- 在
xxx@xxx.xxx
邮箱中查看是否收到Sentry
发送的邮件
- 点击
设置报警规则
我们可以设置一些报警规则,比如性能、错误,和对应的阈值。当触发报警规则后,会发送一封邮件到指定的邮箱,然后可以点击查看报警详情
- 在
Sentry管理界面 -> Alerts
页,可以查看、新增、编辑、删除报警规则 - 点击
Create Alert Rule
按钮 - 在新建报警规则页,选择一个监控的内容,分为
Errors
、Performance
、Other
- 以
Performance
的LCP
为例,选择之,并点击Set Conditions
- 在
Filter events
条件设置中,可以对evironment
筛选,选择All
- 在
2. Select function and time interval
,可以设置报警程序定时任务的间隔时间,以及在间隔时间内监控的内容,选择P50 over 1 minute
,表示每1分钟总结一次,如果超过50%
的transaction
超过了阈值,则报警 - 接下来设置
阈值
,在3. Set thresholds to trigger alert
中,分别设置Critical(危急)
、Warning(警告)
、Resolved(满足)
的阈值,为了容易看到效果,我们分别设置500
、400
、300
,单位毫秒
- 在
4. Perform actions
中设置报警后发送的邮件接收人 - 在
5. Add a rule name and team
设置本条报警规则的名称(例如,“Sentry监控到:超过50%的样本的LCP超过了 500ms !”)和可以编辑这条报警规则的人,名称会体现在邮件内容中
制造一些很慢的访问
打开浏览器cra-test页面,在 devtools -> network -> 节流模式
中选择 slow 3G
,多刷新几次页面,这些页面加载速度很慢,便会触发报警,很快我们会收到邮件,点击可以查看详情
遇到的坑
- 测试邮件通过了,但是警告邮件收不到!!!!!😂搞了很久想不明白
解决
效果
- 配置文件出错;是因为配置文件代码没有顶格;因此,将#注释符去掉后代码要顶格不要留有空格
./sentry/config.yml