Outils pour utilisateurs

Outils du site


start:supervision:check_mk:quagga

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
start:supervision:check_mk:quagga [2012/12/28 15:40]
domi créée
start:supervision:check_mk:quagga [2012/12/28 15:49]
domi
Ligne 1: Ligne 1:
  
 Pour vérifier l'​état des sessions BGP sur les routeurs Linux tournant [[http://​www.quagga.net/​|Quagga]] on utilise un plugin local pour ''​check_mk''​ qui va donc régulièrement interroger Quagga pour connaitre les sessions en cours, et leur état. Un fichier de configuration permet de définir, en spécifiant les numéros d'AS, les sessions à ignorer, ou celles qui sont critiques (un client, un transitaire,​ par exemple). Par défaut une session qui n'est pas active, et pour laquelle ce n'est pas volontaire (''​shutdown''​) donne un retour WARNING. Pour vérifier l'​état des sessions BGP sur les routeurs Linux tournant [[http://​www.quagga.net/​|Quagga]] on utilise un plugin local pour ''​check_mk''​ qui va donc régulièrement interroger Quagga pour connaitre les sessions en cours, et leur état. Un fichier de configuration permet de définir, en spécifiant les numéros d'AS, les sessions à ignorer, ou celles qui sont critiques (un client, un transitaire,​ par exemple). Par défaut une session qui n'est pas active, et pour laquelle ce n'est pas volontaire (''​shutdown''​) donne un retour WARNING.
- 
-Le script communiquant avec Quagga utilise expect. 
  
   * ''​DISABLEPWD''​ est le mot de passe Quagga pour pouvoir se connecter   * ''​DISABLEPWD''​ est le mot de passe Quagga pour pouvoir se connecter
Ligne 10: Ligne 8:
 #!/bin/bash #!/bin/bash
  
 +## Neuronnexion - www.neuronnexion.coop - tech@nnx.com ​
 +## Released under the terms of GNU/GPL
 +  ​
 conf="/​etc/​check_mk/​bgp.conf"​ conf="/​etc/​check_mk/​bgp.conf"​
 script_expect="/​usr/​local/​bin/​bgp_summary localhost bgpd DISABLEPWD ENABLEPWD"​ script_expect="/​usr/​local/​bin/​bgp_summary localhost bgpd DISABLEPWD ENABLEPWD"​
Ligne 58: Ligne 59:
 </​file>​ </​file>​
  
 +Exemple de fichier de configuration.
  
 +<file bash /​etc/​check_mk/​bgp.conf>​
 +# Keywords : critical or exclude
 +# AS like ASXXXX
 +# Description is not an option ;)
 +
 +# this one is a transit
 +critical:​AS29075:​Ielo
 +# this one keeps flapping
 +exclude:​AS666:​BadPeer
 +</​file>​
 +
 +(en vrai, on a pas de session avec l'AS 666 ;-)
 +
 +
 +Le script communiquant avec Quagga utilise expect.
 +
 +<file expect /​usr/​local/​bin/​bgp_summary>​
 +#​!/​usr/​bin/​expect -f
 +
 +# Utilisé par le check_mk_agent pour gérer la vue des sessions BGP
 +# Viva NNX
 +
 +# Note: this script is NOT good example of writting code in Expect at all.
 +
 +if { [llength $argv] != 4 } {
 +
 +  puts "​Expect 'show ip bgp summary'​ script for Quagga services."​
 +  puts "​Copyright (C) 2007 Matous Jan Fialka."​
 +  puts "​Released under the terms of GNU/​GPL.\n"​
 +  puts "​Usage:​ hostname { service | port } disable_password enable_password\n"​
 +  puts "​Example:​ qshru.exp localhost zebra secret password\n"​
 +  puts "Use with extreme caution! You have been warned..."​
 +  exit 1
 +}
 +
 +set hostname [lindex $argv 0]
 +set service [lindex $argv 1]
 +set disable_password [lindex $argv 2]
 +set enable_password [lindex $argv 3]
 +
 +set disable_prompt "​^*>"​
 +set enable_prompt "​^*#"​
 +
 +set disable_password_prompt "​Password:"​
 +set enable_password_prompt "​Password:"​
 +
 +set terminal_length_command "​terminal length 0"
 +set enable_command "​enable"​
 +set disable_command "​disable"​
 +set quit_command "​quit"​
 +set show_running_config_command "show running-config"​
 +set show_ip_bgp_summary "show ip bgp summary"​
 +
 +set timeout 10
 +
 +set telnet /​usr/​bin/​telnet
 +
 +spawn "​$telnet"​ "​$hostname"​ "​$service"​
 +
 +expect "​$disable_password_prompt"​
 +send "​$disable_password\r"​
 +
 +expect "​$disable_prompt"​
 +send "​$terminal_length_command\r"​
 +
 +expect "​$disable_prompt"​
 +send "​$enable_command\r"​
 +
 +expect "​$enable_password_prompt"​
 +send "​$enable_password\r"​
 +
 +expect "​$enable_prompt"​
 +send "​$show_ip_bgp_summary\r"​
 +#send "​$show_running_config_command\r"​
 +
 +expect "​$enable_prompt"​
 +send "​$disable_command\r"​
 +
 +expect "​$disable_prompt"​
 +send "​$quit_command\r"​
 +
 +expect eof
 +puts "​\nBye,​ bye..."​
 +
 +exit 0
 +
 +</​file>​
start/supervision/check_mk/quagga.txt · Dernière modification: 2012/12/28 15:49 par domi