01
Prometheus + Alertmanager
规则写在 YAML 里,靠 GitOps 管。
规则配在页面上,按业务组分权限。
它擅长什么
Prometheus 依然是最好的时序底座之一,Alertmanager 的分组与静默模型设计得很干净。规模不大、团队习惯 GitOps、告警规则数量可控时,这套组合完全够用,而且不用多引入组件。
什么时候换夜莺
当告警规则要交给非 SRE 的业务团队维护、需要按业务组分权限、需要电话短信这类媒介,或者数据不只在 Prometheus 里的时候,夜莺更省事——它就是把这几件事做厚的。
换的信号
- 告警规则要交给非 SRE 的业务团队维护
- 凌晨三点得有人接电话,webhook 叫不醒人
- 数据已经不全在 Prometheus 里了
rules.yml + alertmanager.yml
- alert: MysqlReplicaLag expr: mysql_slave_lag_seconds > 30 for: 5m labels: { team: dba }route: receiver: dba-webhook group_by: [alertname]
夜莺 · 告警规则
- 名称
- MySQL 副本延迟
- 条件
- mysql_slave_lag_seconds > 30,持续 5m
- 业务组
- DBA
- 通知
- 电话、短信、钉钉
- 谁能改
- DBA 组
- 你
- 一句话创建:mysql-prod 副本延迟超过 30 秒持续 5 分钟,电话通知 DBA 组
- 夜莺 AI
- PromQL 和阈值已生成。业务组我不猜,请从下拉里选一个,选好就创建。
Prometheus
VictoriaMetrics
ElasticSearch
ClickHouse
夜莺
钉钉
飞书