Watchdog na routovaci tabulku: Porovnání verzí

Z HKfree wiki
Přejít na: navigace, hledání
m (Editace uživatele „195.225.176.35“ vrácena do předchozího stavu, jehož autorem je „VojtaLhota“.)
Řádka 1: Řádka 1:
Občas se na routerech stává, se zasekne proces zebra a/nebo ospfd. Normální routovací tabulka v hkfree mívá okolo 380 položek (srpen 2005). Zaseknutí zebry se projeví (kromě nefunkčnosti sítě/internetu okolo vašeho routeru) tak, že má najednou routovací tabulka pouze několik málo řádků (5-20 dle konfigurace) i přesto, že procesy běží (jsou vidět v ps) a na portech 2601 resp 2604 komunikují. Právě tohoto jevu využívá můj skript, který oba procesy zrestartuje. Je třeba ho spouštět 1x za několik minut (navrhuji 3 minuty) pomocí cronu. Do /etc/crontab vložíme řádek:  */3 * * * * root /usr/local/bin/routedog.sh Vlastní skript (/usr/local/bin/routedog.sh)  #!/bin/sh # Skript na hlidani zebry ospfd # VojtaLhota pro HKfree.org, 8/2005 # # Spoustet z /etc/crontab kazdych 5 minut takto: #
+
Občas se na routerech stává, se zasekne proces zebra a/nebo ospfd. Normální routovací tabulka v hkfree mívá okolo 380 položek (srpen 2005). Zaseknutí zebry se projeví (kromě nefunkčnosti sítě/internetu okolo vašeho routeru) tak, že má najednou routovací tabulka pouze několik málo řádků (5-20 dle konfigurace) i přesto, že procesy běží (jsou vidět v ps) a na portech 2601 resp 2604 komunikují. Právě tohoto jevu využívá můj skript, který oba procesy zrestartuje. Je třeba ho spouštět 1x za několik minut (navrhuji 3 minuty) pomocí cronu.  
 +
 
 +
Do /etc/crontab vložíme řádek:
 +
 
 +
  */3 * * * * root /usr/local/bin/routedog.sh
 +
 
 +
Vlastní skript (/usr/local/bin/routedog.sh)
 +
 
 +
  #!/bin/sh
 +
# Skript na hlidani zebry+ospfd
 +
# VojtaLhota pro HKfree.org, 8/2005
 +
#
 +
# Spoustet z /etc/crontab kazdych 5 minut takto:
 +
# "*/3 * * * * root /usr/local/bin/routedog.sh"
 +
#
 +
# Pokud routovaci tabulka obsahuje prilis malo zaznamu,
 +
# svedci to o tom, ze se vnitrne zaseklo ospfd, nebo nebezi vubec.
 +
#
 +
# srpen 2005 - v routovacich tabulkach HKfree je cca 380 radku.
 +
# Jako limit volim pouze 50, abych zbytecne nerestartoval kdyz se opravdu
 +
# rozpadne sit.
 +
#
 +
 +
POLOZEK="`route -n | grep ^[0-9] | wc -l | sed s/[^0-9]//`"
 +
LIMIT=50
 +
 +
if [  $POLOZEK -lt $LIMIT ]
 +
then
 +
  MESSAGE="$0: Routovaci tabulka ma jen $POLOZEK radku, to je mene nez $LIMIT, restartuji procesy: zebra,  ospfd."
 +
  logger "$MESSAGE"
 +
  sleep 2
 +
  killall ospfd
 +
  killall zebra
 +
  sleep 1
 +
  zebra -d &>/dev/null
 +
  ospfd -d &>/dev/null
 +
fi
 +
 
 +
zveřejnil: VojtaLhota, 19.8.2005
 +
 
 +
Rozšířená verze která táž kontroluje, zda procesy vůbec běží (na routeru Hrádek se občas stávalo, že proces odpfd skončil (nebyl v ps) ale přesto zůstala routovací tabulka plná)
 +
 
 +
#!/bin/sh
 +
# Skript na hlidani zebry+ospfd
 +
# VojtaLhota pro HKfree.org, 8/2005
 +
#
 +
# Spoustet z /etc/crontab kazdych 5 minut takto:
 +
# "*/3 * * * * root /usr/local/bin/routedog.sh"
 +
#
 +
# Pokud routovaci tabulka obsahuje prilis malo zaznamu,
 +
# svedci to o tom, ze se vnitrne zaseklo ospfd, nebo nebezi vubec.
 +
#
 +
# srpen 2005 - v routovacich tabulkach HKfree je cca 380 radku.
 +
# Jako limit volim pouze 50, abych zbytecne nerestartoval kdyz se opravdu
 +
# rozpadne sit.
 +
#
 +
 +
POLOZEK="`route -n | grep ^[0-9] | wc -l | sed s/[^0-9]//`"
 +
LIMIT=50
 +
 +
if [  $POLOZEK -lt $LIMIT ]
 +
then
 +
  MESSAGE="$0: Routovaci tabulka ma jen $POLOZEK radku, to je mene nez $LIMIT, restartuji procesy: zebra,  ospfd."
 +
  logger "$MESSAGE"
 +
  sleep 2
 +
  killall ospfd
 +
  killall zebra
 +
  sleep 1
 +
  zebra -d &>/dev/null
 +
  ospfd -d &>/dev/null
 +
fi
 +
 +
#
 +
# Dale kontrolujeme prosty beh tech procesu.
 +
#
 +
if ! ps ax | grep ospfd | grep -v grep &>/dev/null
 +
then
 +
  MESSAGE="$0: nebezi ospfd, restartuji procesy: zebra, ospfd."
 +
  logger "$MESSAGE"
 +
  killall ospfd
 +
  killall zebra
 +
  sleep 1
 +
  zebra -d &>/dev/null
 +
  ospfd -d &>/dev/null
 +
fi
 +
 +
if ! ps ax | grep zebra | grep -v grep &>/dev/null
 +
then
 +
  MESSAGE="$0: nebezi zebra, restartuji procesy: zebra, ospfd."
 +
  logger "$MESSAGE"
 +
  killall ospfd
 +
  killall zebra
 +
  sleep 1
 +
  zebra -d &>/dev/null
 +
  ospfd -d &>/dev/null
 +
fi
 +
 
 +
 
 +
zveřejnil: VojtaLhota, 7.9.2005

Verze z 17. 12. 2005, 17:23

Občas se na routerech stává, se zasekne proces zebra a/nebo ospfd. Normální routovací tabulka v hkfree mívá okolo 380 položek (srpen 2005). Zaseknutí zebry se projeví (kromě nefunkčnosti sítě/internetu okolo vašeho routeru) tak, že má najednou routovací tabulka pouze několik málo řádků (5-20 dle konfigurace) i přesto, že procesy běží (jsou vidět v ps) a na portech 2601 resp 2604 komunikují. Právě tohoto jevu využívá můj skript, který oba procesy zrestartuje. Je třeba ho spouštět 1x za několik minut (navrhuji 3 minuty) pomocí cronu.

Do /etc/crontab vložíme řádek:

*/3 * * * * root /usr/local/bin/routedog.sh

Vlastní skript (/usr/local/bin/routedog.sh)

#!/bin/sh
# Skript na hlidani zebry+ospfd
# VojtaLhota pro HKfree.org, 8/2005
#
# Spoustet z /etc/crontab kazdych 5 minut takto:
# "*/3 * * * * root /usr/local/bin/routedog.sh"
#
# Pokud routovaci tabulka obsahuje prilis malo zaznamu,
# svedci to o tom, ze se vnitrne zaseklo ospfd, nebo nebezi vubec.
#
# srpen 2005 - v routovacich tabulkach HKfree je cca 380 radku.
# Jako limit volim pouze 50, abych zbytecne nerestartoval kdyz se opravdu
# rozpadne sit.
#

POLOZEK="`route -n | grep ^[0-9] | wc -l | sed s/[^0-9]//`"
LIMIT=50

if [  $POLOZEK -lt $LIMIT ]
then
 MESSAGE="$0: Routovaci tabulka ma jen $POLOZEK radku, to je mene nez $LIMIT, restartuji procesy: zebra,  ospfd."
 logger "$MESSAGE"
 sleep 2
 killall ospfd
 killall zebra
 sleep 1
 zebra -d &>/dev/null
 ospfd -d &>/dev/null
fi

zveřejnil: VojtaLhota, 19.8.2005

Rozšířená verze která táž kontroluje, zda procesy vůbec běží (na routeru Hrádek se občas stávalo, že proces odpfd skončil (nebyl v ps) ale přesto zůstala routovací tabulka plná)

#!/bin/sh
# Skript na hlidani zebry+ospfd
# VojtaLhota pro HKfree.org, 8/2005
#
# Spoustet z /etc/crontab kazdych 5 minut takto:
# "*/3 * * * * root /usr/local/bin/routedog.sh"
#
# Pokud routovaci tabulka obsahuje prilis malo zaznamu,
# svedci to o tom, ze se vnitrne zaseklo ospfd, nebo nebezi vubec.
#
# srpen 2005 - v routovacich tabulkach HKfree je cca 380 radku.
# Jako limit volim pouze 50, abych zbytecne nerestartoval kdyz se opravdu
# rozpadne sit.
#

POLOZEK="`route -n | grep ^[0-9] | wc -l | sed s/[^0-9]//`"
LIMIT=50

if [  $POLOZEK -lt $LIMIT ]
then
 MESSAGE="$0: Routovaci tabulka ma jen $POLOZEK radku, to je mene nez $LIMIT, restartuji procesy: zebra,  ospfd."
 logger "$MESSAGE"
 sleep 2
 killall ospfd
 killall zebra
 sleep 1
 zebra -d &>/dev/null
 ospfd -d &>/dev/null
fi

#
# Dale kontrolujeme prosty beh tech procesu.
#
if ! ps ax | grep ospfd | grep -v grep &>/dev/null
then
 MESSAGE="$0: nebezi ospfd, restartuji procesy: zebra, ospfd."
 logger "$MESSAGE"
 killall ospfd
 killall zebra
 sleep 1
 zebra -d &>/dev/null
 ospfd -d &>/dev/null
fi

if ! ps ax | grep zebra | grep -v grep &>/dev/null
then
 MESSAGE="$0: nebezi zebra, restartuji procesy: zebra, ospfd."
 logger "$MESSAGE"
 killall ospfd
 killall zebra
 sleep 1
 zebra -d &>/dev/null
 ospfd -d &>/dev/null
fi


zveřejnil: VojtaLhota, 7.9.2005