预警通知与监控系统联动:Zabbix/Prometheus接入

监控告警要落到手机 Zabbix、Prometheus是运维常用的监控系统,它们能检测出阈值越限、服务不可用,但默认的告警渠道多为邮件或Web控制台,值班人员未必及时看到,尤其在夜间。把监控告警对接到互亿无线预警通知API,就能让阈值告警直…

监控告警要落到手机

Zabbix、Prometheus是运维常用的监控系统,它们能检测出阈值越限、服务不可用,但默认的告警渠道多为邮件或Web控制台,值班人员未必及时看到,尤其在夜间。把监控告警对接到互亿无线预警通知API,就能让阈值告警直接以短信、语音、闪信推送到负责人手机,不必盯着监控页面。

本文分别说明Zabbix自定义脚本和Prometheus Alertmanager Webhook两种接入方式。

Zabbix:自定义告警脚本

Zabbix支持通过Media Type脚本发送告警。在AlertScriptsPath目录下新建一个Python脚本,接收Zabbix传入的收件人号码和告警内容,转发给预警接口:

#!/usr/bin/env python3
import sys, requests

to_mobile = sys.argv[1]
subject = sys.argv[2]
body = sys.argv[3]

requests.post("https://api.ihuyi.com/sms/Submit.json", data={
    "account": "API_ID", "password": "API_KEY",
    "mobile": to_mobile, "content": f"【Zabbix告警】{subject} {body}"
}, timeout=(3, 5))

在Zabbix的Administration中新建Media Type,类型选Script,脚本名填上述文件;然后给用户分配该Media,并在Action里把告警发送到对应用户。严重级别为Disaster的告警,可在脚本里改调 https://api.ihuyi.com/voice/vm 发语音,让值班人员电话振铃注意到。

Prometheus:Alertmanager Webhook

Prometheus生态用Alertmanager管理告警,可配置Webhook指向自己的中转服务,再由中转服务调用预警API:

# alertmanager.yml 片段
receivers:
  - name: 'ihuyi-alert'
    webhook_configs:
      - url: 'http://your-server:8000/alert'
        send_resolved: true

中转服务接收Alertmanager的POST,解析告警级别后选择通道:

from flask import Flask, request
import requests
app = Flask(__name__)

@app.route("/alert", methods=["POST"])
def alert():
    payload = request.get_json()
    for a in payload.get("alerts", []):
        sev = a["labels"].get("severity")
        msg = a["annotations"].get("summary", "")
        url = ("https://api.ihuyi.com/voice/vm" if sev == "critical"
               else "https://api.ihuyi.com/sms/Submit.json")
        requests.post(url, data={"account": "API_ID", "password": "API_KEY",
            "mobile": "13800138000", "content": f"[{sev}]{msg}"}, timeout=(3, 5))
    return "ok"

联动配置要点

对接监控系统时,建议注意以下事项:

  1. 告警级别与通道映射:critical走语音或三合一,warning走短信。
  2. send_resolved设为true,故障恢复时也发一条通知,形成闭环。
  3. 在中转服务里做告警去重,避免Prometheus重复触发导致短信轰炸。
  4. 测试时先用Zabbix/Prometheus自带的测试告警触发一次,确认手机能收到。

互亿无线提供11种语言代码示例,多数团队从注册到监控告警跑通平均30分钟。注册免费试用,领取测试条数后即可把现有Zabbix或Prometheus告警对接到手机。

立即开始免费测试

注册即送免费测试条数,30分钟快速接入多通道预警API

免费注册,开始测试
咨询热线:400-118-6878
高新技术企业

高新技术企业

专精特新企业

专精特新企业

ISO9001认证

ISO9001 认证

安全等级认证

安全等级认证

AAA信用企业

AAA 信用企业