查看“Alertmanager”的源代码
←
Alertmanager
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
=* my email = @126.com 授权密码 =* intro = 告警能力在Prometheus的架构中被划分为两个部分,在Prometheus Server中定义告警规则以及产生告警,Alertmanager组件则用于处理这些由Prometheus产生的告警。Alertmanager即Prometheus体系中告警的统一处理中心。 Alertmanager提供了多种内置第三方告警通知方式,同时还提供了对Webhook通知的支持,通过Webhook用户可以完成对告警更多个性化的扩展。 =* ins= ==** using docker or docker-composer== 用自带的 compose https://hub.docker.com/r/prom/alertmanager/dockerfile *** docker only docker pull prom/alertmanager docker run --name alertmanager -d -p 9093:9093 -v /path/to/config.yml:/etc/alertmanager/conf/config.yml prom/alertmanager =* conf = <pre> rules vim node-up.rules groups: - name: node-up rules: - alert: node-up expr: up{job="node-exporter"} == 0 for: 15s labels: severity: 1 team: node annotations: summary: "{{ $labels.instance }} 已停止运行超过 15s!" 说明一下:该 rules 目的是监测 node 是否存活,expr 为 PromQL 表达式验证特定节点 job="node-exporter" 是否活着,for 表示报警状态为 Pending 后等待 15s 变成 Firing 状态,一旦变成 Firing 状态则将报警发送到 AlertManager,labels 和 annotations 对该 alert 添加更多的标识说明信息,所有添加的标签注解信息,以及 prometheus.yml 中该 job 已添加 label 都会自动添加到邮件内容中,更多关于 rule 详细配置可以参考 #告警解除 </pre> =* 自定义告警规则= ==** CPU load 自定义告警规则== <pre> - alert: high_load-85per expr: (100-(avg(irate(node_cpu_seconds_total{mode="idle"}[5m]))by (job)) * 100) > 80 #expr: sum(avg without (cpu)(irate(node_cpu{mode!='idle'}[5m]))) by (instance) > 0.81 #expr: node_load1 > 0.2 for: 10m labels: severity: page annotations: summary: "Instance {{ $labels.instance }} under high load" description: "{{ $labels.instance }} of job {{ $labels.job }} is under high load more than 12 minutes." FIRING 才会 send email </pre> ==** 内存自定义告警规则== <pre>#rules file 注意空格在前面哦 - alert: hostMemUsageAlert expr: ((node_memory_MemTotal_bytes -(node_memory_MemFree_bytes+node_memory_Buffers_bytes+node_memory_Cached_bytes) )/node_memory_MemTotal_bytes ) * 100 > 90 #expr: (node_memory_MemTotal - node_memory_MemAvailable)/node_memory_MemTotal > 0.85 for: 1m labels: severity: page annotations: summary: "Instance {{ $labels.instance }} MEM usgae high" description: "{{ $labels.instance }} MEM usage above 85% (current value: {{ $value }})" </pre> 成功的自定义报警规则 2020 https://www.shared-code.com/article/84 这个成功的 上面的不成功 ((node_memory_MemTotal_bytes -(node_memory_MemFree_bytes+node_memory_Buffers_bytes+node_memory_Cached_bytes) )/node_memory_MemTotal_bytes ) * 100 > 90 [https://www.shared-code.com/article/84 常用prometheus告警规则模板(三] [https://www.bookstack.cn/read/prometheus-book/alert-prometheus-alert-rule.md 自定义Prometheus告警规则] ==** 磁盘自定义告警== <pre> - alert: LowDiskSpaceNodeFilesystemUsage expr: 100 - (node_filesystem_free_bytes{mountpoint="/",fstype=~"ext4|xfs"} / node_filesystem_size_bytes{fstype=~"ext4|xfs"} * 100) > 80 for: 1m labels: severity: warning annotations: summary: "Instance {{ $labels.instance }} :{{ $labels.mountpoint }} 分区使用率过高" description: "{{ $labels.instance }} : {{ $labels.job }} :{{ $labels.mountpoint }} 这个分区使用大于百分之80% (当前值:{{ $value }})" </pre> =* see also= https://prometheus.io/docs/alerting/alertmanager/ [https://blog.csdn.net/qq_25178661/article/details/86690729 good-prometheus + AlertManager 实现对多node节点CPU和内存信息的监控] [https://blog.51cto.com/jerrymin/2333824 Prometheus配合Alertmanager报警系统] [https://www.cnblogs.com/longcnblogs/p/9620733.html Prometheus 和 Alertmanager实战配置] [https://www.kancloud.cn/huyipow/prometheus/527563 alertmanager报警规则详解] https://www.ctolib.com/docs/sfile/prometheus-book/alert/prometheus-alert-rule.html 自定义Prometheus告警规则
返回至
Alertmanager
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
我的导航
关于我
shell
python
ops
linuxchina.net
blog.linuxchina
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息