通过python封装zabbix-api批量修改模板中触发器名称
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,# -*- coding: utf-8 -*-import json,reimport urllib.request, urllib.error, urllib.parseclass ZabbixAP
千家信息网最后更新 2026年11月03日通过python封装zabbix-api批量修改模板中触发器名称
# -*- coding: utf-8 -*-import json,reimport urllib.request, urllib.error, urllib.parseclass ZabbixAPI: # 初始化 def __init__(self): self.__url = 'http://192.168.74.133/api_jsonrpc.php' self.__user = 'admin' self.__password = 'zabbix' self.__header = {"Content-Type": "application/json-rpc"} self.__token_id = self.UserLogin() # 登陆获取token def UserLogin(self): data = { "jsonrpc": "2.0", "method": "user.login", "params": { "user": self.__user, "password": self.__password }, "id": 0, } return self.PostRequest(data) # 推送请求 def PostRequest(self, data): request = urllib.request.Request(self.__url,json.dumps(data).encode('utf-8'),self.__header) result = urllib.request.urlopen(request) response = json.loads(result.read().decode('utf-8')) try: return response['result'] except KeyError: pass # 获取指定模板ID名称 def GetTemplatesID(self,Template_name): data = { "jsonrpc":"2.0", "method":"template.get", "params":{ "output":"templateid", "filter": { "host": Template_name } }, "auth": self.__token_id, "id": 0 } Template_ID_List = self.PostRequest(data) return Template_ID_List[0]["templateid"] # 从指定模板ID获取所有触发器ID并返回触发器名称description def GetAllTriggersIDFromTemplatesID(self,Template_name): TemplatesID = self.GetTemplatesID(Template_name) data = { "jsonrpc": "2.0", "method": "trigger.get", "params": { "templateids": TemplatesID, "output": ["description"] }, "auth": self.__token_id, "id": 0 } return self.PostRequest(data) # 更新触发器名称 def updateTriggerName(self,TriggerID=None,description=None): data = { "jsonrpc": "2.0", "method": "trigger.update", "params": { "triggerid": TriggerID, "description": description }, "auth": self.__token_id, "id": 0 } return self.PostRequest(data)# 获取原触发名称,并且替换特定字符串进行批量更新触发器名称 def ReWriteTriggerName(self,Template_name): StringJson = self.GetAllTriggersIDFromTemplatesID(Template_name) # print(StringJson) # print(type(StringJson)) for i in range(len(StringJson)): ret = re.sub('已关闭', 'is down',StringJson[i]["description"]) self.updateTriggerName(StringJson[i]["triggerid"],ret)def main(): # 实例化zabbix类 zapi=ZabbixAPI() # 模板选择 hosts=zapi.ReWriteTriggerName("Template OS Linux")if __name__ == '__main__': main()之前Templates-OS-linux模板中触发名称列表:
用完之后的列表:
名称
模板
触发器
更新
字符
字符串
实例
utf-8
推送
登陆
选择
封装
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
博彦科技互联网金融
广州大一互联网络科技有限公司
中国互联网科技股
广州互联网科技公司
互联网的科技创新
互联网科技公司发展
深圳齐家互联网科技
互联网科技博客
现代科技和互联网有关系吗
创业天下互联网科技有限公司
栖莱科技互联网股份有限公司
全球顶尖互联网科技公司
千方科技属于互联网企业吗
互联网科技和信息
领航科技大厦互联网公司
互联网硬科技公司
抖集互联网科技技术咨询
求路客互联网科技电话
河南商务圈互联网科技有限公司
每日互联网科技新闻
互联网科技ppt模板
掌上梦互联网科技
长亮科技互联网金融
互联网科技公司介绍
江阴互联网智能科技产品进口
链环科技传统企业怎么转型互联网
华中科技大学互联网的牛人
南通创西澳互联网科技有限公司
互联网科技包装股份有限公司上市
互联网科技创新方面的资料