实现逻辑
通过Python脚本启动一个http接口用来接收alertmanager推送的告警信息,通过解析接口信息用来截取关键的告警信息,重构告警消息体,并按照蓝信webhook的接口格式进行推送。
为了方便管理启停,并防止脚本防止后台被误停止,将python脚本封装为一个容器进行管理。
告警消息处理流程
prometheus触发告警规则,发送告警信息给alertmanager,alertmanager接收到告警信息发送给python脚本的webhook接口,python脚本接收到告警信息后再转发给蓝信的webhook地址。
具体实现步骤
- 编写脚本【测试机IP: 192.168.0.161】
vi alert.py
import requests
import json
import time
import logging
from flask import Flask, request
#日志设置
logging.basicConfig(filename='alert.log', level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
logging.debug('Debugging information')
logging.info('Informational message')
logging.warning('Warning: Proceed with caution')
logging.error('Error occurred')
logging.critical('Critical error -- cannot continue')
app = Flask(__name__)
timestamp = int(time.time())
@app.route