zabbix做的日志监控 如果不关闭问题,就不会再次告警,有时候告警多了一条一条确认太麻环了,看官方文档找到了api,搞个脚本快速关;
手动关。。。。。真累
用python脚本实现快速关闭所有问题
# -*- coding:utf-8 -*-
import json
import requests
post_headers = {'Content-Type': 'application/json'}
#http://127.0.0.1/zabbix.php zabbix的web访问地址改成api访问
url = 'http://127.0.0.1/api_jsonrpc.php'
#这里的鉴权key可以通过user.login 接口获取 百度下一堆教程
#我用4.0版本的zabbix API 官方文档连接:https://www.zabbix.com/documentation/4.0/zh/manual/api/reference/user/login
key = ''
post_data = {
"jsonrpc": "2.0",
"method": "problem.get",
"params": {
"output": "extend",
},
"auth": key,
"id": 1
}
ret = requests.post(url, data=json.dumps(post_data), headers=post_headers)
result = json.loads(ret.text)
#相关接口文档:https://www.zabbix.com/documentation/4.0/zh/manual/api/reference/event/acknowledge
for id in json.loads(ret.text)['result']:
print(id)
post_data = {
"jsonrpc": "2.0",
"method": "event.acknowledge",
"params": {
"eventids": id['eventid'],
"action": 1,
"message": "Problem resolved."
},
"auth": key,
"id": 1
}
ret = requests.post(url, data=json.dumps(post_data), headers=post_headers)
result = json.loads(ret.text)
print(result)
先去problem.get接口查出现在告警的问题ID,然后批量调接口点关闭就OK了。
可以设置个定时任务每晚自动关 ,免得新的告警出现没告出来
懒人老叶用jenkins去触发调用
以前每次关都要一个问题一个问题的去点,现在脚本关,1秒搞定