侧边栏壁纸
博主头像
小周的个人博客 博主等级

行动起来,活在当下

  • 累计撰写 60 篇文章
  • 累计创建 11 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

163 邮箱告警

Administrator
2026-05-26 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

1、总览步骤

  • 获取163邮箱授权码

  • 配置Prometheus连接alertmanager

  • Prometheus中定义告警规则

  • 设置alertmanager的报警媒介

  • 触发报警,验证是否收到告警

2、配置邮箱

登录自己的163邮箱,设置授权码

3、修改alertmanager配置

修改alertmanager配置

注:请修改下列配置中的信息,包括邮箱地址,密码等等。

#二进制安装修改/opt/alertmanager/alertmanager.yml
​
#docker安装修改
cd /data/docker-prometheus
​
vim alertmanager/alertmanager.yml
#填入如下内容:
global:
  #163服务器
  smtp_smarthost: 'smtp.163.com:465'
  #发邮件的邮箱
  smtp_from: 'cdring@163.com'
  #发邮件的邮箱用户名,也就是你的邮箱     
  smtp_auth_username: '邮箱地址'
  #发邮件的邮箱密码
  smtp_auth_password: 'your-password'
  #tls验证配置,false为关闭
  smtp_require_tls: false
​
route:
  group_by: ['alertname']
  # 当收到告警的时候,等待group_wait配置的时间10s,看是否还有告警,如果有就一起发出去
  group_wait: 10s
  #  如果上次告警信息发送成功,此时又来了一个新的告警数据,则需要等待group_interval配置的时间才可以发送出去
  group_interval: 10s
  # 如果上次告警信息发送成功,且问题没有解决,则等待 repeat_interval配置的时间再次发送告警数据
  repeat_interval: 4h
  # 全局报警组,这个参数是必选的,和下面报警组名要相同
  receiver: 'email'
​
receivers:
- name: 'email'
  #收邮件的邮箱
  email_configs:
  - to: '邮箱地址@163.com'                # 这里请填写真实的邮箱地址
    send_resolved: true
inhibit_rules:
 - source_match:
     severity: 'critical'
   target_match:
     severity: 'warning'
   equal: ['alertname', 'dev', 'instance']

多个收邮件的邮箱账号配置,如下:

receivers:
- name: 'email'
 #收邮件的邮箱
  email_configs:
  - to: 'user1@example.com'
  - to: 'user2@example.com'
  - to: 'user3@example.com'

检查

cat alertmanager/alertmanager.yml

重启alertmanager或者重新加载配置

#重载
curl -X POST http://localhost:9093/-/reload

4、配置触发器

查看现有触发器

cat prometheus/alert.yml
#增加如下内容
groups:
- name: Prometheus alert
  rules:
  # 对任何实例超过30秒无法联系的情况发出警报
  - alert: 服务告警
    expr: up == 0
    for: 30s
    labels:
      severity: critical
    annotations:
      instance: "{{ $labels.instance }}"
      description: "{{ $labels.job }} 服务已关闭"

访问告警模块的web页面

http://ip地址:9090/alerts

  • INACTIVE:活跃中,即表示正常无告警产生。

  • PENDING:待触发,表示已经达到预设的阈值,但没达到预设的时间。

  • FIRING:表示达到预设的阈值并超过预设的时间触发告警

5、测试告警是否正常

5.1、停止node-exporter

#docker环境
docker stop node-exporter
​
#二进制安装环境
systemctl stop node_exporter

5.2、Prometheus查看

浏览器打开prometheus web管理页面--点击Alerts,

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区