概念
使用sentry之前,需要弄个清楚几个概念
- event
直译是"事件", 是可操作数据的基本单位. 每一次日志输出就产生一个event. event并不一定就是错误, 如果日志记录级别设置很低, 那么后台会产生很多的event, 所以正确的设置日志级别很重要 - issue
直译是"工单"或者"问题", 是同一类event的聚合. 某一个错误可能因为重复执行而被记录多出, 在sentry会自动聚合到一起, 方便处理. 通常我们操作的对象就是issue - DSN
DSN即客户端密钥, 用来进行客户端和服务器的通信. DSN是一个url, 包含一个公钥一个私钥, 项目标记和服务器地址, 比如https://1703147af2094458bevb1bfadcfa1c2:7e00a1d4cbd745c0b780451c3586d7f4@sentry.io/1545
. 这类DSN是私密的, 还有一类是非私密的, 在sentry后台中显示为DSN(public), 给前端项目使用.
整个错误日志监控系统包括客户端和服务端, Sentry是服务端的名称, 客户端名称是Raver, 需要两者配合才能工作. - Raven
整个错误日志监控系统包括客户端和服务端, Sentry是服务端的名称, 客户端名称是Raver, 需要两者配合才能工作.
配置
创建项目
- 进入sentry系统后台, 点击右上角新建项目
- 在配置应用框架页面, 点击可以查看各个语言或框架的接入文档(可以忽略这一步)
-
点击左上角项目名称, 进入项目首页, 可以看到页面显示"Waiting for events…"
获取DSN
在"项目设置"页, 在左侧列表中点击"客户端密钥", 进入页面
拷贝DSN, 后端的是DSN, 前端是DSN(public)
-
以python为例, 执行pip install raven安装客户端后, 执行raven test DSN, 如果一切顺利, 可以在sentry后台项目首页看到新增了一条测试消息
配置警报
- 在"项目设置"页面, 在左侧列表中点击"警报", 进入警报配置页
- 点击规则标签页, 可以看到已有一个规则, 当事件首次发生时告警
- 根据需要修改规则,告警规则的配置相当灵活, 且可以对多个条件进行与或判断
集成告警
- 在"项目设置"页面, 在左侧列表中点击"所有集成"
-
勾选需要接入的类型,比如Mail
sentry管理后台的使用
-
自定义过滤
sentry提供了丰富的过滤选项, 默认过滤条件是"Unresolved Issues", 用户也可以自己组合过滤条件, 并保存成个人或团队的默认选项
- 页面实时更新
上图中间的按钮可以开启或关闭issues页面的实时刷新, -
统计和概览
上图是系统管理员页面, 可以看到系统调用, 等待中的任务队列等的情况, 在个人帐号首页也能看到项目的统计信息.