动态设置分派人员
实现告警基于标签动态进行分派,与您自研系统打通。
适配场景
告警责任人在源监控系统中维护且频繁调整,希望及时同步到 Flashduty。
场景1:
客户 A 自研大数据任务系统,内部人员可以在此平台新建各类数据批处理任务,每个任务可以设定第一责任人和第二责任人。当批处理任务处理失败时,系统会优先告警通知第一责任人,如果超过30分钟此告警还没有恢复,则升级为第二责任人。
场景2:
客户 B 使用 Zabbix 做主机监控,并且针对每一条主机设定了一个负责人 tag。客户希望改主机告警时,能够根据此 tag 通知到对应的责任人。
场景3:
客户 C 有一套自研监控系统,设定了很多告警策略,每一条策略都设定通知到某个微信群。该客户决定将事件响应迁移至 Flashduty,但希望仍然保留源监控系统中策略到微信群的关系,并且能够将告警依赖此关系动态通知到微信群。
实现方式
添加特定标签或 Query 参数,用于覆盖 Flashduty 中的分派对象,实现动态分派。
参数样式如下:
- 替换分派人员:
- 参数名:需要满足正则:^layer_person_reset_(\d)_emails$,环节数字从0开始。eg.layer_person_reset_0_emails代表替换分派策略环节1的分派人员。
- 参数值:分派人员邮件地址,多个地址使用“,”分割。eg.zhangsan@flashcat.cloud,lisi@flashcat.cloud,将人员替换为张三和李四。
- 参数位置:Query 参数或标签值。eg.夜莺告警设定此标签,或通过标签增强等方式自动生成标签。
- 替换企微群聊机器人:
- 参数名:需要满足正则:^layer_webhook_reset_(\d)_wecoms$,环节数字从0开始。eg.layer_webhook_reset_0_wecoms代表替换分派策略环节1的企微群聊机器人。
- 参数值:目标群聊机器人 token,多个 token 使用“,”分割。eg.bbb025a0-e2e8-4b79-939d-82c91a275b06,将群聊机器人替换成此token对应的机器人。
- 参数位置:Query 参数或标签值。eg.夜莺告警设定此标签,或通过标签增强等方式自动生成标签。
:::tip
故障触发时,Flashduty 按照已有的分派策略进行匹配。匹配到分派策略后,按照此策略中的环节进行分派或升级,如果设定上述参数,系统会自动替换分派对象或群聊通道。
所匹配的分派策略中,除了分派对象和群聊目标发生变更,其他内容维持不变,相当于一个模板分派策略。
:::
推送示例
设置模板分派策略
为协作空间配置一个分派策略。如下图所示,该空间只设定一个分派环节,分派对象为头铁科技,同时推送 token 为 5b96 结尾的企微群聊。
为告警设定标签
我们以自定义告警事件集成为例,向目标协作空间推送一条示例告警。设定了 layer_person_reset_0_emails 标签,期望将环节一的分派人员替换为 guoyuhang 和 yushuangyu。设定了 layer_webhook_reset_0_wecoms 标签,期望将环节一的微信群聊 token 替换为 d9c0 结尾的 token。
请求内容如下:
curl --location --request POST 'https://api.flashcat.cloud/event/push/alert/standard?integration_key=your-integration-key' \
--header 'Content-Type: application/json' \
--data-raw '{
"event_status": "Warning",
"alert_key": "lasdfl2xzasd0262",
"description": "cpu idle lower than 20%",
"title_rule": "$cluster::$resource::$check",
"labels": {
"service": "engine",
"cluster":"nj",
"resource":"es.nj.01",
"check":"cpu.idle<20%",
"metric":"node_cpu_seconds_total",
"layer_person_reset_0_emails": "guoyuhang@flashcat.cloud,yushuangyu@flashcat.cloud",
"layer_webhook_reset_0_wecoms":"90dbb66b-af39-4235-956c-636a9c1ed9c0"
}
}'
查看故障分派时间线
如下图所示,目标故障正常触发并进行分派。故障的分派人员和目标群聊都按照预期进行了替换。
常见问题
我的监控系统没有这些标签怎么办?
- 如果您的系统支持主动添加标签,比如 Prometheus 或者 夜莺,建议您直接在告警策略处增加特定标签。
- 如果您的系统已经有相关标签,但格式或命名不同。比如,您的主机带有团队标签,您需要根据团队来找到对应的责任人,这种情况下您可以使用标签增强功能,根据团队标签生成负责人相关标签,具体请参考 配置标签增强。