# alertmanager-webhook **Repository Path**: he.linux/alertmanager-webhook ## Basic Information - **Project Name**: alertmanager-webhook - **Description**: No description available - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-04-02 - **Last Updated**: 2023-12-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #### 联系:yicc.he@gmail.com #### QQ 微信: 284896393 ## 说明 用于alertmanager的告警webhook,初学golang写得不好 目前支持邮件与企业微信应用消息发送,告警内容如下: ```sh 警告 实例ip: 10.0.0.77 开始时间: 2021-03-30 09:42:41.858115311 +0000 UTC 结束时间: 0001-01-01 08:00:00 +0000 UTC 告警简况: 10.0.0.77: High Node Memory usage detected 告警详情: 10.0.0.77: Node Memory usage is above 80% ,(current value is: 80.00010713463072) ``` #### 安装配置 如果告警记录需要入库,DDL SQL ```sql CREATE DATABASE PROM_ALERT; USE PROM_ALERT; CREATE TABLE IF NOT EXISTS alert_history ( id INT AUTO_INCREMENT NOT NULL PRIMARY KEY COMMENT "主键", alert_type VARCHAR(4) NOT NULL COMMENT "告警通知方式", alert_status VARCHAR(10) NOT NULL COMMENT "告警状态", alert_name VARCHAR(20) NOT NULL COMMENT "告警名称", instance VARCHAR(20) NOT NULL COMMENT "告警实例", description VARCHAR(200) COMMENT "描述详细", summary VARCHAR(200) COMMENT "描述简况", startsat VARCHAR(50) COMMENT "告警开始时间", endsat VARCHAR(50) COMMENT "恢复时间" ) COMMENT "alertManager 告警记录表"; ``` 编译: ```sh cd alertmanager-webhook go build ``` 指定配置文件启动 alterManger --config alertConfig.json & ```sh Usage of alterManger: -config string 配置文件 (default "alertConfig.json") ``` #### 告警格式 只提取了告警通知请求参数关键部分: ```json { "alerts":[ { "status":"firing", "labels":{ "alertname":"NodeMemoryUsage", "instance":"10.0.0.77", }, "annotations":{ "description":"", "summary":"" }, "startsAt":"2021-03-30T01:42:41858115311Z", "endsAt":"0001-01-01T00:00:00Z", } ] } ``` #### 配置说明 ```ini #多个情况下用;分隔 email.tomail = "xx@163.com;yy@qq.com;" qywechat.touser= "13512131231;yihey;" #表示是否启用mysql存储告警记录 #为off可不配置后面mysql部分配置 globals.mysql = on|off ``` #### 企业微信应用消息推送 目前仅支持应用消息推送方式 因条件有限未支持群机器人