Prometheus 实践操作 -> alertmanager

alertmanager

alertmanager 下载

下载后直接将压缩包丢到服务器解压就行,mv重命名

tar -zxvf alertmanager-0.25.0.linux-amd64.tar.gz
mv alertmanager-0.25.0.linux-amd64.tar.gz alertmanager

vim /etc/systemd/system/alertmanager.service

[Unit]
Description=alertmanager

[Service]
ExecStart=/opt/alertmanager/alertmanager --config.file "/opt/alertmanager/alertmanager.yml" 
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target

ExecStart 解压后的目录

alertmanager.yml 配置信息

#全局
global:
#resolve 表示告警已解决,timeout 等待时间 将已恢复的情况推送出去。如果在时间内没有收到相同告警的新触发就会将已恢复的告警情况推送出去
  resolve_timeout: 5m
#告警模板
templates:
  - /opt/*.tmpl
route:
  group_by: ['alertname'] #指标统计模板
  group_wait: 10s  #当alert有告警数据后需要等待10s后初始推送通知
  group_interval: 5m #当第一次推送通知发出后,在间隔(group_interval)时间内,又收到了新的告警,则需要等待5m后推送通知
  repeat_interval: 3h #告警通知推送成功后,如果问题一直未恢复,再次发送通知间隔(repeat_interval)
  receiver: 'default-receiver' #根节点 默认接收者,#webhook:比如你发了一条朋友圈,后端将这条消息推送到所有好友的客户端朋友圈里
  #配置多个webhook推送地址 
  routes: #子路由 
  - receiver: 'webhook-java' #子路由 推送名称
    group_wait: 10s # 等待10s在进行下一个推送
    continue: true  #推送成功后结束跳出本次推送,默认为false 需要设置为true,在可以配置多个推送地址 
  - receiver: 'webhook-dingding' 
    group_wait: 10s    
    continue:false # 最后一个推送地址 可以不用配置continue

receivers:
- name: 'default-receiver' #名称同以上
  webhook_configs: #路径配置
  - url: 'https://ip:8060/dingtalk/webhook1/send'
    
- name: 'webhook-java'
  webhook_configs: #java路径webhook路径配置
  - url: 'http://ip:8080/prometheus/webhook'

告警模板

vim /opt/templet.tmpl

{{ define "templet.default.message" }}
{{- if gt (len .Alerts.Firing) 0 -}}
{{- range $index, $alert := .Alerts -}}
======== 异常告警 ========
告警名称:{{ $alert.Labels.alertname }}
告警级别:{{ $alert.Labels.severity }}
告警机器:{{ $alert.Labels.instance }} {{ $alert.Labels.device }}
告警详情:{{ $alert.Annotations.summary }}
告警时间:{{ $alert.StartsAt.Format "2006-01-02 15:04:05" }}
========== END ==========
{{- end }}
{{- end }}
{{- if gt (len .Alerts.Resolved) 0 -}}
{{- range $index, $alert := .Alerts -}}
======== 告警恢复 ========
告警名称:{{ $alert.Labels.alertname }}
告警级别:{{ $alert.Labels.severity }}
告警机器:{{ $alert.Labels.instance }}
告警详情:{{ $alert.Annotations.summary }}
告警时间:{{ $alert.StartsAt.Format "2006-01-02 15:04:05" }}
恢复时间:{{ $alert.EndsAt.Format "2006-01-02 15:04:05" }}
========== END ==========
{{- end }}
{{- end }}
{{- end }}

prometheus.yml 配置信息 alert默认端口9093

#关联alertmanager
alerting:
  alertmanagers:
    - static_config:
        - targets: ["ip:9093"]
#获取rule,告警信息指标
rule_files:
  - "rules/*.rules"

** alertmanager.yml 配置信息中有一个钉钉推送的配置,如果不需要可以删减掉 下一篇写**

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值