[cron/monit] gestion pythonesque

Ignore-this: 2603fc0f7e41392f17f6ee46f84137f6
Au passage, on utilise monit monitor all au lieu de relancer le service.

darcs-hash:20130107175917-28565-b8b767cbeaef8206e53a2614b5c370a9fa9dd92f.gz
This commit is contained in:
Daniel STAN 2013-01-07 18:59:17 +01:00
parent 390550458c
commit fcfa026306
5 changed files with 32 additions and 32 deletions

View file

@ -3,7 +3,7 @@
<Path name="/etc/monit/monitrc"/>
<Python name="/etc/monit/services"/>
<Path name="/etc/monit/conf.d/placeholder"/>
<Path name="/etc/cron.d/monit"/>
<Python name="/etc/cron.d/monit"/>
<Package name="monit"/>
<Service name="monit"/>
</Bundle>

View file

@ -1,3 +0,0 @@
<FileInfo>
<Info owner='root' group='root' perms='0644' encoding='base64'/>
</FileInfo>

View file

@ -1,16 +0,0 @@
# Fichier gere par BCfg2 (plugin Cfg)
#
# A ne modifier que sur bcfg2
# Copie de `monit status` sur le nfs
* * * * * root /usr/sbin/monit status > /usr/scripts/monit/status/`hostname` 2> /dev/null
# Montage de /usr/scripts pour que monit puisse écrire son status
*/5 * * * * root if ! [ -d /usr/scripts/monit/status ] ; then if ! /bin/mount | grep /usr/scripts > /dev/null ; then /bin/mount /usr/scripts ; else echo "Erreur d'acces a /usr/scripts/monit/status" ; fi ; fi
# Redémarrage de monit s'il ne tourne pas
*/5 * * * * root if [ -n "$( /usr/sbin/monit status 2>&1 > /dev/null)" ]; then /etc/init.d/monit restart > /dev/null 2> /dev/null; fi
# Redémarrage de monit en cas de non-monitoring d'un service
*/15 * * * * root if [ -n "$( /usr/sbin/monit summary | grep 'not monitored')" ]; then /etc/init.d/monit restart > /dev/null 2> /dev/null; fi

View file

@ -1,12 +0,0 @@
# Fichier gere par Bcfg2 (plugin Cfg)
#
# A ne modifier que sur vert
# Copie de `monit status` vers vert
* * * * * root ( /usr/sbin/monit status | nc -q0 vert.adm.crans.org 5000 ) 2> /dev/null
# Redémarage de monit s'il ne tourne pas
*/5 * * * * root test -n "$( /usr/sbin/monit status 2>&1 > /dev/null)" && /etc/init.d/monit restart
# Redémarrage de monit en cas de non-monitoring d'un service
*/15 * * * * root test -n "$( /usr/sbin/monit summary | grep 'not monitored')" && /etc/init.d/monit restart &> /dev/null

31
Python/etc/cron.d/monit Normal file
View file

@ -0,0 +1,31 @@
# -*- encoding: utf-8 -*-
info["owner"] = "root"
info["group"] = "root"
info["perms"] = 0644
@# Fichier gere par BCfg2 (plugin Cfg)
@#
@# A ne modifier que sur bcfg2
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
else:
@# Copie de `monit status` sur le nfs
print "* * * * * root %s status > /usr/scripts/monit/status/`hostname` 2> /dev/null" % monit_p
@# Montage de /usr/scripts pour que monit puisse écrire son status
@*/5 * * * * root if ! [ -d /usr/scripts/monit/status ] ; then if ! /bin/mount | grep /usr/scripts > /dev/null ; then /bin/mount /usr/scripts ; else echo "Erreur d'acces a /usr/scripts/monit/status" ; fi ; fi
@# Redémarrage de monit s'il ne tourne pas
print """*/5 * * * * root if [ -n "$( %s status 2>&1 > /dev/null)" ]; then /etc/init.d/monit restart > /dev/null 2> /dev/null; fi""" % monit_p
@# Redémarrage de monit en cas de non-monitoring d'un service
print """*/15 * * * * root if [ -n "$( %s summary | grep 'not monitored')" ]; then %s monitor all > /dev/null 2> /dev/null; fi""" % (monit_p, monit_p)