在 Flashduty On-call
您可通过以下两种方式获取集成邮件地址,任选其一即可。集成类型都选择邮件 Email,不是 OPNsense。
使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
- 选择 邮件 Email,点击 保存
- 打开生成的集成卡片,复制 邮件地址,再按下文配置推送规则
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 邮件 Email,填写集成名称,复制 邮箱地址
- 按下文配置推送规则
- 配置默认路由并选择协作空间,点击 保存
在 OPNsense 中配置
- SMTP:进入 Services → Monit → Settings,在 General Settings 中启用 Monit,填写 SMTP 服务器的地址、端口和凭据
- 收件人:在 Alert Settings 中新增一条告警,Recipient 填 Flashduty 邮件集成的地址
- 邮件格式:在这条告警的 Mail format 中填入下面一行。默认标题里没有主机名,且服务名与事件之间没有固定分隔,规则难以稳定提取 Alert Key,固定成这种格式后才可以按规则处理
- 恢复通知:Monit 在服务恢复时会发送同一格式的恢复邮件。Not on 保持关闭,使所有事件(包括恢复)都发送邮件
在 Flashduty 中配置推送规则
标题
[$HOST] [$SERVICE] $EVENT 中,$HOST 和 $SERVICE 在故障邮件和恢复邮件里相同,只有 $EVENT 不同,规则把前两段作为 Alert Key,因此恢复邮件可以关闭对应的告警。
- 推送模式 选择 根据规则触发或关闭告警
- 按顺序添加下面 2 条规则。每条规则的条件都是 邮件标题 匹配 给出的正则,Alert Key 提取自 邮件标题
- 默认规则 选择:如果以上规则均不满足,则 丢弃该邮件
邮件标题中的事件
$EVENT 是 Monit 对事件的描述,故障和恢复成对出现:
限制
- 类型与严重程度:告警在 Flashduty 中显示的集成类型是邮件 Email;严重程度统一为 Warning,可以通过 告警处理 Pipeline 按标题调整。
- 其他事件:上表之外的 Monit 事件会作为触发告警处理;如果某类事件没有对应的恢复邮件,请在接收该集成的协作空间开启 超时自动关闭,建议 24 小时。
- 标题格式:修改 Mail format 中的
Subject后,请同步修改规则中的正则。