可以调用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=time_str+":"+sys.argv[1]+"------成员标识:"+sys.argv[2]+"-----告警级别:"+sys.argv[3]+"----标签:"+sys.argv[4]+"\n" #userId即成员账号列表的成员标识值,如果一个主机或者资源没有关联成员账号,那么userId就是字符串NULL #告警级别,分别为:重要,一般,信息 #标签名称,如果该资源没有设置标签,此值会是字符串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中处理告警内容