分别启动alertmanager
    比如在A,B两个节点上部署alertmanager,那么A节点的启动命令:
    #你应该用nohup后台启动
    A节点的启动命令:
    ./alertmanager —config.file=alertmanager.yml —cluster.peer=hostB:9094
    B节点的启动命令:
    ./alertmanager —config.file=alertmanager.yml —cluster.peer=hostA:9094

    1. #下载官网二进制包
    2. wget https://github.com/prometheus/alertmanager/releases/download/v0.23.0/alertmanager-0.23.0.linux-amd64.tar.gz
    3. #解压并改名
    4. tar -xf alertmanager-0.23.0.linux-amd64.tar.gz -C /usr/local/
    5. mv alertmanager-0.23.0.linux-amd64.tar.gz alertmanager
    6. docker run -d --name alertmanager -p 9093:9093 -v /etc/alertmanager.yml:/etc/alertmanager/alertmanager.yml -v /data/alertmanager/storage:/alertmanager prom/alertmanager:latest
    7. docker run -d -p 9093:9093 -v /etc/alertmanager.yml:/etc/alertmanager/config.yml --name alertmanager docker.io/prom/alertmanager --config.file=/etc/alertmanager/config.yml
    8. curl -XPOST http://ip:9093/-/reload #热加载
    1. global:
    2. resolve_timeout: 5m #处理超时时间,默认为5min
    3. smtp_smarthost: 'smtp.qq.com:465' #smtp 服务和端口
    4. smtp_from: '1597176766@qq.com' #发送的邮箱账号
    5. smtp_auth_username: '1597176766@qq.com' #发送的用户名
    6. smtp_auth_password: 'pixntubwikmpjbaf' #授权码
    7. smtp_require_tls: false
    8. route:
    9. group_by: ['alertname']
    10. group_wait: 5s
    11. group_interval: 5s
    12. repeat_interval: 5m
    13. receiver: 'email'
    14. receivers:
    15. - name: 'email'
    16. email_configs:
    17. - to: 'duyl_0826@163.com'
    18. send_resolved: true
    19. inhibit_rules:
    20. - source_match:
    21. severity: 'critical'
    22. target_match:
    23. severity: 'warning'
    24. equal: ['alertname', 'instance']

    所有从prometheus来的告警,都会进行分组,告警的发送也是按照分组来的 group_by就是按照标签分组,一般alertname会作为选择,就是告警的名称,其次后面会根据业务来区分,例如我上面写的job。他会按照job再进行一次分组。这样的好处是可以合并告警信息 group_wait是第一次的告警信息在间隔多长时间后发送给receiver(receiver就是我们的webhook,短信等等)。 group_interval是按照组进行合并,组间的间隔时间。 repeat_interval是告警的再次发送频率。这里主要应对的场景是怕丢数据,例如一个告警触发了,但是一直没解决,那么必须进行再次的提醒。是一个提醒的状态。