利用Zabbix API 创建主机

#!/usr/bin/env python2.7
# coding=utf-8
from zabbix_api import ZabbixAPI
import urllib2
import sys
###get visible_name
inet_ip=sys.argv[1]
url = ‘http://10.47.102.185/api/ecs/?ip={0}‘.format(inet_ip)
response = urllib2.urlopen(url)
result = response.read()
info = eval(result[1:-1])
visible_name = info[‘name‘]
###login zabbix
server="http://ip/zabbix"
username="zabbix_username"
password="password"
zapi = ZabbixAPI(server=server, path="", log_level=0)
zapi.login(username, password)
###create host
host_name = sys.argv[2]
if zapi.host.exists({"host":host_name}):
    print ‘host already exists‘
else:
    create_host=zapi.host.create({"host":host_name,"groups":[{"groupid":"8"}],"interfaces":[{"type":"1","main":"1","useip":"1","ip":inet_ip,"port":"10050","dns":""}],"templates":[{"templateid":"10001"}],"inventory_mode":-1,"name":visible_name})
    print create_host
时间: 2024-12-28 13:18:46

利用Zabbix API 创建主机的相关文章

利用Zabbix API创建主机宏

#!/usr/bin/python #coding:utf-8 from zabbix_api import ZabbixAPI import json server="http://172.16.206.130/zabbix" username="Admin" password="zabbix" zapi = ZabbixAPI(server=server,path="",log_level=0) zapi.login(us

PHP通过ZABBIX API获取主机信息 VS 直接从数据库获取主机信息

最近项目需要获取linux主机的一些信息,如CPU使用率,内存使用情况等.由于我们本身就装了zabbix系统,所以我只用知道如何获取信息即可,总结有两种方法可以获取. 一.通过ZABBIX API获取主机信息 这种方式获取的主机信息相对是比较新的(每分钟更新一次).但因为每次都需要请求接口,所以相对比较慢,如果并发查询的主机数量比较多,就会非常慢. 开源监控系统ZABBIX的官方文档提供了丰富的API.我这里http请求是用的Guzzle 6.当然你也可以用php内置的curl函数自己写一个ht

利用zabbix api添加、删除、禁用主机

python环境配置yum -y install python-pip安装argparse模块pip install -i https://pypi.douban.com/simple/ argparse 脚本修改请修改脚本中zabbix登录地址以及zabbix管理员帐户及密码 #!/usr/bin/env python #-*- coding: utf-8 -*- import json import sys import urllib2 import argparse from urllib

16.使用zabbix api创建screen

zabbix的screen功能可以把graph聚合起来,统一进行展示, 我们的需求是把同一个主机组的同一个item聚合起来,比如一个screen显示同一个组的所有主机的内存使用率,达到类似ganglia的效果, 由于服务器较多,所以我们调用zabbix api来进行创建. 参考地址如下:谢谢各位大牛 https://www.zabbix.org/wiki/Python_script_to_create_Screen_from_all_Items/Graphs_of_a_host http://c

python利用zabbix API添加监控

首先说一下坑的地方就是python2和python3的模块改变问题,当然精通python的可以略过.这个在网上百度一下吧,第二个是导入xlsx文件的时候需要xlrd模块,而这个模块最好跟着我下面的方法走,那个python2 就可以用我下边的脚本了. 1.安装xlrd读取Excel文件 1.1. 下载setuptools-38.2.4.zip,上传至zabbix服务器解压安装,下载地址:https://pypi.python.org/packages/69/56/f0f52281b5175e3d9

利用zabbix api 带入 组ID 和 监控项目键值 获取所有主机的值

def  chaxun(groupid,items_value):  是自己写的,带入组ID 和 监控项目键值,返回 主机和值的结果. 做了判断,如果这个主机没有想要的监控项目,就去除掉. #!/usr/bin/env python #coding=utf-8 import urllib.request import json import re url = 'http://XXXXXXXXXXXXXXXX/api_jsonrpc.php' username = 'Admin' password

利用zabbix API进行管理

zabbix 现在之所以那么流行,个人感觉跟zabbix 强大的API有一个很大的关系,利用API可以帮我们完成很多事情: 1.获取相关组,主机信息. 2.比如有人喜欢获取历史数据重新出图. 3.添加删除主机,绑定删除模板. 4.添加删除维护周期 这里我使用pipy提供的zabbix_client模块来进行,这样就不用我们自己去写登录函数,只要在模块开始指定用户名密码即可: 1.安装zabbix_client: pip install zabbxi_client 2.API管理脚本,替换成自己用

利用Zabbix API 获取各个分组下的服务器列表以及详细信息

现在越来越多的公司选择使用开源软件Zabbix来做服务器业务监控,其高逼格的用户管理是个亮点,所以可以通过调用它的接口将权限管理应用到很多地方,比如说堡垒机权限.以下是用python简单写了个小脚本,通过定义分组名便可以得到分组下的服务器信息. #coding=utf-8 __author__ = 'Perling' from urllib import urlencode import urllib2 import json def post(post_data):     api_url =

通过Zabbix API 为主机添加监控模板

脚本内容如下: #!/usr/bin/python #-*- coding:utf8 -*- import json,sys,argparse from zabbix_api import ZabbixAPI server = "http://172.16.206.128/zabbix" username = "Admin" password = "zabbix" zapi = ZabbixAPI(server=server, path=&quo