新发起一个开源项目,整理常用 Prometheus 告警规则,欢迎参与哈

sretalk/prometheus-rules 是一个整理常用 Prometheus 告警规则的开源项目,按 MySQL、Linux、Kubernetes、Prometheus、VictoriaMetrics 等目录组织规则,提供 Prometheus 规则格式和中英文版本,方便团队复用和共建。

作者 巴辉特

很多公司都在使用 Prometheus 和 Nightingale,对于告警规则会有各自的沉淀,新发起一个开源项目,整理常用 Prometheus 告警规则,欢迎大家参与哈。

核心摘要

  • 项目地址是 https://github.com/sretalk/prometheus-rules
  • 这个项目用于整理常用 Prometheus 告警规则,方便不同团队复用、审阅和持续补充。
  • 规则按监控对象或产品目录组织,比如 MySQL、Linux、Kubernetes、Prometheus、VictoriaMetrics 等。
  • 规则文件采用 Prometheus 规则格式,部分目录提供英文版和中文版。
  • 如果使用新版 Nightingale,可以导入 Prometheus 格式的告警规则,减少手工迁移成本。

项目地址

项目地址:https://github.com/sretalk/prometheus-rules

项目简介

每个目录对应一类告警规则,比如 mysql 是 MySQL 相关的告警规则,linux 是 Linux 操作系统相关的告警规则,以此类推。格式全部采用 Prometheus 的规则格式。文件名是 en 后缀的是英文版,zh 后缀的是中文版。

可以把这个项目理解为一个 Prometheus 告警规则库:它不替代你自己的规则评审和阈值调优,但可以提供一批可参考、可复用、可共同维护的初始规则。

初步整理了一些告警规则,各个文件解释如下:

  • automq/en.yaml: ActiveMQ 相关的告警规则(英文版)
  • container/cadvisor-en.yaml: cadvisor 相关的告警规则(英文版)
  • container/cadvisor-zh.yaml: cadvisor 相关的告警规则(中文版)
  • kubernetes/kubernestes-en.yaml: kubernetes 相关的告警规则(英文版)
  • linux/categraf-en.yaml: linux 相关的告警规则,采集器采用 categraf(英文版)
  • linux/categraf-zh.yaml: linux 相关的告警规则,采集器采用 categraf(中文版)
  • linux/node-exporter-en.yaml: linux 相关的告警规则,采集器采用 node-exporter(英文版)
  • linux/node-exporter-zh.yaml: linux 相关的告警规则,采集器采用 node-exporter(中文版)
  • mysql/categraf-en.yaml: mysql 相关的告警规则,采集器采用 categraf(英文版)
  • mysql/mysqld-exporter-en.yaml: mysql 相关的告警规则,采集器采用 mysqld-exporter(英文版)
  • nightingale/v8-en.yaml: nightingale 相关的告警规则,v8 版本(英文版)
  • nightingale/v8-zh.yaml: nightingale 相关的告警规则,v8 版本(中文版)
  • prometheus/en.yaml:prometheus 自身的告警规则(英文版)
  • victoriametrics/alerts-health-en.yaml: victoriametrics 各个组件的基础告警规则(英文版)
  • victoriametrics/alerts-vm-cluster-en.yaml: victoriametrics 集群版相关的告警规则(英文版)
  • victoriametrics/alerts-vmsingle-en.yaml: victoriametrics 单机版相关的告警规则(英文版)

如何使用这些规则

如果你使用 Prometheus,可以直接参考这些 yaml 文件配置告警规则。如果你使用的是 Nightingale,需要使用新版本的 Nightingale;新版本 Nightingale 支持导入 Prometheus 格式的告警规则,把这些文件里的内容导入即可。

使用时建议注意三点:

  1. 先确认采集器和指标名是否一致,比如 Linux 规则区分 categraf 和 node-exporter。
  2. 再检查阈值是否适合自己的生产环境,不要把通用规则当成最终规则。
  3. 最后把规则放进团队自己的评审和发布流程里,避免告警噪声过大。

结论

Prometheus 告警规则沉淀不应该散落在各个公司的私有 yaml 中。把常见规则整理成开源项目,可以让不同团队共享经验,也方便 Nightingale 和 Prometheus 用户复用。如果你手里也有成熟规则,欢迎参与共建。

FAQ

Q1:这个项目里的规则可以直接用于生产吗?

A:可以作为初始参考,但上线前应结合自己的采集器、指标名、阈值和告警策略做确认。

Q2:为什么同一类规则会区分 categraf、node-exporter 或 mysqld-exporter?

A:不同采集器暴露的指标名、标签和语义可能不同,规则需要按采集器口径组织。

Q3:Nightingale 用户怎么使用这些规则?

A:使用支持导入 Prometheus 格式告警规则的新版本 Nightingale,把对应 yaml 文件导入即可。

enjoy :-)

延伸路径

继续看解决方案和产品对比

如果你正在做监控、可观测性或故障定位相关选型,建议从解决方案和产品对比继续往下看。

快猫星云 联系方式 快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云 联系方式
快猫星云