故障、告警和事件
当 Flashduty On-call 接收到告警事件(比如 Zabbix 的一条告警通知),系统会自动触发一条告警,而这条告警将会触发一条故障。多条相似的活跃告警,可能会被聚合到同一条故障中,一起分派、通知和处理。 我们可以简单的理解为:故障,是相似告警的组合,在没有降噪的情况下,故障等同于告警。反过来,降噪的场景下,故障等同于其关联的多条告警。关于告警的降噪模型,请阅读了解告警降噪了解更多。故障严重程度、状态和进度
严重程度
| 级别 | 说明 |
|---|---|
| Info | 轻微,服务本身仍然正常运行,仅做服务状态提醒,无需立即处理 |
| Warning | 警告,服务可能出错或者即将发生问题,应尽早介入避免问题升级 |
| Critical | 严重,服务大面积出错甚至中断,用户受到影响,必须立即介入处理 |
- 事件的严重程度:不同集成来源(如 Zabbix 和夜莺)的告警事件有不同的严重程度枚举值,Flashduty On-call 会按照一定规则映射为以上三种标准严重程度。具体映射关系,请您参阅具体集成的接入文档,如需自定义严重程度,请参阅告警处理。
- 告警的严重程度:等于所关联的事件中最高级别的严重程度。
- 故障的严重程度:等于所关联的告警中最高级别的严重程度。
处理进度
| 状态 | 说明 |
|---|---|
| 待处理 | 故障触发后,处理进度默认为”待处理”,系统会发起自动分派,设置处理人员并进行通知 |
| 处理中 | 任意人员点击 认领故障,处理进度将立即变为”处理中”。在此情况下,故障的处理人员可能处于 已认领 或 未认领 的状态,但至少有一个人处于”已认领”状态。当所有处理人都取消认领,故障处理进度将回退到”待处理” |
| 已关闭 | 任意人员点击 关闭故障 或 故障自动恢复,处理进度将立即变为”已关闭” |
故障状态
告警的状态代表的是故障在原始监控系统中的状态,即”已恢复”或”未恢复”。故障的状态完全由其关联的告警来决定。| 状态 | 说明 |
|---|---|
| 已恢复 | 故障关联的告警均已恢复,故障将自动恢复 |
| 未恢复 | 故障关联的告警至少有一条未恢复,故障将处于未恢复状态 |
故障自动恢复将导致(处理进度)自动关闭;但手动关闭故障,对故障的状态没有任何影响。
故障标签
标签(Labels)是 Flashduty On-call 中很重要的一个基础概念,不同的标签描述了告警、故障在不同维度的信息,并被大量应用于过滤、检索、聚合等场景。标签生成规则
告警的标签提取自原始告警系统上报过来的事件消息体。不同来源有不同的提取方式,大致上,我们采取 应取尽取 的原则。比如对于 Prometheus 来源的告警事件,Flashduty On-call 会提取 Payload 中的 Labels 和 Annotations 信息。 Flashduty On-call 提供了标签增强方案,用于自动化生成标签,前往配置标签增强了解更多。故障生命周期
1
触发新故障
故障可以通过以下方式触发:
- 自动触发:Flashduty On-call 接收到集成上报的告警事件(如 Zabbix 通知),事件自动触发一条告警,告警自动触发一条故障
- 手动触发:在 Flashduty On-call 控制台点击 创建故障 按钮,填写标题、描述、严重程度等信息,触发一条新故障
2
分派与通知
新故障触发以后,Flashduty On-call 将依次匹配所属协作空间下的分派策略。匹配到分派策略之后,系统会将故障分派给个人、团队成员或者值班人员并进行通知。您可以针对不同时间段,或者不同类型的故障设置不同的分派策略,以达到灵活分派的效果。系统允许您在一个分派策略下,设置多个分派环节。如果当前环节的分派人员,在指定时间内,没有完成故障的确认和处理,系统将自动升级到下一环节。您可以在分派策略中,灵活安排通知方式,Flashduty On-call 支持非常多的群聊和单聊通知通道。单聊是一对一的推送渠道(如语音、短信和邮件),群聊是将消息推送到消息群中(如飞书、钉钉和 Slack),并对分派人员进行额外提醒。
如果您将故障分派给了一个没有人 On-call 的值班表(轮空),系统将不会给任何个人发起通知,但如果您配置了群聊通道,仍然会给该群聊推送消息。
3
认领和解决
On-call 人员收到通知后,可以立即进行认领。您可以在 语音电话、即时消息 中认领故障。认领后,故障处理进度将变为 处理中。关闭故障 将导致处理进度变为 已关闭。如果故障关联的告警自动恢复,故障也将自动关闭。相反,如果您手动关闭了故障,将导致故障关联的所有告警自动关闭。这意味着,这些告警将不会再合入任何新的事件。
故障时间线
任一故障都有一个时间线,用于回溯故障历史不同时刻发生的变化和操作。比如故障在什么时间点,以什么通道通知到了谁,以及通知的结果。
触发故障
通过集成触发故障
Flashduty On-call 已经支持大部分常见监控系统,包括 Prometheus、Zabbix、夜莺 以及云监控等,前往告警集成查看具体操作步骤。通过 API 触发故障
Flashduty On-call 提供了一个自定义事件标准,允许您通过标准协议上报告警,适用于任何未适配的监控系统。详细文档请阅读自定义告警事件。通过邮件触发故障
Flashduty On-call 提供了一个邮件集成,允许您通过发送邮件来上报告警,适用于所有支持邮件提醒的监控系统。详细文档请阅读邮件集成指引。通过控制台触发故障
控制台点击 创建 按钮,发起故障创建。| 字段 | 是否必须 | 描述 |
|---|---|---|
| 故障标题 | 是 | 一句话指明发生了什么 |
| 严重程度 | 是 | 选择 Critical、Warning、Info 三个枚举值之一 |
| 协作空间 | 是 | 故障归属,如果是在协作空间下创建的故障,则不需要选择 |
| 分派方式 | 是 | 策略分派:选择协作空间下的策略进行分派 直接分派:可以选择个人和值班表进行分派 |
| 故障描述 | 否 | 故障的细节描述,支持 Markdown 语法 |