Add import.py
This commit is contained in:
@@ -0,0 +1,47 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
from zabbix_utils import ZabbixAPI
|
||||||
|
from datetime import datetime
|
||||||
|
|
||||||
|
# Zabbix server details
|
||||||
|
zabbix_url = "https://student-XX-zbxtr-YYYY.zabbix.training"
|
||||||
|
api = ZabbixAPI(url=zabbix_url)
|
||||||
|
api.login(token="<PERMANENT-API-TOKEN>")
|
||||||
|
print("Connected to Zabbix API Version %s" % api.api_version())
|
||||||
|
|
||||||
|
# Read file
|
||||||
|
file = open('/usr/lib/zabbix/apiscripts/hosts.txt').read().splitlines()
|
||||||
|
|
||||||
|
# Create a host group
|
||||||
|
host_group = api.hostgroup.create(name="Imported hosts")
|
||||||
|
|
||||||
|
# Create hosts
|
||||||
|
for line in file:
|
||||||
|
line_list = line.split()
|
||||||
|
host_ip = line_list[0]
|
||||||
|
host_name = line_list[1]
|
||||||
|
host_dns = line_list[2] if len(line_list) > 2 else None # Check if host_dns is present
|
||||||
|
|
||||||
|
# Use host_name as dns if host_dns is missing
|
||||||
|
if host_dns:
|
||||||
|
useip = 0
|
||||||
|
else:
|
||||||
|
host_dns = host_name
|
||||||
|
useip = 0
|
||||||
|
|
||||||
|
try:
|
||||||
|
result = api.host.create(
|
||||||
|
host=host_name,
|
||||||
|
groups=[{"groupid": host_group['groupids'][0]}],
|
||||||
|
interfaces=[{
|
||||||
|
"type": 1,
|
||||||
|
"main": 1,
|
||||||
|
"useip": useip,
|
||||||
|
"ip": host_ip,
|
||||||
|
"dns": host_dns,
|
||||||
|
"port": 10050
|
||||||
|
}]
|
||||||
|
)
|
||||||
|
except:
|
||||||
|
print('host ' + host_name + ' not created: ' + str(e))
|
||||||
|
else:
|
||||||
|
print('host ' + host_name + ' created: ' + str(result))
|
||||||
Reference in New Issue
Block a user