文章目录
一、使用方法
1.alertmanager介绍和安装
Alertmanager 处理客户端应用程序(例如 Prometheus 服务器)发送的警报。它负责对它们进行重复数据删除、分组和路由到正确的接收器集成,包括静音、抑制、聚合和通过电子邮件、待命通知系统和聊天平台等方法发送通知。
docker拉取alertmanager镜像:
docker pull prom/alertmanager:latest
2.alertmanager分组告警规则
官网alertmanager地址:https://github.com/prometheus/alertmanager
介绍的很详细,有兴趣的可以了解一下。
alertmanager.yml文件格式参考:
global:
# The smarthost and SMTP sender used for mail notifications.
resolve_timeout: 5m #处理超时时间,默认为5min
smtp_smarthost: 'smtp.163.com:25' # 邮箱smtp服务器代理
smtp_from: 'abc@163.com' # 发送邮箱名称
smtp_auth_username: 'abc@163.com' # 邮箱名称
smtp_auth_password: '1234567890' # 邮箱密码或授权码
smtp_require_tls: false
# 定义邮件内容模板
#templates:
# - '/etc/alertmanager/*.tmpl'
#每个警报都会进入的根路由,根路径不能有任何的匹配,因为它是入口点,所以提醒,不要匹配任何子路由的发送给别人。
route:
receiver: 'Operations-mails' #默认分组即所有分组都未匹配到
group_by: ['hostmonitor', 'wavedetection']
group_wait: 30s #当传入的警报创建一组新的警报时,至少等待30秒以发送初始通知。这样可以确保您获得该启动同组的多个警报烧成后不久,另一是分批在一起第一通知。
group_interval: 30s #
repeat_interval: 2m #如果警报已成功发送,等待多久重新发送它们
#以上所有属性都被所有子路由继承,并且可以在每个子路由上覆盖。
routes:
- match_re:
service: ^(foo1|foo2|baz)$
receiver: Operations-mails
- match:
team: Operations
receiver: Operations-mails
routes:
- match:
severity: critical
receiver: Operations-supervise-mails
- match:
team: Develop
receiver: Development-mails
routes:
- match:
severity: critical
receiver: Development-supervise-mails
inhibit_rules:
- source_matchers:
- severity="critical"
target_matchers:
- severity="warning"
equal: ['hostmonitor', 'wavedetection']
receivers:
- name: 'Operations-mails'
email_configs:
- to: 'zacharyzzj@outlook.com'
#html: '{{ template "test.html" . }}' # 设定邮箱的内容模板
headers: { Subject: "[WARN1] 运维报警邮件"} # 接收邮件的标题
- name: 'Operations-supervise-mails'
email_configs:
- to: 'zacharyzzj@outlook.com'
headers: { Subject: "[WARN2] 运维报警邮件"}
- name: 'Development-mails'
email_configs:
- to: 'zacharyzzj@outlook.com'
headers: { Subject: "[WARN3] 开发报警邮件"}
- name: 'Development-supervise-mails'
email_configs:
- to: 'zacharyzzj@outlook.com'
headers: { Subject: "[WARN4] 开发报警邮件"}
3.grafana介绍和安装
grafana 是开源可视化和分析软件。它允许您查询、可视化、警报和探索您的指标、日志和跟踪,无论它们存储在哪里。它为您提供了将时间序列数据库 (TSDB) 数据转换为富有洞察力的图表和可视化的工具。与您的团队一起创建、探索和共享漂亮的仪表板。
docker拉取alertmanager镜像:
docker pull grafana/grafana:latest
grafana默认版本中没有一些插件,需要进行安装仪表盘才能正常显示,可以命令行安装,我这边用的是dockfile把插件打包到镜像里面。
Dockerfile文件内容:
FROM grafana/grafana:latest
#WORKDIR /usr/share/grafana #工作目录
COPY ./grafana.ini /etc/grafana/
#时钟图
Run grafana-cli plugins install grafana-clock-panel
# 饼图
Run grafana-cli plugins install grafana-piechart-panel
# 气泡图
Run grafana-cli plugins install digrich-bubblechart-panel
# worldPing插件
Run grafana-cli plugins install raintank-worldping-app
# json数据
Run grafana-cli plugins install grafana-simple-json-datasource
##zabbix报警
#Run grafana-cli plugins install alexanderzobnin-zabbix-app
总结
安装过程就不过多叙述了,网上一搜一堆,需要考虑到以下几点:
1.alertmanager通过标签匹配发给不同组不同人邮件,需要考虑的是抑制问题,如何避免邮件轰炸问题?
2.grafana也是可以发邮件告警的,又与alertmanager邮件告警区别是什么?