暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

实现Opensearch监控警报webhook的python脚本

原创 zayki 2023-10-30
469
# -*- coding: utf-8 -*- """ ==================================== @File Name :email_webhook.py @Time : 2023/10/27 14:55 @Program IDE :PyCharm @Create by Author :zayki ==================================== """ import smtplib import time from os import popen from email.mime.text import MIMEText from email.header import Header from flask import Flask, request app = Flask(__name__) def send_mail(content): # 发送邮件 sender = 'monitor@test.com' receiver = 'zyj@test.com' message = MIMEText(content, 'plain', 'utf-8') message['From'] = Header('sysmonitor', 'utf-8') message['To'] = Header(receiver, 'utf-8') subject = 'OpenSearch生产集群监控' message['Subject'] = Header(subject, 'utf-8') smtpObj = smtplib.SMTP('email.test.com', port=25) try: smtpObj.sendmail(sender, receiver, message.as_string()) print("Send mail successfully.") except Exception as err: print(str(err)) @app.route("/send_mail", methods=["POST"]) def send(): monopt = request.args["monopt"] client = request.remote_addr if monopt == "tookvalue": content = "近一分钟内命中率低于500个,请检查集群状态。集群IP地址为:{0}".format(client) popen("systemctl restart logstash") logstash_status = popen("systemctl status logstash").read().strip() print(logstash_status) if monopt == "taskcount": content = "近一分钟内执行的task数量低于5个,请检查集群状态。集群IP地址为:{0}".format(client) send_mail(content) return "Successfully." if __name__ == "__main__": app.run("0.0.0.0", "5000")
复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论