0

0

Linux系统监控高级教程_PrometheusGrafana自定义告警

冷炫風刃

冷炫風刃

发布时间:2026-01-03 14:44:02

|

247人浏览过

|

来源于php中文网

原创

Prometheus告警需配合Alertmanager实现去重分组路由,Grafana告警为独立体系;PromQL规则应使用rate/irate、加label过滤、设持续时间阈值以减少误报。

linux系统监控高级教程_prometheusgrafana自定义告警

想让 Prometheus + Grafana 告警真正管用,光配个阈值远远不够——得知道指标从哪来、规则怎么写、告警怎么收敛、通知怎么不漏不扰。

搞懂告警链路:从采集到通知不是一条直线

Prometheus 不直接发通知,它只负责“发现异常”;Alertmanager 才是告警的调度中心,负责去重、分组、静默、路由和派发;Grafana 的告警是独立体系(v8+ 后逐渐转向内置 Alerting),和 Prometheus 原生告警不互通。混用时务必分清职责:

  • Prometheus rules.yml 定义“什么算问题”(如:100 * (1 - avg by(instance)(rate(node_cpu_seconds_total{mode="idle"}[5m]))) > 90
  • Alertmanager 配置 routereceivers,决定“谁在什么时候收到哪类告警”
  • Grafana 告警需在面板或独立告警规则中配置,数据源必须是其支持的(Prometheus、Mimir、Loki 等),且触发逻辑走 Grafana 后端

写好 PromQL 告警规则:别让误报毁掉可信度

高频误报往往源于 PromQL 表达式没考虑时间窗口、实例差异或瞬时抖动。几个关键点:

  • rate()irate() 计算速率,别直接比原始计数器(如 node_network_receive_bytes_total
  • 聚合前先加 label 过滤,避免跨节点/服务误合并(例如加 {job="node-exporter", instance=~"prod-.*"}
  • 给 CPU、内存等基础指标留出缓冲空间,比如 “持续 3 分钟 > 92%” 比 “> 90%” 更稳,用 count_over_time(your_condition[3m]) == 3 实现
  • 对磁盘使用率这类缓慢增长指标,用 node_filesystem_avail_bytes / node_filesystem_size_bytes 比固定字节数更合理

Alertmanager 分组与静默:让运维不被消息淹没

一个宿主机宕机,可能同时触发 CPU、内存、网络、进程多个告警——全发出来就是噪音。靠 group_byinhibit_rules 控制节奏:

存了个图
存了个图

视频图片解析/字幕/剪辑,视频高清保存/图片源图提取

下载
  • group_by: [alertname, job, instance] 把同实例的同类告警压成一条
  • 设置 group_wait: 30s(首次发前等)、group_interval: 5m(后续同组再发间隔)、repeat_interval: 4h(彻底静默前重复提醒)
  • 用抑制规则(inhibition)让高优先级告警压制低优先级:比如 instance_down 触发后,自动抑制该实例上所有 node_disk_io_time_seconds_total 告警
  • 日常维护前,用 Alertmanager UI 或 API 创建临时静默(silence),按标签匹配,精确到分钟级

对接真实通知渠道:微信钉钉飞书不能只靠 webhook

原生 Alertmanager 只支持 email、PagerDuty、Slack 等。国内常用 IM 工具需自建中转:

  • 钉钉/飞书:用开源项目 prometheus-webhook-dingtalk,部署后在 Alertmanager receivers 中配置 webhook URL
  • 微信:通过企业微信应用发送,需获取 agentidsecretcorpid,可用轻量脚本封装 API 调用,或选用 PrometheusAlert
  • 关键提示:所有 webhook 请求务必开启 HTTPS + TLS 验证;敏感 token 别硬编码进配置,改用 file_sd_configs 动态加载或环境变量注入

告警不是设完就完的事——要定期清理失效规则、校准阈值、回溯漏报案例、更新联系人列表。真正的稳定性,藏在每次告警之后的复盘里。

相关专题

更多
登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6051

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

786

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1052

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

1105

2024.03.01

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1786

2024.08.16

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1345

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

700

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

194

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.5万人学习

Git 教程
Git 教程

共21课时 | 2.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号