我是靠谱客的博主 舒心眼睛,最近开发中收集的这篇文章主要介绍prometheus使用alertmanager实现报警功能一、安装altermanager二、配置钉钉告警,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
前言
在运维工作中,最重要的事情就是监控,监控中最重要的就是报警功能,这样可以使我们收到告警之后及时处理,以免事态发展到无可挽回的地步,下面就给大家分享一下prometheus中的告警如何实现吧。
一、安装altermanager
1、解压安装包
tar zxf alertmanager-0.21.0.linux-amd64.tar.gz -C /data/
#查看是否安装成功
cd /data/alertmanager-0.21.0.linux-amd64/
./alertmanager --version
2、修改配置文件
#配置邮件告警
cd /data/alertmanager-0.21.0.linux-amd64/
vim alertmanager.yml
global:
smtp_smarthost: 'smtp.163.com:25'
smtp_from: '15010741839@xxx.com'
smtp_auth_username: '15010741839@xxx.com'
smtp_auth_password: 'xxxxxxxx'
templates:
- 'template/*.tmpl'
route:
receiver: 'mail'
group_wait: 1s
group_interval: 5s
repeat_interval: 1h
group_by: ['alertname']
receivers:
- name: 'mail'
email_configs:
- to: '15010741839@xxx.com'
send_resolved: true
html: '{{ template "test.html" . }}'
#配置邮件发送模板
{{ define "email.html" }}
{{ range .Alerts }}
告警实例: {{ .Labels.instance }} <br>
告警状态:{{ .Status }} <br>
告警级别: {{ .Labels.severity }} 级 <br>
告警类型: {{ .Labels.alertname }} <br>
触发阀值:{{ .Annotations.value }} <br>
告警详情: {{ .Annotations.description }} <br>
告警时间:{{ .StartsAt.Format "2006-01-02 15:04:05" }} <br>
{{ end }}{{ end }}
3、配置prometheus
cd /data/prometheus-2.19.1.linux-amd64/
vim prometheus.yml
alerting:
alertmanagers:
- static_configs:
- targets: ["192.168.84.128:9093"]
#指定报警规则文件
rule_files:
- rule.yml
#配置报警条件
vim rule.yml
groups:
- name: port_status
rules:
- alert: "端口状态监测"
expr: probe_success{job="port_status"} == 0
for: 1s
labels:
severity: "High"
annotations:
description: "Instance {{ $labels.instance }} 端口down掉"
value: "{{ $value }}"
- name: web_status
rules:
- alert: "网站状态监测"
expr: probe_http_status_code == 0
for: 1s
labels:
severity: "High"
annotations:
description: "Instance {{ $labels.instance }} 网站无法访问"
value: "{{ $value }}"
- name: process
rules:
- alert: "进程状态监测"
expr: namedprocess_namegroup_num_procs == 0
for: 1s
labels:
severity: "High"
annotations:
description: "Instance {{ $labels.instance }} 服务进程死亡!"
value: "{{ $value }}"
4、重启prometheus
nohup ./alertmanager --config.file=alertmanager.yml &
5、测试告警
手动关闭服务,就可以收到报警了。
二、配置钉钉告警
1、配置钉钉机器人
在钉钉上创建一个群,点击群设置
ip填写Prometheus服务端的出口ip
保存api地址,下面会用到。
2、安装webhook-dingtalk
tar zxf prometheus-webhook-dingtalk-1.4.0.linux-amd64.tar.gz -C /data/
3、配置
cd /data/prometheus-webhook-dingtalk-1.4.0.linux-amd64
mv config.example.yml config.yml
vim config.yml
修改这两处即可。
#编写告警模板
vim contrib/templates/legacy/template.tmpl
{{ define "__subject" }}[Prometheus监控告警:{{ .Alerts.Firing | len }}] {{ end }}
{{ define "__text_list" }}{{ range . }}
告警实例: {{ (.Labels.instance) }}
实例群组: {{ (.Labels.job) }}
告警级别:{{ (.Labels.severity) }}
告警类型:{{ (.Labels.alertname) }}
触发阈值: {{ (.Annotations.value) }}
告警详情: {{ (.Annotations.description) }}
告警时间: {{ dateInZone "2006.01.02 15:04:05" (.StartsAt) "Asia/Shanghai" }}
{{ end }}
{{ end }}
{{ define "__text_resolve_list" }}{{ range . }}
告警实例: {{ (.Labels.instance) }}
实例群组: {{ (.Labels.job) }}
告警类型:{{ (.Labels.alertname) }}
告警详情: {{ (.Annotations.description) }}
告警时间: {{ dateInZone "2006.01.02 15:04:05" (.StartsAt) "Asia/Shanghai" }}
恢复时间: {{ dateInZone "2006.01.02 15:04:05" (.EndsAt) "Asia/Shanghai" }}
{{ end }}
{{ end }}
{{ define "ding.link.title" }}{{ template "__subject" . }}{{ end }}
{{ define "ding.link.content" }}
{{ if gt (len .Alerts.Firing) 0 }}#### 监控平台发现报警信息!
--------------------------
{{ template "__text_list" .Alerts.Firing }}
{{ end }}
{{ if gt (len .Alerts.Resolved) 0 }}#### 警报解除!
---------------------------
{{ template "__text_resolve_list" .Alerts.Resolved }}
{{ end }}
{{ end }}
4、启动
nohup ./prometheus-webhook-dingtalk &
5、配置alertmanager
cd /data/alertmanager-0.21.0.linux-amd64/
vim alertmanager.yml
global:
resolve_timeout: 5m
route:
receiver: 'dingding'
group_by: ['alertname']
group_wait: 10s
group_interval: 10s
repeat_interval: 1h
receivers:
- name: 'dingding'
webhook_configs:
- url: 'http://192.168.3.158:8060/dingtalk/webhook1/send'
send_resolved: true
6、手动触发告警测试即可。
最后
以上就是舒心眼睛为你收集整理的prometheus使用alertmanager实现报警功能一、安装altermanager二、配置钉钉告警的全部内容,希望文章能够帮你解决prometheus使用alertmanager实现报警功能一、安装altermanager二、配置钉钉告警所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复