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] – créée domistart:supervision:check_mk:quagga [2012/12/28 15:49] (Version actuelle) 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.1356705645.txt.gz · Dernière modification : 2012/12/28 15:40 de domi