实现思路:
- zabbix提供了一个获取事件的api,可以根据此api获取zabbix原始报警数据
- 将获取到的原始数据进行统计去重,统计触发器出现次数,并把重复的触发器删除,将需要用到的数据统一放到一个列表中
- 将第二步的列表进行遍历,并传入到HTML中,或者也可以使用pandas直接把数据建模,然后自动生成HTML表格
- 将生成的HTML作为邮件内容发送
定义获取的时间间隔
x=(datetime.datetime.now()-datetime.timedelta(minutes=30)).strftime("%Y-%m-%d %H:%M:%S")
y=(datetime.datetime.now()).strftime("%Y-%m-%d %H:%M:%S")
def timestamp(x,y):
p=time.strptime(x,"%Y-%m-%d %H:%M:%S")
starttime = str(int(time.mktime(p)))
q=time.strptime(y,"%Y-%m-%d %H:%M:%S")