版本:centos7.9 python3.9.5 alertmanager0.25.0 prometheus2.46.0
安装alertmanager prometheus 配置webhook
# 解压:
tar -xvf alertmanager-0.25.0.linux-amd64.tar.gz
tar -xvf prometheus-2.46.0.linux-amd64.tar.gz
mv alertmanager-0.25.0.linux-amd64 alertmanager
mv prometheus-2.46.0.linux-amd64 prometheus
# 安装Python
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel
cd /app
wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz
tar -xvf Python-3.9.0.tgz
cd Python-3.9.0
./configure prefix=/usr/local/python3
make && make install
yum install gcc libffi-devel openssl-devel -y
ln -s /usr/local/python3/bin/python3.9 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3.9 /usr/bin/pip3
pip3 install -U pip
#配置webhook
pwd
/app/jiankong
cd /app
mdkir webhook
cd webhook
yum epel-release -y
yum install openssl11 openssl11-devel
pip3 install urllib3==1.26.15
pip3 install --upgrade cryptography
pip3 install --upgrade pyopenssl
pip3 install --upgrade requests
pip3 install flask
vim /app/webhook/main.py
#!/usr/local/bin/python3
# coding: utf-8
import json
from datetime import datetime
import requests
from requests.exceptions import RequestException
from flask import Flask
from flask import request
app = Flask(__name__)
@app.route('/', methods=['POST'])
def send_wechat():
if request.method == 'POST':
post_data = request.get_data()
data = json.loads(post_data.decode('utf-8'))
for alert in data.get('alerts'):
webchat(alert)
return "success\n"
@app.route('/dingtalk', methods=['POST'])
def send_dingtalk():
if request.method == 'POST':
post_data = request.get_data()
data = json.loads(post_data.decode('utf-8'))
access_token = 'dxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxb'
for alert in data.get('alerts'):
content = dingtalk_msgformat(alert)
dingding_sendmsg(access_token, content)
return "success\n"
@app.route('/prometheus_dingtalk', methods=['POST'])
def send_prodingtalk():
if request.method == 'POST':
post_data = request.get_data()
data = json.loads(post_data.decode(