#!/usr/bin/env python
import sys
from pynag.Parsers import config
hostname = sys.argv[1]
class NagiosTools:
def __init__(self):
self.nc = config('/usr/local/nagios/etc/nagios.cfg') self.nc.parse()
def removeHost(self, hostname):
host_obj = self.nc.get_host(hostname)
if not host_obj:
sys.stderr.write('Host %s not found\n' % hostname)
sys.exit(2)
# Remove from hosts.cfg
print 'Removing %s...' % hostname
self.nc.delete_host(hostname)
# Remove from hostgroups.cfg
if hostname in i['members']:
match_group = self.nc.get_hostgroup(i['hostgroup_name'])
print 'Removing %s from %s' % (hostname, i['hostgroup_name'])
new_group = match_group['members'].split(',')
new_group.remove(hostname)
new_group.sort()
self.nc['all_hostgroup'].remove(match_group) match_group['members'] = ','.join(new_group)
match_group['meta']['needs_commit'] = True
self.nc['all_hostgroup'].append(match_group) self.nc.commit()
c = NagiosTools()
c.removeHost(hostname)