On regroupe les plugins munin dans un rpertoire commun toutes les machines
darcs-hash:20060420130121-72cb0-50f87f8f01382a2ddc9afec1b1b6e02890d8d32c.gz
This commit is contained in:
parent
674ee00ed0
commit
f672fa493b
23 changed files with 1451 additions and 0 deletions
132
munin/stats-batiment_
Executable file
132
munin/stats-batiment_
Executable file
|
@ -0,0 +1,132 @@
|
|||
#!/usr/bin/env python
|
||||
# -*- coding: iso-8859-15 -*-
|
||||
|
||||
# Gestion des prises dans les batiments
|
||||
# Pour le moment on ne compte pas les prises CRANS
|
||||
|
||||
import sys,os,string
|
||||
|
||||
sys.path.append('/usr/scripts/gestion')
|
||||
from annuaires import reverse, chbre_prises, bat_switchs, all_switchs, uplink_prises
|
||||
from hptools import hpswitch
|
||||
from ldap_crans import crans_ldap
|
||||
|
||||
# Le fichier de nombre d'adhérent par batiments
|
||||
stats_batiments = "/var/lib/munin/tmp/batiments"
|
||||
|
||||
BAT = sys.argv[0].split('_')[1]
|
||||
|
||||
# Pour les batiments non manageables on indique le nb de prises
|
||||
BAT_CHBRES = {'g' : 312}
|
||||
|
||||
def switch_prise(bat, prise) :
|
||||
''' Renvoie le switch et la prise associé au numéro de la prise '''
|
||||
switch = "bat%s-%i" % (bat, prise/100)
|
||||
prise = prise % 100
|
||||
return (switch, prise)
|
||||
|
||||
multiprise = map(lambda x : len(x[1])>1 and x[0], reverse(BAT).items())
|
||||
while False in multiprise :
|
||||
multiprise.remove(False)
|
||||
|
||||
try :
|
||||
arg = sys.argv[1]
|
||||
except :
|
||||
arg = ''
|
||||
|
||||
if arg == "config" :
|
||||
print 'host_name adherents'
|
||||
print 'graph_title Batiment %s' % string.upper(BAT)
|
||||
print 'graph_args --base 1000 --lower-limit 0'
|
||||
# print 'graph_order activ enabled fixes reste prises chbres'
|
||||
print "graph_vlabel nb de chambres"
|
||||
print 'enabled.label Prises activées'
|
||||
print 'enabled.draw AREA'
|
||||
print 'fixes.label Prises fixes'
|
||||
print 'fixes.draw STACK'
|
||||
print 'reste.label Prises inutilisées'
|
||||
print 'reste.draw STACK'
|
||||
print 'crans.label Prises crans'
|
||||
print 'crans.draw STACK'
|
||||
print 'activ.label Prises actives'
|
||||
print 'adherent.label Nb adhérents'
|
||||
print 'prises.label Nb de prises'
|
||||
print 'chbres.label Nb de chambres'
|
||||
if BAT in BAT_CHBRES :
|
||||
print 'connues.label Nb de chbres enreg.'
|
||||
# print 'reste.warning 5:'
|
||||
# print 'reste.critical 0:'
|
||||
|
||||
else :
|
||||
PRISES_ENABLE = 0
|
||||
for switch in all_switchs(BAT) :
|
||||
try:
|
||||
PRISES_ENABLE += hpswitch(switch).is_enable('all')
|
||||
except:
|
||||
PRISES_ENABLE += 0
|
||||
# On élimine les prises "CRANS" stockés dans uplink_prises
|
||||
for prise in uplink_prises[BAT].keys() :
|
||||
switch, prise = switch_prise(BAT, prise)
|
||||
try:
|
||||
if hpswitch(switch).is_enable(prise) :
|
||||
PRISES_ENABLE -= 1
|
||||
except:
|
||||
PRISES_ENABLE -= 0
|
||||
print "enabled.value %d" % PRISES_ENABLE
|
||||
|
||||
PRISES_ACTIVES = 0
|
||||
for switch in all_switchs(BAT) :
|
||||
try:
|
||||
PRISES_ACTIVES += hpswitch(switch).is_up('all')
|
||||
except:
|
||||
PRISES_ACTIVES += 0
|
||||
# On élimine les prises "CRANS" stockés dans uplink_prises
|
||||
for prise in uplink_prises[BAT].keys() :
|
||||
switch, prise = switch_prise(BAT, prise)
|
||||
try:
|
||||
if hpswitch(switch).is_up(prise) :
|
||||
PRISES_ACTIVES -= 1
|
||||
except:
|
||||
PRISES_ACTIVES -= 0
|
||||
if multiprise != [] :
|
||||
PRISES_ACTIVES -= len(multiprise)
|
||||
for prise in multiprise :
|
||||
PRISES_ACTIVES += len(reverse(BAT)[prise])
|
||||
print "activ.value %d" % PRISES_ACTIVES
|
||||
|
||||
|
||||
PRISES_FIXES = 0
|
||||
if multiprise != [] :
|
||||
PRISES_FIXES = - len(multiprise)
|
||||
for prise in multiprise :
|
||||
PRISES_FIXES += len(reverse(BAT)[prise])
|
||||
print "fixes.value %d" % PRISES_FIXES
|
||||
|
||||
PRISES_CRANS = len(uplink_prises[BAT].keys())
|
||||
|
||||
print "crans.value %d" % PRISES_CRANS
|
||||
|
||||
NB_PRISES = 0
|
||||
for switch in all_switchs(BAT) :
|
||||
try:
|
||||
NB_PRISES += hpswitch(switch).nb_prises()
|
||||
except:
|
||||
NB_PRISES += 0
|
||||
NB_PRISES += PRISES_FIXES
|
||||
print "prises.value %d" % NB_PRISES
|
||||
|
||||
|
||||
print "reste.value %d" % int(NB_PRISES - PRISES_ENABLE - PRISES_FIXES - PRISES_CRANS)
|
||||
|
||||
fichier = open(stats_batiments, 'r')
|
||||
#NB_ADHERENT = 0 # Plus génant qu'autre chose
|
||||
for line in fichier.readlines():
|
||||
if line[3:4] == BAT and line[:3] == "bat" :
|
||||
NB_ADHERENT = line[11:].strip()
|
||||
print "adherent.value %s" % NB_ADHERENT
|
||||
|
||||
if BAT in BAT_CHBRES.keys() :
|
||||
print "chbres.value %d" % BAT_CHBRES[BAT]
|
||||
print "connues.value %d" % len(chbre_prises[BAT].keys())
|
||||
else :
|
||||
print "chbres.value %d" % len(chbre_prises[BAT].keys())
|
Loading…
Add table
Add a link
Reference in a new issue