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() :