Prometheus配合Alertmanager报警系统

栏目: 数据库 · 发布时间: 5年前

内容简介:指定服务监听alertmanager端口及报警规则目录创建一个服务down的报警规则/usr/local/prometheus/prometheus --config.file=prometheus.yml --web.enable-lifecycle --web.external-url=

Promethous+Alertmanager+Grafana

监控技术栈如下:

Prometheus(最新版):基于TSDB的微服务指标采集&报警;

Alertmanager:报警服务;

Grafana(>=5.x):监控报表展示。

一、软件部署

1.1 Prometheus安装

# wget https://github.com/prometheus/prometheus/releases/download/v2.5.0/prometheus-2.5.0.linux-amd64.tar.gz
# tar zxvf prometheus-2.5.0.linux-amd64.tar.gz -C /usr/local/
# cd /usr/local/
# ln -s prometheus-2.5.0.linux-amd64 prometheus
# chown work:work prometheus* -R
# cd prometheus
# ls
# console_libraries consoles LICENSE NOTICE prometheus prometheus.yml promtool

1.2 Alertmanager安装

# wget https://github.com/prometheus/alertmanager/releases/download/v0.15.3/alertmanager-0.15.3.linux-amd64.tar.gz
# tar zxvf alertmanager-0.15.3.linux-amd64.tar.gz 
# ln -s alertmanager-0.15.3.linux-amd64 alertmanager
# chown work:work alertmanager* -R
# cd alertmanager
# ls
# alertmanager alertmanager.yml amtool LICENSE NOTICE

1.3 Grafana安装

# wget wget https://dl.grafana.com/oss/release/grafana-5.3.4-1.x86_64.rpm 
# rpm -Uvh grafana-5.3.4-1.x86_64.rpm 
# systemctl restart grafana.service

二、服务配置

2.1 Prometheus配置

指定服务监听alertmanager端口及报警规则目录

vim /usr/local/prometheus/prometheus.yml

#配置alertmanager信息
alerting:
  alertmanagers:
  - static_configs:
    - targets: ['localhost:9093']
#配置告警规则目录
rule_files:
  - /usr/local/prometheus/rules/*.rules

2.2 Rules策略配置

创建一个服务down的报警规则

vim /usr/local/prometheus/rules/service_down.rules

groups:
- name: ServiceStatus #规则组名称   
  rules:
  - alert: ServiceStatusAlert  #单个规则的名称
    expr: up == 0   #匹配规则, up==0
    for: 10s        #持续时间
    labels:         #标签
      project: zhidaoAPP    #自定义lables
    annotations:            #告警正文
      summary: "Instance {{ $labels.instance }} down"
      description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 1 minutes."

2.3 Alertmanager配置

vim /usr/local/alertmanager/alertmanager.yml

#全局配置,比如配置发件人
global:
  resolve_timeout: 5m    #处理超时时间,默认为5min
  smtp_smarthost: 'smtp.163.com:25'  # 邮箱smtp服务器代理
  smtp_from: 'zabbix@minminmsn.com' # 发送邮箱名称
  smtp_auth_username: 'zabbix@minminmsn.com' # 邮箱名称
  smtp_auth_password: '12345678xxOO'              # 邮箱密码或授权码

# 定义模板信息,可以自定义html模板,发邮件的时候用自己定义的模板内容发
templates:
  - 'template/*.tmpl'

# 定义路由树信息,这个路由可以接收到所有的告警,还可以继续配置路由,比如project: zhidaoAPP(prometheus 告警规则中自定义的lable)发给谁,project: baoxian的发给谁
route:
  group_by: ['alertname'] # 报警分组依据
  group_wait: 10s         # 最初即第一次等待多久时间发送一组警报的通知
  group_interval: 60s     # 在发送新警报前的等待时间
  repeat_interval: 1h     # 发送重复警报的周期 对于email配置中,此项不可以设置过低,否则将会由于邮件发送太多频繁,被smtp服务器拒绝
  receiver: 'email'       # 发送警报的接收者的名称,以下receivers name的名称

# 定义警报接收者信息
receivers:
  - name: 'email'  # 路由中对应的receiver名称
    email_configs: # 邮箱配置
    - to: 'admin@minminmsn.com'   # 接收警报的email配置
      #html: '{{ template "test.html" . }}'  # 设定邮箱的内容模板

三、服务启动

3.1 Prometheus启动

/usr/local/prometheus/prometheus --config.file=prometheus.yml --web.enable-lifecycle --web.external-url= http://127.0.0.1:9090 --storage.tsdb.path=/data1/prometheus/data &

3.2 Alertmanager启动

/usr/local/alermanager/alertmanager &

四、报警验证

4.1 Prometheus

Prometheus配合Alertmanager报警系统

4.2 Rules

Prometheus配合Alertmanager报警系统

4.3 Alerts

Prometheus配合Alertmanager报警系统

4.4 Mails

Prometheus配合Alertmanager报警系统

五、参考


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

六度分隔

六度分隔

邓肯·J·瓦茨 / 陈禹 / 中国人民大学出版社 / 2011-3 / 46.00元

正如副标题所表明的,《六度分隔:一个相互连接的时代的科学》的基本内容是介绍一门正在形成中的新科学——关于网络的一般规律的科学。有这样一门科学吗?它的内容和方法是什么?近年来,这门学科有什么实质性的进展吗?在《六度分隔:一个相互连接的时代的科学》中,作者根据自己的亲身经历娓娓道来,用讲故事的方式,对于这些问题给出了令人信服的回答 除了简要的背景和总结以外,《六度分隔:一个相互连接的时代的科学》......一起来看看 《六度分隔》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换