可以调用python脚本发送告警通知吗
可以调用python
如下例子,是python模板文件pythonWarn.py,将告警内容输出到server/pyWarn.log文件
import sys import datetime curr_time = datetime.datetime.now() time_str = datetime.datetime.strftime(curr_time,'%Y-%m-%d %H:%M:%S') warnContent=f"{time_str}:告警消息------{sys.argv[1]}------成员标识:{sys.argv[2]}-----告警级别:{sys.argv[3]}----标签:{sys.argv[4]}\n" #sys.argv[1],告警消息内容 #sys.argv[2],即userId即成员账号列表的成员标识值,如果一个主机或者资源没有关联成员账号,那么userId就是字符串NULL #sys.argv[3],即告警级别,分别为:重要,一般,信息 #sys.argv[4],即标签名称,如果该资源没有设置标签,此值会是字符串NULL print(warnContent) f = open("pyWarn.log", "a") f.write(warnContent) f.close()
其中告警级别和标签需要升级到v3.4.7或更高版本,才能获取
v3.4.7之前版本只能获取告警内容和成员账号标识
将上面内容保存为pythonWarn.py,然后修改server/config/application.yml如下配置项warnScript,注意是配置完全路径,然后重启server
#告警脚本绝对路径(若配置脚本,无论是否配置过邮件,都会执行该脚本),可以为空,参考模板:server/template/sendMsg.sh warnScript: python3 /python/pythonWarn.py
我们可以仿照
钉钉告警
、
微信告警
,在py中处理告警内容