• alertmanager 基于webhook-adapter插件实现企业微信机器人提醒服务


    前言

    Alertmanager处理客户端应用程序(例如 Prometheus 服务器)发送的警报。它负责删除重复数据、分组并将它们路由到正确的接收器集成,例如电子邮件、PagerDuty 或 OpsGenie。它还负责警报的静音和抑制。

    前提要求

    创建企业微信机器人

    • 定义机器人名称

    • 生成的企业微信机器人webhook地址 

    ​ 

    创建项目目录

    mkdir -p /alertmanager

     创建alertmanager服务脚本

    •   - url: 'http://192.168.11.252:8089/adapter/wx' #此处是 webhook-adapter服务端口和地址
    1. cat <<'EOF'>>/alertmanager/alertmanager.yml
    2. global:
    3. resolve_timeout: 5m
    4. route:
    5. group_by: ['alertname']
    6. group_wait: 10s
    7. group_interval: 10s
    8. repeat_interval: 1h
    9. receiver: 'web.hook'
    10. receivers:
    11. - name: 'web.hook'
    12. webhook_configs:
    13. - url: 'http://192.168.11.252:8089/adapter/wx'
    14. send_resolved: true
    15. inhibit_rules:
    16. - source_match:
    17. severity: 'critical'
    18. target_match:
    19. severity: 'warning'
    20. equal: ['alertname', 'dev', 'instance']
    21. EOF

     创建基于docker部署webhook-adapter,alertmanager脚本

    • --adapter:/app/prometheusalert/wx.js=/wx=企业微信机器人地址
    • /app/prometheusalert/wx.js 此处是镜像内部包含执行不用管忽略
    • webhook-adapter端口8089,可自行定义
    • alertmanager 端口9093,可自行定义
    • - ./alertmanager.yml:/etc/alertmanager/alertmanager.yml 此处是alertmanager配置脚本
    1. cat <<'EOF'>>/alertmanager/docker-compose.yml
    2. version: '3'
    3. services:
    4. webhook-adapter:
    5. image: guyongquan/webhook-adapter:latest
    6. container_name: webhook-adapter
    7. hostname: webhook-adapter
    8. ports:
    9. - "8089:80"
    10. restart: always
    11. command:
    12. - "--adapter=/app/prometheusalert/wx.js=/wx=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=XXXXX-d78a-4308-ac5c-34f10bb73d86"
    13. alertmanager:
    14. image: prom/alertmanager
    15. container_name: alertmanager
    16. hostname: alertmanager
    17. restart: always
    18. volumes:
    19. - ./alertmanager.yml:/etc/alertmanager/alertmanager.yml
    20. - /etc/localtime:/etc/localtime:ro
    21. ports:
    22. - "9093:9093"
    23. EOF

    执行启动

    docker-compose up -d

    查看webhook-adapter是否启动成功

    • http://192.168.11.252:8089/

    查看 alertmanager是否成功安装和警告提醒

    • http://192.168.11.252:9093/
    • 主要实现获取到数据输出到alertmanager然后发送通知到企业微信机器人
    • 此处实现配置prometheus.yml配置文件增加以下内容参考
    1. alerting:
    2. alertmanagers:
    3. - static_configs:
    4. - targets:
    5. - 192.168.19.29:9093

    企业微信机器人报警提示部分展示 

    • 满足报警条件会自动化触发企业微信机器人警告提醒服务

    • 报警内容编辑配置参考

  • 相关阅读:
    JAVA计算机毕业设计医保局综合办公系统Mybatis+源码+数据库+lw文档+系统+调试部署
    要有自己的科研笔记
    后端Long型数据传到前端js后精度丢失的问题
    状态模式(state)
    Terminnal will be login out after 20 second
    QCC51xx---规则二(rules)-PrimaryRules_Init
    MySQL-变量/错误处理(GLOBAL/SESSION/SET/DECLARE CONDITION FOR/DECALRE HANDLER FOR)
    数组——长度最小的子数组
    微信小程序云开发教程——墨刀原型工具入门(文件设置+编辑组件)
    基于OpenCV的轮廓检测(2)
  • 原文地址:https://blog.csdn.net/hanzheng260561728/article/details/128146624