Package zephir :: Package monitor :: Package agent :: Module uptime
[hide private]
[frames] | no frames]

Source Code for Module zephir.monitor.agent.uptime

 1  # -*- coding: UTF-8 -*- 
 2   
 3  """Informations sur l'utilisation du système 
 4  """ 
 5  import commands 
 6  import os 
 7   
 8  from agent import Agent 
 9  from zephir.monitor.utils import list_to_table 
10   
11 -class Uptime(Agent):
12 """Infos cpu 13 """
14 - def __init__(self):
15 self.name="uptime" 16 self.description="""Informations d'utilisation système""" 17 Agent.__init__(self) 18 # traitements (à restructurer si possible) 19 self.contenu_xml = self._dump_xml() 20 self.contenu_html= self._dump_html() 21 # écriture dans les fichiers 22 self.write_html() 23 self.write_xml()
24
25 - def _uptime(self):
26 """Récupère une sortie système 27 """ 28 exec_cmd = "/usr/bin/uptime" 29 s = commands.getoutput(exec_cmd) 30 lignes = s.splitlines() 31 # On parse la sortie standard de la commande 32 ligne = lignes[0] 33 # nombre d'utilisateurs 34 champs=ligne[:ligne.index('user')] 35 users=int(champs[champs.rindex(',')+1:]) 36 # on récupère le temps d'uptime 37 uptime_str = champs[:champs.rindex(',')] 38 uptime_str = uptime_str[champs.index('up')+2:].strip() 39 40 return uptime_str,users
41 42
43 - def _dump_xml(self):
44 """sortie en xml 45 """ 46 47 UPT_DATA = """<variable name="uptime" value="%s"/> 48 <variable name="utilisateurs" value="%s"/>""" 49 50 return UPT_DATA % (self._uptime())
51
52 - def _dump_html(self):
53 """sortie en html 54 """ 55 uptime,users = self._uptime() 56 57 UPT_HTM = """<ul> 58 <li>serveur en marche depuis : %s</li> 59 <li>nombre d'utilisateurs actuel : %s</li> 60 </ul>""" 61 62 return UPT_HTM % (uptime, users)
63 64 65 if __name__ == "__main__": 66 Uptime() 67 # print res._dump_xml() 68