From 68e9ae8471437c550eb3ea14616d8b1ca64e47f2 Mon Sep 17 00:00:00 2001 From: chove Date: Sat, 1 Oct 2005 19:12:45 +0200 Subject: [PATCH] on afffiche une erreur quand monit ne tourne pas (fichier de status de plus de 3 minutes) darcs-hash:20051001171245-4ec08-8804494a98bc6d1345c893ffccbfb895ecb6062f.gz --- wiki/macro/MonitStatus.py | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/wiki/macro/MonitStatus.py b/wiki/macro/MonitStatus.py index d3ac735a..f546f04f 100644 --- a/wiki/macro/MonitStatus.py +++ b/wiki/macro/MonitStatus.py @@ -1,6 +1,6 @@ # -*- coding: iso-8859-1 -*- -import os, sys, sre, commands +import os, sys, sre, commands, time """ Permet d'intégrer au wiki les résultats de Monit. @@ -22,7 +22,11 @@ def NotRunningHosts() : Retourne la liste des hotes ou Monit ne tourne pas ou que le fichier de status est trop vieux """ - return [] + hosts = [] + for host in os.listdir(statusfolder) : + if os.path.getmtime('/usr/scripts/monit/status/%s' % host) < time.time() - 180 : + hosts.append(host) + return hosts def HostStatus (host) : """ @@ -77,6 +81,11 @@ def AllStatusOff () : status = AllStatus() for h in status.keys() : + + # si c'est un host qui est down, on le laisse tel quel pour éviter qu'il le supprime + if h in NotRunningHosts() : + continue + # on supprime les types for t in status[h].keys() : @@ -163,6 +172,10 @@ def FormatHost (Host, Data, f) : result += f.text(Host)[0].upper() + f.text(Host)[1:] result += f.heading(0,2) + # si monit ne tourne pas + if Host in NotRunningHosts() : + return result + Cellule('Monit ne semble pas tourner sur %s' % Host,'yellow',f) + result += f.table(1) result += f.table_row(1) for t in Data.keys() :