Sentry 接入飞书通知
· 阅读需 3 分钟
概览
总共分三个步骤:
- 通过飞书机器人助手设置 webhook 触发器,发起一个 HTTP 请求,触发群组机器人群内消息通知
- 启动 sentry webhook 通知,并设置对应 webhook 地址为 飞书触发器的 webhook 地址
- 设置 sentry alert 信息,开启消息通知到 webhook,因为 sentry 类型限制,默认设置下,同类型的预警 5 分钟内不通知,仅显 示在后台
创建飞书机器人指令
设置并获取指令 webhook 地址(该 webhook 地址用于 sentry 后台 webhook 设置)
将以下 JSON 填写到 触发器 JSON 中,暴露 sentry 传递的对象变量给下游的操作 :::
{
"event": {
"exception": {
"values": [
{
"stacktrace": {
"frames": []
}
}
]
},
"type": "Error",
"title": "Event Title",
"user": {
"data": {
"time": "",
"environment": ""
}
}
},
"level": "error",
"project": "payssion-dashboard-frontend",
"url": ""
}
复制该 webhook 地址并保存 :::
sentry 后台:启动项目 webhook 通知,并将上面获得的 webhook 地址设置到对应的 webhook 设置中
开启后台 webhook 警告,新增警报规则开启 webhook 通知
设置飞书机器人指令发起 HTTP 请求通知群组机器人
在请求体中输入一下 JSON,并手动替换其中的变量
- event.user.data.time
- project
- event.type
- event.tile
- event.exception.values[0].stacktrace.frames
- event.user.data.environment
- url :::
{
"msg_type": "post",
"content": {
"post": {
"zh_cn": {
"title": "event.user.data.time 【 project 】异常通知:",
"content": [
[
{
"tag": "text",
"text": "【 event.type 】event.tile"
}
],
[
{
"tag": "text",
"text": "event.exception.values[0].stacktrace.frames"
}
],
[
{
"tag": "text",
"text": "【环境】:"
},
{
"tag": "text",
"text": "event.user.data.environment"
}
],
[
{
"tag": "text",
"text": "【操作】:"
},
{
"tag": "a",
"text": "查看详情",
"href": "url"
}
]
]
}
}
}
}