通过API新建zabbix主机
2016-07-12 14:57
405 查看
#!/usr/bin/env python2.7
#coding=utf-8
import json
import urllib2
# based url and required header
url = "http://localhost/zabbix/api_jsonrpc.php"
header = {"Content-Type": "application/json"}
# auth user and password
data = json.dumps(
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix"
},
"id": 0
})
# create request object
request = urllib2.Request(url,data)
for key in header:
request.add_header(key,header[key])
# auth and get authid
try:
result = urllib2.urlopen(request)
except:
print "Auth Failed, Please Check Your Name And Password:"
else:
response = json.loads(result.read())
result.close()
Auth_id = response['result']
#create host
if Auth_id:
file = open("server_info", "r+")
if file:
# line = file.readlines()
# for each_line in line:
# arr = each_line.split()
# ip = arr[0]
# server_name = arr[1]
for line in file:
list1 = line.split()
ip = list1[0]
server_name = list1[1]
# request json
data = json.dumps(
{
"jsonrpc":"2.0",
"method":"host.get",
"params":{
"output":["hostid","name"],
"filter":{"host":server_name}
},
"auth":Auth_id,
"id":1,
})
# create request object
request = urllib2.Request(url,data)
for key in header:
request.add_header(key,header[key])
# get host list
result = urllib2.urlopen(request)
response = json.loads(result.read())
result.close()
host_name = response['result']
#print host_name,"- - - -"
if host_name:
print ip,server_name," had been created ! "
continue
else:
# request json
data = json.dumps(
{
"jsonrpc":"2.0",
"method":"host.create",
"params":{
"host": server_name,
"interfaces":[{ "type": 1,
"main": 1,
"useip": 1,
"ip": ip,
"dns": "",
"port": "10050"}],
"groups": [{"groupid": "2"}],
"templates": [{"templateid": "10050"}]
},
"auth":Auth_id,
"id":1,
}
)
# create request object
request = urllib2.Request(url,data)
for key in header:
request.add_header(key,header[key])
# get host list
try:
result = urllib2.urlopen(request)
except:
print 'We failed to reach a server.'
else:
response = json.loads(result.read())
result.close()
print server_name,'has been created !'
file.close
else:
print 'We failed to reach a server.'
#coding=utf-8
import json
import urllib2
# based url and required header
url = "http://localhost/zabbix/api_jsonrpc.php"
header = {"Content-Type": "application/json"}
# auth user and password
data = json.dumps(
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix"
},
"id": 0
})
# create request object
request = urllib2.Request(url,data)
for key in header:
request.add_header(key,header[key])
# auth and get authid
try:
result = urllib2.urlopen(request)
except:
print "Auth Failed, Please Check Your Name And Password:"
else:
response = json.loads(result.read())
result.close()
Auth_id = response['result']
#create host
if Auth_id:
file = open("server_info", "r+")
if file:
# line = file.readlines()
# for each_line in line:
# arr = each_line.split()
# ip = arr[0]
# server_name = arr[1]
for line in file:
list1 = line.split()
ip = list1[0]
server_name = list1[1]
# request json
data = json.dumps(
{
"jsonrpc":"2.0",
"method":"host.get",
"params":{
"output":["hostid","name"],
"filter":{"host":server_name}
},
"auth":Auth_id,
"id":1,
})
# create request object
request = urllib2.Request(url,data)
for key in header:
request.add_header(key,header[key])
# get host list
result = urllib2.urlopen(request)
response = json.loads(result.read())
result.close()
host_name = response['result']
#print host_name,"- - - -"
if host_name:
print ip,server_name," had been created ! "
continue
else:
# request json
data = json.dumps(
{
"jsonrpc":"2.0",
"method":"host.create",
"params":{
"host": server_name,
"interfaces":[{ "type": 1,
"main": 1,
"useip": 1,
"ip": ip,
"dns": "",
"port": "10050"}],
"groups": [{"groupid": "2"}],
"templates": [{"templateid": "10050"}]
},
"auth":Auth_id,
"id":1,
}
)
# create request object
request = urllib2.Request(url,data)
for key in header:
request.add_header(key,header[key])
# get host list
try:
result = urllib2.urlopen(request)
except:
print 'We failed to reach a server.'
else:
response = json.loads(result.read())
result.close()
print server_name,'has been created !'
file.close
else:
print 'We failed to reach a server.'
相关文章推荐
- Python 实现Zabbix自动发送报表
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例