PrometheusAlert安装及使用

PrometheusAlert简介:

Prometheus Alert 是开源的运维告警中心消息转发系统,支持主流的监控系统 Prometheus,日志系统 Graylog
和数据可视化系统 Grafana 发出的预警消息。通知渠道支持钉钉、微信、华为云短信、腾讯云短信、腾讯云电话、阿里云短信、阿里云电话等。

  • PrometheusAlert 特性
    1.支持多种消息来源,目前主要有prometheus、graylog2、graylog3、grafana。
    2.支持多种类型的发送目标,支持钉钉、微信、腾讯短信、腾讯语音、华为短信。
    3.针对Prometheus增加了告警级别,并且支持按照不同级别发送消息到不同目标对象。
    4.简化Prometheus分组配置,支持按照具体消息发送到单个或多个接收方。
    5.增加手机号码配置项,和号码自动轮询配置,可固定发送给单一个人告警信息,也可以通过自动轮询的方式发送到多个人员且支持按照不同日期发送到不同人员。
    6.增加 Dashboard,暂时支持测试配置是否正确
  • 部署方法 PrometheusAlert 可以部署在本地和云平台上,支持windows、linux、公有云、私有云、混合云、容器和kubernetes。
示例场景:
使用场景(Prometheus+alertmanager+prometheusAlert)
示例应用范围:飞书群机器人消息推送,钉钉群机器人消息推送
示例消息发送模式: Promtheus规则被触发,prometheus将告警信息发送给alertmanager,alertmanager
通过发送邮箱将详细发送给收件人,并调用prometheusalert的接口,prometheusalert接口收到
alertmanager请求之后根据模板发送消息至对应的webhook地址。

PrometheusAlert官网:https://github.com/feiyu563/PrometheusAlert

安装部署

本地部署

1.下载插件

mkdir /data/monitor/prometheusalert/ -p && cd /data/monitor/prometheusalert/
wget https://gh.api.99988866.xyz/https://github.com/feiyu563/PrometheusAlert/releases/download/v4.8.2/linux.zip

2.安装部署

unzip linux.zip
mv linux/*  /data/monitor/prometheusalert/
chmod +x /data/monitor/prometheusalert/PrometheusAlert

3.修改prometheusalert配置

vim /data/monitor/prometheusalert/conf/app.conf
#设置插件名字
appname = Prometheus监控
#登录用户名
login_user=root
#登录密码
login_password=admin
#监听地址
httpaddr = "0.0.0.0"
#监听端口
httpport = 8080
#告警消息标题
title=Prometheus告警
#是否开启钉钉告警通道,可同时开始多个通道0为关闭,1为开启
open-dingding=1
#默认钉钉机器人地址
ddurl=https://oapi.dingtalk.com/robot/send?access_token=xxxxx
#是否开启 @所有人(0为关闭,1为开启)
dd_isatall=1
#是否开启飞书告警通道,可同时开始多个通道0为关闭,1为开启
open-feishu=1
#默认飞书机器人地址
fsurl=https://open.feishu.cn/open-apis/bot/v2/hook/xxx-xxxx-xxx-xxx...

4.启动prometheusalert
前台

cd /data/monitor/prometheusalert/
./PrometheusAlert

后台

cd /data/monitor/prometheusalert/
nohup ./PrometheusAlert &

容器部署

  • docker启动
 docker run -d \
-p 18080:8080 \
-e PA_LOGIN_USER=root \
-e PA_LOGIN_PASSWORD=admin \
-e PA_TITLE=Prometheus告警 \
-e PA_OPEN_FEISHU=1 \
-e PA_OPEN_DINGDING=1 \
--name prometheusalert
feiyu563/prometheus-alert:latest
  • docker-compose文件启动

1.创建prometheusalert配置文件

vim /data/monitor/prometheusalert/config/app.conf
#---------------------↓全局配置-----------------------
appname = PrometheusAlert
#登录用户名
login_user=123
#登录密码
login_password=123
#监听地址
httpaddr = "0.0.0.0"
#监听端口
httpport = 8080
runmode = dev
#设置代理 proxy = http://123.123.123.123:8080
proxy =
#开启JSON请求
copyrequestbody = true
#告警消息标题
title=云监控测试
#日志文件路径
logpath=logs/prometheusalertcenter.log
#是否开启钉钉告警通道,可同时开始多个通道0为关闭,1为开启
open-dingding=1
#默认钉钉机器人地址
ddurl=https://oapi.dingtalk.com/robot/send?access_token=xxxx-xxxx-xxx...
#是否开启 @所有人(0为关闭,1为开启)
dd_isatall=1
#是否开启飞书告警通道,可同时开始多个通道0为关闭,1为开启
open-feishu=1
#默认飞书机器人地址
fsurl=https://open.feishu.cn/open-apis/bot/v2/hook/xxxx-xxxx-xxxx-xxxx...

2.创建服务yml文件

vim /data/monitor/docker-compose-prometheusalert.yml
version: '3'
services:
  prometheusalert:
    image: feiyu563/prometheus-alert:latest
    container_name: prometheusalert
    restart: always
    ports:
      - 8080:8080
    volumes:
    - /etc/localtime:/etc/localtime
    - /data/monitor/prometheusalert/config:/app/conf 
    - /data/monitor/prometheusalert/logs:/app/logs

3.启动

docker-compose -f /data/monitor/docker-compose-prometheusalert.yml up -d

配置prometheusalert接入告警。

1.创建群聊机器人
  • 创建飞书机器人

推送消息的群——设置——机器人——添加机器人——自定义机器人——设置机器人名字,说明——添加——复制webhook地址——完成
在这里插入图片描述

  • 创建钉钉机器人

群设置——只能群助手——添加机器人——设置——自定义机器人——设置机器人名称——设置安全(关键字,IP,加签)——完成
在这里插入图片描述

2.访问prometheusalert获取webhook地址

(模板管理——自定义模板——飞书模板或钉钉模板)
在这里插入图片描述
模板为json语言编写,可通过自己编写json文件模板来自定义模板内容。
示例模板文件:

{{ range $k,$v:=.alerts }}告警状态:【**{{$v.status}}**{{if eq $v.status "resolved"}}{{$v.labels.alertname}}告警恢复】
所属平台:{{$v.labels.pingtai}}
主机内网IP:[{{$v.labels.instance}}]
恢复模块:[{{$v.labels.job}}]
当前值: {{$v.annotations.value}}
详细信息:{{$v.annotations.summary}} 已恢复正常 {{else}}{{$v.labels.alertname}}异常告警】
所属平台:{{$v.labels.pingtai}}
告警级别:{{$v.labels.severity}}
主机内网IP:[{{$v.labels.instance}}]
故障模块:[{{$v.labels.job}}]
当前值: {{$v.annotations.value}}
详细信息:{{$v.annotations.description}} {{end}} {{ end }}
3.alertmanager添加prometheusalert配置

vim alertmanager.yml
在告警发送配置中增加如下配置:

webhook_configs:
 - url: "prometheusalert_webhook地址1(飞书机器人)"
 - url: "prometheusalert_webhook地址2(钉钉机器人)"

在这里插入图片描述

4.prometheus添加alertmanager配置
vim prometheus.yml
  alertmanagers:
  - scheme: http
    static_configs:
    - targets:
      - "172.17.34.124:9093"
5.告警效果测试
  • 告警

飞书
在这里插入图片描述
钉钉
在这里插入图片描述

  • 恢复

飞书
在这里插入图片描述
钉钉
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值