#!/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.'