Prometheus 告警规则库:附处置步骤
8 个服务的 238 条 Prometheus 告警规则,涵盖 Kubernetes、Linux、MySQL、Redis 等。每条都有 PromQL 触发条件、级别、持续时间和处置步骤,可免费下载为 Prometheus 规则文件。
最后校对于
告警规则只做了一半的事:凌晨三点响起来的时候,值班的人还得知道先查什么。这个规则库收录了夜莺集成模板里的 238 条 PromQL 告警规则,每一条都附有写给值班人的处置步骤。规则使用标准 exporter 的指标名(node_exporter、kube-state-metrics、mysqld_exporter 等),所以既能用在夜莺里,也能直接给 Prometheus 使用。
| 服务 | 规则数 | 指标来源 | 下载 |
|---|---|---|---|
| Kubernetes | 77 | kube-state-metrics, cAdvisor (kubelet), apiserver | kubernetes.yml |
| Prometheus | 30 | Prometheus's own /metrics, Prometheus Operator | prometheus.yml |
| Linux | 76 | node_exporter, Categraf, Telegraf | linux.yml |
| MySQL | 11 | mysqld_exporter, Categraf | mysql.yml |
| Redis | 12 | redis_exporter, Categraf | redis.yml |
| Elasticsearch | 11 | elasticsearch_exporter, Categraf | elasticsearch.yml |
| MongoDB | 8 | mongodb_exporter | mongodb.yml |
| Windows | 13 | windows_exporter, Categraf | windows.yml |
按告警名查处置手册
下面这些是 kubernetes-mixin 和 kube-prometheus 使用的标准告警名,每个都有单独一页,写明含义、常见原因、规则和处置步骤。
- Kubernetes: KubeClientCertificateExpiration, KubeAPIErrorBudgetBurn, KubeAggregatedAPIDown, KubeContainerWaiting, KubeCPUOvercommit, KubeDaemonSetMisScheduled, KubeDeploymentReplicasMismatch, KubeDeploymentRolloutStuck, KubeHpaMaxedOut, KubeJobFailed, KubeletDown, KubeletTooManyPods, KubeMemoryOvercommit, KubeNodeNotReady, KubePersistentVolumeFillingUp, KubePodCrashLooping, KubePodNotReady, KubeQuotaAlmostFull, KubeStatefulSetReplicasMismatch
- Prometheus: PrometheusOperatorRejectedResources, PrometheusBadConfig, PrometheusNotConnectedToAlertmanagers, PrometheusRemoteWriteBehind, PrometheusRemoteWriteDesiredShards, PrometheusRuleFailures, PrometheusTargetLimitHit
规则格式
- 每个服务一页,列出全部规则的 PromQL 触发条件、级别、持续时间和处置步骤,按产生指标的采集器分组。有单独页面的标准告警名,在服务页上只留简短条目和链接。
- 每个
.yml文件都是标准 Prometheus 规则文件,并通过了promtool check rules。级别写在severity标签(critical / warning / info),摘要在annotations.summary,annotations.runbook_url指向对应的规则页。 - 阈值只是起点,不是对所有环境都合适的推荐值。启用前请逐条确认。
为什么要附处置步骤
没有处置步骤的规则,等于把排查工作整个丢给值班的人。这里的步骤写明了先看什么(上次重启前的日志、退出码、慢查询列表、复制线程状态)以及通常怎么修,让告警自带第一步响应。
来源与许可
部分规则表达式改编自社区规则集:kubernetes-mixin(Apache-2.0)、kube-prometheus(Apache-2.0)、awesome-prometheus-alerts(CC BY 4.0)。处置步骤与其余规则来自夜莺的集成模板(Apache-2.0)。