在 Flashduty On-call
您可通过以下两种方式获取集成推送地址,任选其一即可。
使用专属集成
- 进入 Flashduty 控制台,选择 协作空间,打开一个协作空间
- 选择 配置 → 集成数据 → 专属集成,点击 新增一个集成
- 选择 pgDash,点击 保存
- 打开生成的集成卡片,复制 推送地址
使用共享集成
- 进入 Flashduty 控制台,选择 集成中心 → 告警事件
- 选择 pgDash,填写集成名称
- 配置默认路由并选择协作空间;创建后可在 路由 中增加更多规则
- 点击 保存,复制生成的 推送地址
在 pgDash 中配置
pgDash SaaS 版和自托管版的配置方式相同,Webhook 需要 pgDash 2.4.11 及以上版本。
1
设置告警规则
- 登录 pgDash,在服务器列表中选择要接入的服务器
- 在左侧菜单选择 Alerts,按需添加服务器、数据库、表或表空间级别的告警规则,每条规则可设为警告(warning)或严重(critical)
2
填写 Webhook 地址
- 在该服务器 Alerts 页面的 Notification Settings 中,找到 Webhook 地址输入框
- 填写 Flashduty 集成的完整推送地址(包含
integration_key)。使用https地址时证书必须有效 - 点击 Update 保存
告警生命周期
pgDash 的 Webhook 是边沿触发的:只有服务器的告警状态发生变化时才发送通知,每次通知都带上该服务器当前全部的告警项(
alerts 数组);所有告警消除时,发送一次 alerts 为空的通知。
因此 Flashduty 按服务器名称 server 计算 Alert Key,同一服务器的所有通知落在同一条告警上:
- 有告警项的通知:触发或更新告警,标题和描述替换为最新的告警项
alerts为空的通知:告警恢复
server 或 alerts 字段时 Flashduty 会拒绝。
告警等级
告警内容
- 标题:
服务器名: 告警规则描述,取第一条crit告警项(没有时取第一条告警项);有多条告警项时附加(+N more) - 描述:pgmetrics 报告时间(UTC),以及每条告警项的等级、规则描述、当前值、对象名称、链接;查询级别告警附带 SQL 文本(截断到 500 字符)。最多列出 50 条告警项
- 标签:
server、check(标题所取告警项的规则描述)、resource(该告警项的对象名称)、link(该告警项的 pgDash 链接)、alert_count(当前告警项数量)、source(固定为pgdash)
排查问题
- pgDash 没有发送通知:pgDash 只在告警状态变化时发送;状态不变不会重复发送。确认告警规则已触发,且 Webhook 设置在 Alerts 页面而不是 Change Alerts 页面
- 投递超时:pgDash 要求 3 秒内响应,超时后最多重试 3 次;请确认 pgDash 服务器(自托管版)可以访问推送地址
- 告警没有恢复:只有该服务器全部告警消除时才会恢复;如仍有其他告警项触发,告警保持打开