我的编程空间,编程开发者的网络收藏夹
学习永远不晚

原创:用zabbix api批量添加we

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

原创:用zabbix api批量添加we

代码如下,进攻大家参考,转载的话说明来源

前面5个变量自行补齐,

 

#!/usr/local/python3.51/bin/python3
# Author:         Anxinhai@wondersgroup
# Mail:           29338383@qq.com
from pyzabbix import ZabbixAPI
import sys
from re import compile,IGNORECASE
ZABBIX_SERVER = ""
USER = ""
PASSWORD = ""
HOSTNAME = "" 
URL=""
def login(ZABBIX_SERVER,USER,PASSWORD):
  zapi = ZabbixAPI(ZABBIX_SERVER)
  zapi.login(USER,PASSWORD)
  return zapi
def gethostid(auth,HOSTNAME):
  request = ZabbixAPI.do_request(auth, 'host.get', params={ "filter": {"host":HOSTNAME}})
  if request['result']:
    return request['result'][0]['hostid']
  else:
    print ("找不到该主机")
    sys.exit(1)
def getapplicationid(auth,hostid):
  try:
    request = ZabbixAPI.do_request(auth, 'application.create', params={"name": "web监控","hostid": hostid})
  except Exception as e:
    print(e)
  request = ZabbixAPI.do_request(auth, 'application.get', params={"hostids": hostid})
  for num in range(0,len (request['result'])):
    if request['result'][num]['name'] == "web监控":
      return request['result'][num]['applicationid']
def create_web_scenario(auth,URL,hostid,applicationid):
  request = ZabbixAPI.do_request(auth, 'httptest.get', params={ "filter": {"name": URL}})
  if request['result']:
    print('该web监控已经添加过了' )
  else:
    try:
      ZabbixAPI.do_request(auth, 'httptest.create',params={"name": URL,"hostid": hostid,"applicationid": applicationid, "delay": '60',"retries": '3', "steps": [ { 'name': URL, 'url': URL, 'no': '1'} ] } )
    except Exception as e:
      print(e)
def create_trigger(auth,HOSTNAME,URL):
  expression="{"+"{0}:web.test.fail[{1}].last()".format(HOSTNAME,URL)+"}"+"<>0"
  try:
    ZabbixAPI.do_request(auth, 'trigger.create', params={"description": "从监控机(172.18.11.34)访问{0}出现问题,如果网络和主机性能没问题,并且是单节点报错请尝试重启对应的tomcat".format(URL),"expression": expression,"priority":5})  
  except Exception as e:
    print(e)

auth = login(ZABBIX_SERVER,USER,PASSWORD)
hostid = gethostid(auth,HOSTNAME)
applicationid=getapplicationid(auth,hostid)
create_web_scenario(auth,URL,hostid,applicationid)
create_trigger(auth,HOSTNAME,URL)


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

原创:用zabbix api批量添加we

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

原创:用zabbix api批量添加we

代码如下,进攻大家参考,转载的话说明来源前面5个变量自行补齐, #!/usr/local/python3.51/bin/python3# Author:         Anxinhai@wondersgroup# Mail:       
2023-01-31

如何使用zabbix api批量添加数百台监控主机

小编给大家分享一下如何使用zabbix api批量添加数百台监控主机,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在公司规模很庞大的时候,每次都手动添加监控主机将会很麻烦,我们可以利用zabbix的api去批量添加监控主机
2023-06-29

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录