alertmanager 报警工具

AlertManager 简介

Prometheus将数据采集和报警分成了两个模块。报警规则配置在Prometheus Servers上,然后发送报警信息到AlertManger,然后我们的AlertManager就来管理这些报警信息,包括silencing、inhibition,聚合报警信息过后通过email、PagerDuty、HipChat、Slack 等方式发送消息提示。

  • 让AlertManager提供服务总的来说就下面3步:

    • 安装和配置AlertManger
    • 配置Prometheus来和AlertManager通信
    • 在Prometheus中创建报警规则
  • prometheus报警触发流程

    • prometheus采集数据
    • 判断当前数据指标有没有到达阈值
    • 如果触发,根据配置文件中的for字段判断持续时间
    • 是的话发送给alertmanager
    • alertmanager经过
    • 分组
    • 抑制
    • 静默等一些列处理流程
    • 发送给指定的接收器, 如:邮件、微信等

部署AlertManager

wget https://github.com/prometheus/alertmanager/releases/download/v0.17.0/alertmanager-0.17.0.linux-amd64.tar.gz
tar xvf alertmanager-0.17.0.linux-amd64.tar.gz
mv alertmanager-0.17.0.linux-amd64 /usr/local/alertmanager
cd /usr/local/alertmanager/

配AlertManager

# 编辑主配置文件
vim /usr/local/alertmanager/alertmanager.yml
global: 
  resolve_timeout: 5m #解析的超时时间
  smtp_smarthost: 'smtp.163.com:25' #邮箱smtp地址
  smtp_from: 'USERNAME@163.com' #来自哪个邮箱发出的
  smtp_auth_username: 'USERNAME@163.com' #邮箱的用户名
  smtp_auth_password: 'PASSWORD' #这里是邮箱的授权密码,不是登录密码
  smtp_require_tls: false #是否启用tls

route:  #设置报警的分发策略,通过route实现告警的分配,所有的报警都会发送到mail这个接收器中
  group_by: ['alertname'] #采用哪个标签进行分组
  group_wait: 60 #分组等待的时间为10秒,收到报警后并不是马上发送出去,看看还有没有alertname这个标签的报警发过来,如果有的话,一起发出报警
  group_interval: 60 #上一组报警与下一组报警的间隔时间为10秒
  repeat_interval: 24h #重复报警时间
  receiver: 'mail'
  
receivers: #报警接收人
- name: 'mail' #谁来接收这个报警
  email_configs: #email的配置
  - to: 'misterbyj@163.com' #报警接收人的邮件地址
    send_resolved: true  #发送恢复通知
  
inhibit_rules: #抑制规则,报警抑制角色,用于报警收敛,发送关键报警
  - source_match: #匹配我这个报警发生后,其它报警被抑制掉,
      severity: 'critical' #报警级别为critical
    target_match: #其它报警
      severity: 'warning' #报警级别为warning
    equal: ['alertname', 'dev', 'instance'] #对哪些报警进行抑制,要匹配这里的标签

# 检查alertmanager.yml配置文件是否正确
/usr/local/alertmanager/amtool check-config /usr/local/alertmanager/alertmanager.yml

# 生成服务文件
cat > /usr/lib/systemd/system/alertmanager.service << EOF
[Unit]
Description=prometheus

[Service]
Restart=on-failure
ExecStart=/usr/local/alertmanager/alertmanager --config.file=/usr/local/alertmanager/alertmanager.yml

[Install]
WantedBy=multi-user.target
EOF

# 启动服务
systemctl daemon-reload
systemctl start  alertmanager
systemctl enable alertmanager
ps -ef|grep alertmanager

alertmanager与prometheus集成

  • prometheus与alertmanager通信
    • 在prometheus server上定义监控规则
    • 当监控的阈值超过定义的阈值后会发送报警
    • 推送报警规则给alertmanager
    • 通过alertmanager的流程处理发送给报警接收人
# 创建报警规则目录
mkdir -p /usr/local/prometheus/rules

vim /usr/local/prometheus/prometheus.yml
# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      - 127.0.0.1:9093

rule_files:
  - "rules/*.yml" #报警规则存放文件夹

配置监控实例,监控job的状态

vim /usr/local/prometheus/rules/unreachable.yml
groups: 
  - name: general.rules #同性质的一组报警,监控当前节点的指标的组名称
    rules:
    - alert: InstanceDown
      expr: up == 0 #每一个实例都会有一个up的状态,up是默认赋予被监控端的一个指标,0为失败状态,1为存活状态
      for: 1m #当前报警的持续时间,1分钟之内如果都是up == 0的状态,才会发出报警
      labels: #设置报警级别
        severity: error #报警级别为error级别
      annotations: #注释信息
        summary: "Instance {{ $labels.instance }} down"
        description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 5 minutes."

/usr/local/prometheus/promtool check config /usr/local/prometheus/prometheus.yml
kill -hup `ps -ef |grep prometheus|grep -v grep|awk '{print $2}'`        
image.png

报警状态

  • 报警状态

    • inactive-已收到报警
    • pending-已经触发报警阈值,但未满足告警持续时间 #/usr/local/prometheus/rules/unreachable.yml 中设置的for时间
    • firing-已触发阈值,且满足报警持续时间,将报警发送给报警接收者
  • 报警的触发流程

    • 第一次发现expr: up == 0,prometheus此时将报警状态设置为inactive
    • 第二次发现expr: up == 0,prothemeus不会立即通知alertmanager,要等待for: 1m的持续时间,如果1分钟后还是expr: up == 0的状态,prometheus会将pending状态变更为firing状态,变为firing状态时,prometheus将通知alertmanager发送报警
    • 发送报警的时间取决于数据采集时间+报警评估时间

报警邮件

恢复邮件

报警收敛-静默

静默是一种简单的特定时间的静音提醒机制,使用标签来匹配这一批是不发送的

添加静默
http://192.168.21.37:9093/#/alerts

右上角-->new silence-->start开始时间-->end结束时间-->matchers匹配
-->name匹配名称-->填写job-->value值-->填写linux-node-->
creator名称-->填写静默名称-->点击create

作用
阻止预期的报警,通常是在系统上线或维护阶段使用
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,723评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,080评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,604评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,440评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,431评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,499评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,893评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,541评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,751评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,547评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,619评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,320评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,890评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,896评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,137评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,796评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,335评论 2 342

推荐阅读更多精彩内容

  • Prometheus Alertmanager 概述 Alertmanager与Prometheus是相互分离的两...
    YichenWong阅读 28,977评论 1 9
  • 主机数据收集 主机数据的采集是集群监控的基础;外部模块收集各个主机采集到的数据分析就能对整个集群完成监控和告警等功...
    梅_梅阅读 6,654评论 0 7
  • 转载自公众号【工匠小猪猪的技术世界】原文地址https://mp.weixin.qq.com/s/Tnx60stl...
    一帅阅读 4,624评论 0 2
  • 背景目前阶段,我司主要监控告警系统使用的是 Zabbix,对于基础设施及应用服务状态监控,Zabbix 内建或由社...
    dennyhong阅读 11,799评论 5 21
  • ①百度网盘的会员可以提供免费解压,快速下载的问题,所以,我们愿意付费给它。当然了,也有图免费的不愿意买的,但百度网...
    李小妹mei阅读 203评论 1 0