Skip to content

Instantly share code, notes, and snippets.

@guelau
Created November 14, 2018 10:50
Show Gist options
  • Save guelau/e1f0b4577385bd1292cc03e4569006a6 to your computer and use it in GitHub Desktop.
Save guelau/e1f0b4577385bd1292cc03e4569006a6 to your computer and use it in GitHub Desktop.
Autoregister and remove Host in Zabbix
#!/usr/bin/python
# Based on Samuel Cozannet's script
# Updated by Laurent (laurent@guesttoguest.com)
#
# Note: requires pyzabbix to be installed.
# root@zabbix.local~# pip install pyzabbix
#
from pyzabbix import ZabbixAPI
import argparse
import sys
import yaml
import json
import pprint
parser = argparse.ArgumentParser(description="delete a host with a given IP Address from Zabbix")
parser.add_argument('-c', action="store", dest="conffile", default='.zabbixapi.yaml')
parser.add_argument('hostip', type=str, help = 'IP address of host to delete')
args = parser.parse_args()
with open(args.conffile, 'r') as f:
conf = yaml.load(f)
zapi = ZabbixAPI(server=conf["zabbix-api"]["endpoint"])
zapi.login(conf["zabbix-api"]["login"], conf["zabbix-api"]["password"])
hostid=zapi.host.get(filter={'ip': args.hostip } )
if hostid:
id = hostid[0]["hostid"]
print("deleting host {0}".format(id) + " with IP Address {0}".format(args.hostip))
result = zapi.host.delete(id)
print(result)
zabbix-api: endpoint: "http://localhost" login: "rpc" password: "rpcpassword"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment