1
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
12 """Infos cpu
13 """
15 self.name="uptime"
16 self.description="""Informations d'utilisation système"""
17 Agent.__init__(self)
18
19 self.contenu_xml = self._dump_xml()
20 self.contenu_html= self._dump_html()
21
22 self.write_html()
23 self.write_xml()
24
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
32 ligne = lignes[0]
33
34 champs=ligne[:ligne.index('user')]
35 users=int(champs[champs.rindex(',')+1:])
36
37 uptime_str = champs[:champs.rindex(',')]
38 uptime_str = uptime_str[champs.index('up')+2:].strip()
39
40 return uptime_str,users
41
42
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
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
68