Add support for optional nagios_hostname set by nrpe-external-master

This commit is contained in:
Jacek Nykis 2014-05-02 15:18:00 +01:00
parent f5e46b121f
commit 9183ec3a72
4 changed files with 15 additions and 4 deletions

1
.bzrignore Normal file
View File

@ -0,0 +1 @@
revision

View File

@ -179,12 +179,15 @@ class NRPE(object):
nagios_exportdir = '/var/lib/nagios/export'
nrpe_confdir = '/etc/nagios/nrpe.d'
def __init__(self):
def __init__(self, hostname=None):
super(NRPE, self).__init__()
self.config = config()
self.nagios_context = self.config['nagios_context']
self.unit_name = local_unit().replace('/', '-')
self.hostname = "{}-{}".format(self.nagios_context, self.unit_name)
if hostname:
self.hostname = hostname
else:
self.hostname = "{}-{}".format(self.nagios_context, self.unit_name)
self.checks = []
def add_check(self, *args, **kwargs):

View File

@ -33,6 +33,7 @@ from charmhelpers.core.hookenv import (
related_units,
service_name,
local_unit,
relations_of_type,
config,
unit_get,
is_relation_made,
@ -360,6 +361,12 @@ def update_nrpe_checks():
'check_rabbitmq.py'),
os.path.join(NAGIOS_PLUGINS, 'check_rabbitmq.py'))
# Find out if nrpe set nagios_hostname
hostname=None
for rel in relations_of_type('nrpe-external-master'):
if 'nagios_hostname' in rel:
hostname = rel['nagios_hostname']
break
# create unique user and vhost for each unit
current_unit = local_unit().replace('/', '-')
user = 'nagios-%s' % current_unit
@ -370,7 +377,7 @@ def update_nrpe_checks():
rabbit.create_user(user, password)
rabbit.grant_permissions(user, vhost)
nrpe_compat = NRPE()
nrpe_compat = NRPE(hostname=hostname)
nrpe_compat.add_check(
shortname=rabbit.RABBIT_USER,
description='Check RabbitMQ',

View File

@ -1 +1 @@
116
128