Java OpenResty Spring Spring Boot MySQL Redis MongoDB PostgreSQL Linux Android Nginx 面试 小程序 Arthas JVM AQS juc Kubernetes Docker DevOps


Docker 部署 Alertmanager

Docker Alertmanager DevOps 大约 2413 字

搜索镜像

docker search prom/alertmanager

拉取镜像

版本号可以去官网查看:https://hub.docker.com/r/prom/alertmanager

docker pull prom/alertmanager:v0.23.0

新建配置文件

命名为alertmanager.yml

global:
  resolve_timeout: 5m
  smtp_from: 'xxxxxxxx@qq.com' # 发件人
  smtp_smarthost: 'smtp.qq.com:465' # 邮箱服务器的 POP3/SMTP 主机配置 smtp.qq.com 端口为 465 或 587
  smtp_auth_username: 'xxxxxxxx@qq.com' # 用户名
  smtp_auth_password: 'xxxxxxxxxxxxxxx' # 授权码 不是 QQ 密码
  smtp_require_tls: false
  smtp_hello: 'qq.com'
templates:
  - '/etc/alertmanager/template/email.tmpl'
route:
  group_by: ['alertname'] # 告警分组
  group_wait: 5s # 在组内等待所配置的时间,如果同组内,5 秒内出现相同报警,在一个组内出现。
  group_interval: 5m # 如果组内内容不变化,合并为一条警报信息,5 分钟后发送。
  repeat_interval: 5m # 发送告警间隔时间 s/m/h,如果指定时间内没有修复,则重新发送告警
  receiver: 'wechat' # 优先使用 wechat 发送
  routes: #子路由,使用 email 发送
  - receiver: email
    match_re:
      serverity: email
receivers:
- name: 'email'
  email_configs:
  - to: 'xxxxxxxx@163.com' # 如果想发送多个人就以 ',' 做分割
    send_resolved: true
- name: 'wechat'
  wechat_configs:
  - corp_id: 'xxxxxxxxxxxxx' #企业 ID
    api_url: 'https://qyapi.weixin.qq.com/cgi-bin/' # 企业微信 api 接口 统一定义
    to_party: '2'  # 通知组 ID
    agent_id: '1000002' # 新建应用的 agent_id
    api_secret: 'xxxxxxxxxxxxxx' # 生成的 secret
    send_resolved: true
inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
    equal: ['alertname', 'dev', 'instance']

告警模板

自定义模板

{{ define "wechat.default.message" }}
{{ range $i, $alert :=.Alerts }}
========监控报警==========
告警状态:{{   .Status }}
告警级别:{{ $alert.Labels.severity }}
告警类型:{{ $alert.Labels.alertname }}
告警应用:{{ $alert.Annotations.summary }}
告警主机:{{ $alert.Labels.instance }}
告警详情:{{ $alert.Annotations.description }}
触发阀值:{{ $alert.Annotations.value }}
告警时间:{{ $alert.StartsAt.Format "2006-01-02 15:04:05" }}
========end=============
{{ end }}
{{ end }}

默认模板

https://github.com/prometheus/alertmanager/blob/main/template/default.tmpl

创建容器

  • --restart=always:容器退出后(kill后)自动重启。
  • $PWD/alertmanager/alertmanager.yml:映射配置文件。
  • $PWD/alertmanager/template:映射告警模板的存放的目录。
docker run -d --restart=always \
--name=alertmanager \
-p 9093:9093 \
-v $PWD/alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml \
-v $PWD/alertmanager/template:/etc/alertmanager/template \
prom/alertmanager:v0.23.0

编辑配置文件

docker exec -it alertmanager vi /etc/alertmanager/alertmanager.yml

进入容器

docker exec -it alertmanager sh

控制台

http://localhost:9093

阅读 1765 · 发布于 2022-02-17

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb

扫描下方二维码关注公众号和小程序↓↓↓

扫描二维码关注我
昵称:
随便看看 换一批