广告
返回顶部
首页 > 资讯 > 后端开发 > Python >原创:用zabbix api批量添加we
  • 368
分享到

原创:用zabbix api批量添加we

批量zabbixapi 2023-01-31 05:01:51 368人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

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

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

前面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)


--结束END--

本文标题: 原创:用zabbix api批量添加we

本文链接: https://www.lsjlt.com/news/188187.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 原创:用zabbix api批量添加we
    代码如下,进攻大家参考,转载的话说明来源前面5个变量自行补齐, #!/usr/local/python3.51/bin/python3 # Author:         Anxinhai@wondersgroup # Mail:     ...
    99+
    2023-01-31
    批量 zabbix api
  • 如何使用zabbix api批量添加数百台监控主机
    小编给大家分享一下如何使用zabbix api批量添加数百台监控主机,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!在公司规模很庞大的时候,每次都手动添加监控主机将会很麻烦,我们可以利用zabbix的api去批量添...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作