prometheusalert 部署
Prometheus Alert是开源的运维告警中心消息转发系统,支持主流的监控系统Prometheus,Zabbix,日志系统Graylog和数据可视化系统Grafana发出的预警消息,支持钉钉,微信,华为云短信,腾讯云短信,腾讯云电话,阿里云短信,阿里云电话等
1.服务配置docker-compose.yaml文件
cd /data/docker-swarm
prometheus-alert-docker-compose.yaml
version: '3.8'services: prometheusalert: container_name: prometheusalert hostname: prometheusalert extra_hosts: - "sz-prom.meng.com:192.168.10.19" image: feiyu563/prometheus-alert:latest ports: - "8080:8080" environment: - PA_LOGIN_USER=admin - PA_LOGIN_PASSWORD=tUxwrwGzthmEKVO8CXgA - PA_TITLE=PrometheusAlert - PA_OPEN_FEISHU=1 - PA_OPEN_DINGDING=1 - PA_OPEN_WEIXIN=1 volumes: - "/etc/localtime:/etc/localtime:ro" - "/data/prometheus-alert/data:/app/db" networks: - monitor deploy: replicas: 1 placement: constraints: [node.labels.monitor-node == monitor01]networks: monitor: external: true2.导入镜像
docker load < prometheus-alert.tgz
3.创建目录(保存模版使用)
mkdir -p /data/prometheus-alert/data
chmod -R 777 data*
#复制db出来
docker cp ec85fbff4dd8:/app/db/PrometheusAlertDB.db .
4.启停服务
docker stack rm prometheus-alert
docker stack deploy -c prometheus-alert-docker-compose.yaml prometheus-alert
5.UI访问
http://192.168.10.19:8080/login
账号:admin
密码:tUxwrwGzthmEKVO8CXgA
#alertmanager 中使用了2个模版
tpl=prometheus-fs
tpl=meta-alert-feishu
6.创建模版
{{ $var := .externalURL}}{{ range $k,$v:=.alerts }}{{if eq $v.status "resolved"}}状态:[Resolved]({{$var}})告警名:[{{$v.labels.alertname}}]({{$v.generatorURL}})集群:{{$v.labels.cluster}}告警级别:{{$v.labels.severity}}开始时间:{{GetCSTtime $v.startsAt}}结束时间:{{GetCSTtime $v.endsAt}}故障主机IP:{{$v.labels.instance}}**{{$v.annotations.description}}**{{else}}状态:[Firing]({{$var}})告警名:[{{$v.labels.alertname}}]({{$v.generatorURL}})集群:{{$v.labels.cluster}}告警级别:{{$v.labels.severity}}开始时间:{{GetCSTtime $v.startsAt}}当前时间: {{GetCSTtime ""}}故障主机IP:{{$v.labels.instance}}**{{$v.annotations.description}}**{{end}}{{ end }}#告警模版,要实现自定义标签,则需要修改采集项
告警级别:{{$v.labels.severity}}
rules/node-exporter-shiye.yaml 文件中
#修改yaml文件中标签的 sumary 改成description,以便对应模版标识
#重新加载prometheus