Prometheus快速入门(六):alertmanager邮件告警

介绍

Alertmanager是一个独立的告警模块,接收Prometheus等客户端发来的警报,之后通过分组、删除重复等处理,并将它们通过路由发送给正确的接收器;告警方式可以按照不同的规则发送给不同的模块负责人,Alertmanager支持Email, Slack,等告警方式, 也可以通过webhook接入钉钉等国内IM工具。

本文主要介绍邮件告警方式

首先我们回顾下端口:

  • AlertManager端口 9093
  • Prometheus端口 9090
  • Grafana端口 3000
  • springboot应用端口 8091

安装步骤

官网按需下载:https://prometheus.io/download/


我这里使用的是这个版本:

解压后如下:

配置

步骤如下:

  1. AlertManager配置,修改alertmanager.yml
global:
 resolve_timeout: 5m      #处理超时时间,默认为5min
 smtp_smarthost: 'smtp.163.com:25'
 smtp_from: 'yiyuzhou@163.com'  #邮件发送地址
 smtp_auth_username: 'yiyuzhou@163.com'  #邮件发送地址用户名
 smtp_auth_password: 'WNBEXFNTDQS12345' #邮件发送地址授权码
 smtp_require_tls: false
route:
 group_by: ['alertname']
 group_wait: 20s  # 最初即第一次等待多久时间发送一组警报的通知
 group_interval: 5m # 在发送新警报前的等待时间
 repeat_interval: 5m # 发送重复警报的周期 对于email配置中,此项不可以设置过低,否则将会由于邮件发送太多频繁,被smtp服务器拒绝
 receiver: 'default'
receivers:
- name: 'default'
 email_configs:
 - to: '387690662@qq.com'    #邮件接收地址
   send_resolved: true

注意事项!

邮件发送地址中授权码配置:
  1. Prometheus报警规则配置,新增rule.yml文件
    在prometheus目录下 vi rule.yml
groups:
- name: cms-node  #之前配置好的springboot jvm应用
  rules:
  - alert: cms-node
    expr: sum(up{job="CMS-BOOT"}) == 0    #该规则寓意 监控是否启动,1为启动
    for: 15s
    labels:
      severity: warning

  1. Prometheus.yml文件增加AlertManager 9093端口
    修改prometheus.yml配置文件,打开alerting 和 rule_files 文件指定
# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets:
       - localhost:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
    - "rule.yml"

scrape_configs:
   - job_name: 'CMS-BOOT'
    scrape_interval: 5s
    metrics_path: '/actuator/prometheus'
    static_configs:
      - targets: ['192.168.1.128:8091']

运行

添加守护进程,为了方便启动

# vim /etc/systemd/system/alertmanager.service
[Unit]
Description=alertmanager
Documentation=https://prometheus.io/
After=network.target
  
[Service]
Type=simple
User=prometheus
ExecStart=/home/alertmanager/alertmanager  --config.file=/home/alertmanager/alertmanager.yml
Restart=on-failure
  
[Install]
WantedBy=multi-user.target

systemctl enable alertmanager.service
systemctl start alertmanager

访问http://ip:9093
如果成功访问,表示启动成功!并可查看配置信息

至此,当服务停止时,会收到告警邮件

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容