[annuaires/munin] rajouts de switchs
This commit is contained in:
parent
15bc866616
commit
d059fb154b
3 changed files with 31 additions and 29 deletions
|
@ -156,6 +156,7 @@ uplink_prises={ 'a' :
|
|||
725 : 'uplink->batg-9', 726 : 'libre-service',
|
||||
|
||||
801 : 'uplink->batg-1', 802 : 'uplink->batg-2',
|
||||
|
||||
803 : 'uplink->batg-3', 821 : 'uplink->batg-0',
|
||||
823 : 'uplink->batg-9',
|
||||
|
||||
|
@ -250,29 +251,30 @@ uplink_prises={ 'a' :
|
|||
},
|
||||
}
|
||||
|
||||
def all_switchs(bat=None):
|
||||
def all_switchs(bat=None, hide=['backbone.adm.crans.org',
|
||||
'multiprise-v6.adm.crans.org',
|
||||
'batk-0.crans.org']):
|
||||
"""Retourne la liste des switchs pour un batiment.
|
||||
|
||||
Si bat est donné, seulement pour le bâtiment demandé, sinon pour
|
||||
tous les bâtiments. bat peut être une liste aussi. Le backbone n'est
|
||||
pas pris en compte. La convention est batx-y sauf si y=0 et on a donc
|
||||
simplement batx"""
|
||||
def cmp(x,y):
|
||||
if int(x[5]) < int(y[5]): return 1
|
||||
if x[3] < y[3]: return 1
|
||||
return -1
|
||||
|
||||
if bat == None:
|
||||
bat = bat_switchs
|
||||
if type(bat) not in [ tuple, list ] :
|
||||
bat = [bat]
|
||||
switchs = []
|
||||
for b in map(lambda x: x.lower(), bat):
|
||||
dup = map(lambda x: x[0], reverse(b).keys())
|
||||
# dup contient des elements en double
|
||||
for n in list(dict(zip(dup,[None]*len(dup)))):
|
||||
switchs.append("bat%s-%s.adm.crans.org" % (b, n))
|
||||
switchs.sort(cmp)
|
||||
for b in bat:
|
||||
indexes = set(n/100 for n in uplink_prises[b])
|
||||
for i in indexes:
|
||||
switchs.append("bat%s-%s.adm.crans.org" % (b, i))
|
||||
# on ajoute quand-même le backbone et/ou multiprise-v6 si demandé
|
||||
switchs += set(['backbone.adm.crans.org', 'multiprise-v6.adm.crans.org',
|
||||
'batk-0.crans.org']).difference(hide)
|
||||
|
||||
switchs.sort()
|
||||
return switchs
|
||||
|
||||
# Locaux clubs : lecture dans chbre_prises et ajout des locaux dans les bats non
|
||||
|
|
|
@ -37,7 +37,7 @@ file_host=`basename $0 | sed 's/^ping_//g' | sed 's/_/-/g'`
|
|||
host=${host:-${file_host:-www.google.com}}
|
||||
|
||||
if [ "$1" = "config" ]; then
|
||||
echo host_name `basename $host | sed 's/-//g'`
|
||||
echo host_name `basename $host`
|
||||
echo graph_title Ping times from $hostname
|
||||
echo 'graph_args --base 1000 -l 0'
|
||||
echo 'graph_vlabel seconds'
|
||||
|
|
|
@ -101,7 +101,6 @@ hosts_plugins = {
|
|||
"audimat": "audimat",
|
||||
"batiments": "batiments",
|
||||
"munin": "munin",
|
||||
"ping_multiprise_v6.adm": "ping_",
|
||||
"stats-ip": "stats-ip",
|
||||
# La suite plus bas...
|
||||
},
|
||||
|
@ -133,11 +132,12 @@ for bat in annuaires.bat_switchs:
|
|||
hosts_plugins["dyson"]["stats-batiment_%s" % bat] = "stats-batiment_"
|
||||
|
||||
# Ping de tous les switches de bâtiments
|
||||
for switch in annuaires.all_switchs():
|
||||
# Suppression du .adm.crans.org
|
||||
switch = switch[:switch.index('.')]
|
||||
for switch in annuaires.all_switchs(hide=[]):
|
||||
# Suppression du .crans.org pour plus de clarté dans les confs
|
||||
# (tous les switchs n'étant pas sur adm, on garde quand-même ce suffixe)
|
||||
switch = switch[:switch.rindex('.crans.org')]
|
||||
switch = switch.replace('-', '_')
|
||||
hosts_plugins["dyson"]["ping_%s.adm" % switch] = "ping_bat_"
|
||||
hosts_plugins["dyson"]["ping_%s" % switch] = "ping_bat_"
|
||||
|
||||
# On rajoute les stats de connexion
|
||||
for host in hosts_plugins.keys():
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue