一、写在前面的话
在我们日常运维工作中,如果有些告警未能够及时处理掉,过一段时间后很有可能遗忘,最后很有可能因为故障未及时解决造成故障升级。为解决该问题我们一起学习下类似场景下的解决方案。
二、实现逻辑
- 第一步. 脚本in_alarming.py开发: 通过zabbix api 获取当前未恢复的告警(告警级别可自定义; 告警级别: 信息、警告、一般严重 、严重、灾难)
- 第二步. 启动定时任务: 定时调用in_alarming.py (定时周期可自定义)
- 代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
'''
author: 小占快跑
date: 2020.08
python_version: python2
'''
import requests
import json
import urllib2
import ssl
from urllib2 import URLError
import sys
reload(sys)
sys.setdefaultencoding('utf8')
zabbix_addresses=['http://192.168.183.170/zabbix,Admin,zabbix'] # [zabbix_url,user,password]
class ZabbixTools:
def __init__(self,address,username,password):
self.address = address
self.username = username
self.password = password