Centos7下Prometheus配置alertmanager告警

一、安装配置alertmanager

alertmanagerDownload

#解压
tar xf alertmanager-0.26.0.linux-amd64.tar.gz  ; mv alertmanager-0.26.0.linux-amd64/ alertmanager/
#修改配置文件alertmanager.yml
route:
  group_by: ['alertname']
  group_wait: 30s
  group_interval: 5m
  repeat_interval: 1h
receivers:
- name: 'mail163'
  email_configs:
##收件人163邮箱,需更改为实际
  - to: 'example@163.com'
##邮件通知中的发件人,可改成 webapp1! 但from必须与auth_username:匹配
    from: 'alertmanager@example.com'
###这里是163邮箱的stmp服务地址,需要配置正确,否则alertmanager无法连接stmp服务,由smtp服务将邮件推送给收件人!!!
    smarthost: 'smtp.163.com:25'
##邮件发件人账号!
    auth_username: 'alertmanager@example.com'
##注意这里是网易邮箱SMTP服务第三方登录邮箱授权码!!
    auth_password: 'XXXXXXXX'
#wq
#systemd管理
vim /etc/systemd/system/alertmanager.service
...
#wq
systemctl daemon-reload ; systemctl enable alertmanager --now
 

二、prometheus打开alertmanager配置并指定alertmanager告警规则文件

#规则文件统一托管
mkdir -p /usr/local/prometheus/rules
##改prometheus配置
...
alerting:
  alertmanagers:
  - static_configs:
    - targets:
      - '192.168.8.130:9093'
...
rule_files:
  - "/usr/local/prometheus/rules/*.yml"

#wq
#重启
systemctl restart prometheus

三、二中告警规则文件示例

cd /usr/local/prometheus/rules
vim node-alerts.yml
groups:
- name: 实例存活告警规则
  rules:
  - alert: 实例存活告警     # 告警规则的名称(alertname)
    expr: up == 0         # expr 是计算公式,up指标可以获取到当前所有运行的Exporter实例以及其状态,即告警阈值为up==0
    for: 30s    # for语句会使 Prometheus 服务等待指定的时间, 然后执行查询表达式。(for 表示告警持续的时长,若持续时长小于该时间就不发给alertmanager了,大于该时>间再发。for的值不要小于prometheus中的scrape_interval,例如scrape_interval为30s,for为15s,如果触发告警规则,则再经过for时长后也一定会告警,这是因为最新的度量指>标还没有拉取,在15s时仍会用原来值进行计算。另外,要注意的是只有在第一次触发告警时才会等待(for)时长。)
    labels:        # labels语句允许指定额外的标签列表,把它们附加在告警上。
      severity: Disaster
    annotations:        # annotations语句指定了另一组标签,它们不被当做告警实例的身份标识,它们经常用于存储一些额外的信息,用于报警信息的展示之类的。
      summary: "节点失联"
      description: "节点断联已超过1分钟!"
- name: 内存告警规则
  rules:
  - alert: "内存使用率告警"
    expr: (node_memory_MemTotal_bytes - (node_memory_MemFree_bytes+node_memory_Buffers_bytes+node_memory_Cached_bytes )) / node_memory_MemTotal_bytes * 100 > 75    # 告警阈值为当内存使用率大于75%
    for: 30s
    labels:
      severity: warning
    annotations:
      summary: "服务器内存报警"
      description: "内存资源利用率大于75%!(当前值: {{ $value }}%)"

- name: 磁盘报警规则
  rules:
  - alert: 磁盘使用率告警
    expr: (node_filesystem_size_bytes - node_filesystem_avail_bytes) / node_filesystem_size_bytes * 100 > 80    # 告警阈值为某个挂载点使用大于80%
    for: 1m
    labels:
      severity: warning
    annotations:
      summary: "服务器 磁盘报警"
      description: "服务器磁盘设备使用超过80%!(挂载点: {{ $labels.mountpoint }} 当前值: {{ $value }}%)"

#wq
systemctl restart prometheus

四、测试达到告警文件条件,是否触发邮件告警

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值