From 12c23579e96bceece483956c0e17200decc46ab3 Mon Sep 17 00:00:00 2001 From: Daniel STAN Date: Thu, 16 May 2013 04:22:51 +0200 Subject: [PATCH] [monit] monitor des serveurs non-nfs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ie 2 dom0 et ovh. On pourrait envisager de généraliser, si on veut se passer du lagguy shitty /usr/scripts en nfs --- Python/etc/cron.d/monit | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Python/etc/cron.d/monit b/Python/etc/cron.d/monit index 119cfa6..7c6d91e 100644 --- a/Python/etc/cron.d/monit +++ b/Python/etc/cron.d/monit @@ -8,14 +8,26 @@ info["perms"] = 0644 @# @# A ne modifier que sur bcfg2 +include('ip') + if has('wheezy'): monit_p = '/usr/bin/monit' else: monit_p = '/usr/sbin/monit' -if has('external'): - @# Copie de `monit status` vers vert - print "* * * * * root ( %s status | nc -q0 vert.adm.crans.org 5000 ) 2> /dev/null" % monit_p +def has_shared_scripts(client): + return ('external' not in client.groups) and ( + ('nfs' in client.groups) or ('crans-nfs' in client.groups)) + +if has('autostatus'): + comment("Seveurs ne possedant pas de nfs :") + for client in metadata.query.all(): + if not has_shared_scripts(client): + print "* * * * * root ( /bin/nc %s 4242 || true ) > /usr/scripts/var/monit/status/%s 2> /dev/null" % (client.hostname, client.hostname.split('.', 1)[0]) + +if not has_shared_scripts(metadata): + comment("Pas de nfs: attente de connexion depuis le serveur d'autostatus") + print '* * * * * root ( /bin/nc -w 60 -l -p 4242 -s %s -c "%s status" || true ) 2> /dev/null' % (admip(), monit_p) else: @# Copie de `monit status` sur le nfs print "* * * * * root %s status > /usr/scripts/var/monit/status/`hostname` 2> /dev/null" % monit_p