[]() []() []()
PrometheusAlert是开源的运维告警中心消息转发系统,支持主流的监控系统Prometheus、Zabbix,日志系统Graylog2,Graylog3、数据可视化系统Grafana、SonarQube。阿里云-云监控,以及所有支持WebHook接口的系统发出的预警消息,支持将收到的这些消息发送到钉钉,微信,email,飞书,腾讯短信,腾讯电话,阿里云短信,阿里云电话,华为短信,百度云短信,容联云电话,七陌短信,七陌语音,TeleGram,百度Hi(如流),Kafka等。
PrometheusAlert 后端使用了 beego 框架,前端使用了 AdminLTE (基于 Bootstrap 和 Jquery)模板。
项目文件:
├── cmd: 脚本
├── conf: 配置
├── controllers:控制器
├── db:默认的 sqlite 数据
├── doc:文档
├── docker-entrypoint.sh:容器运行入口文件
├── Dockerfile
├── example:示例文件
├── go.mod
├── go.sum
├── LICENSE
├── main.go
├── Makefile
├── models:模型
├── PrometheusAlert:二进制文件
├── PrometheusAlertVoicePlugin
├── README.MD
├── routers:路由
├── static:静态资源
├── swagger
├── tests:测试
├── views:前端模板
└── zabbixclient
你可以通过以下方式快速开始:
应用信息和构建相关的命令都写入了 Makefile,请确保安装make
, git
, go
命令。如有特定需要,请自行修改 Makefile。
默认构建生成的文件是 ./PrometheusAlert
。
# 默认
make
# 构建
make build
# 清理构建
make clean
# 运行 fmt/vet/test
make format/vet/test
# 构建镜像,推送镜像,运行镜像
make docker/docker-push/docker-test
# 本地测试运行
make clean && make build
cp conf/app-example.conf conf/app.conf
./PrometheusAlert
# 测试应用健康
curl http://localhost:8080/health
通过下载编译好的发行版本,解压后运行。
#打开PrometheusAlert releases页面,根据需要选择需要的版本下载到本地解压并进入解压后的目录
如linux版本(https://github.com/feiyu563/PrometheusAlert/releases/download/v4.9.1/linux.zip)
# wget https://github.com/feiyu563/PrometheusAlert/releases/download/v4.9.1/linux.zip && unzip linux.zip &&cd linux/
#运行PrometheusAlert
# ./PrometheusAlert (#后台运行请执行 nohup ./PrometheusAlert &)
#启动后可使用浏览器打开以下地址查看:http://127.0.0.1:8080
#默认登录帐号和密码在app.conf中有配置
# 使用 supervisor 来守护启动。
# 配置参考 example/supervisor/prometheusalert.ini
# 如果需要将日志输出到控制台,请修改 app.conf 中 logtype=console
配置文件 app.conf 的内容可以使用环境变量的方式初始化。
所设置的变量前缀必须以 PA_
开始,后面使用配置文件的配置项名称,但是需要将配置项中所有的 -
替换为 _
。
特别注意的是使用环境变量对配置项中的大小写并不敏感。
示例
docker run -d \
-p 8080:8080 \
-e PA_LOGIN_USER=prometheusalert \
-e PA_LOGIN_PASSWORD=prometheusalert \
-e PA_TITLE=PrometheusAlert \
-e PA_OPEN_FEISHU=1 \
-e PA_OPEN_DINGDING=1 \
-e PA_OPEN_WEIXIN=1 \
feiyu563/prometheus-alert:v4.9.1
配置文件位于 conf/app.conf
,默认采用 INI 格式解析。
所有的配置文件内容请点击此处查看。
程序运行后,访问默认地址 http://localhost:8080
的效果如下。
PrometheusAlert 具备如下特性:
/prometheusalert
接收各种告警系统或者任何带有WebHook功能的系统发来的消息,然后将收到的消息经过自定义模板渲染成消息文本,最终转发给不同的接收目标。项目源码
加入PrometheusAlert微信交流群
Email: 244217140@qq.com