Monitoring: Porovnání verzí

Z Freenetis Wiki
Přejít na: navigace, hledání
(Spuštění)
 
(Není zobrazeno 18 mezilehlých verzí od 2 dalších uživatelů.)
Řádek 1: Řádek 1:
 +
[[en:Monitoring (english)]]
 
__TOC__
 
__TOC__
== Instalace ==
+
 
 +
Monitoring ve FreenetISu je založena na nástroji '''fping'''. Samotný monitoring je deamon běžící na linuxuvém stroji, který má přístup do Vaší vnitřní sítě a k serveru, na kterém běží FreenetIS. ''(FreenetIS i monitoring mohou běžet na jednom stroji, ale tato konfigurace není doporučena, jelikož monitoring vytváří velkou zátěž na běhový server)''
 +
 
 +
Monitoring komunikuje s FreenetISem pomocí nástroje '''wget'''. Z FreenetiISu získává IP adresy v síti, které má monitorovat. Poté proběhne samotný test dostupnosti jednotlivých adres. Výstup testu je zaslán zpět FreenetISu, který jej zobrazí v rozhraní monitoringu.
 +
 
 +
=== Priorita monitorování ===
 +
 
 +
Nejedná se o priority v pravém slova smyslu, spíše priority jdou pomocí něj simulovat. Přesnější termín by byl zřejmě skupiny.
 +
 
 +
Ve FreenetISu si zařízení rozdělíme do jednotlivých priorit. Pro každou prioritu je spustit jeden samostatný proces monitorování.
 +
 
 +
''Praktické použití: Zařízení sdružení (tj. nejdůležitější) si označíme prioritou 1 (např. 500 zařízení), ostatní zařízení, které chceme z nějakého důvodu monitorovat si označíme prioritou 2 (např. 2500 zařízení).''
 +
 
 +
=== Upozornění na e-mail ===
 +
 
 +
FreenetIS posílá informace na e-mail o zařízeních, které nejsou dostupné a o zařízeních, které byly nedostupné a již jsou opět dostupné. Interval upozorňování se postupně zvyšuje - první minuty se posílá upozornění každou minutu, po 5 minutách již každé 3 minutách, po 10 minutách po 5 minutách atd. U znovu funkčních zařízení se pak posílájí e-maily jenom do 10 minut od znovu najetí.
 +
 
 +
Programátorsky je pak vše řešené přes e-mailové fronty a metody push, která e-mail s upozorněním vloží na vršek fronty (tj. odešle se jako první).
 +
 
 +
== Instalace ze zdrojových kódů ==
 +
 
 +
'''Tento postup instalace je zde pro vývojářské účely. Koncový uživatelé by měli instalovat pomocí balíku [http://wiki.freenetis.org/index.php/Instalace#Bal.C3.ADk_freenetis-monitoring frenetis-monitoring].'''
  
 
=== Závislosti ===
 
=== Závislosti ===
Řádek 6: Řádek 28:
 
  apt-get install fping
 
  apt-get install fping
  
=== Skript ===
+
=== Instalace ===
 +
 
 +
Skripty a konfigurační soubor nalezneme ve složce '''/application/vendors/monitoring''' ve zdrojových souborech FreenetISu. Postup instalace:
 +
 
 +
1) Zkopírujeme soubory
 +
 
 +
sudo mkdir /etc/freenetis
 +
cd ./application/vendors/monitoring
 +
sudo cp ./freenetis-monitoring.init.sh /etc/init.d/freenetis-monitoring
 +
sudo cp ./freenetis-monitord.sh /usr/sbin/freenetis-monitord
 +
sudo cp ./freenetis-monitoring.conf /etc/freenetis
  
Následující kód uložit jako /usr/local/sbin/freenetis-monitor (nastavit správně proměnné HOSTS_INPUT_URL a HOSTS_OUTPUT_URL):
+
2) Nastavit práva pro spouštění
  
  #!/bin/bash
+
  sudo chmod +x /etc/init.d/freenetis-monitoring
+
  sudo chmod +x /usr/sbin/freenetis-monitord
# URL with IP addresses to monitor
 
HOSTS_INPUT_URL="http://freenetis.example.org/cs/web_interface/monitoring_hosts/"
 
 
# URL to which we send result
 
HOSTS_OUTPUT_URL="http://freenetis.example.org/cs/web_interface/monitoring_states/"
 
 
# temporary file with list of IP addresses to monitor
 
HOSTS_INPUT=`mktemp`
 
 
# temporary file with result to send
 
HOSTS_OUTPUT=`mktemp`
 
 
echo "Downloading list of IP addresses to monitor..."
 
 
# get ip addresses from FreenetIS
 
wget -q "$HOSTS_INPUT_URL$1" -O "$HOSTS_INPUT"
 
 
  # use fping to get ip addresses states
 
fping -e -f "$HOSTS_INPUT" 2>/dev/null | while read host
 
do
 
# ip address
 
ip=`echo $host | awk '{print $1}'`
 
 
# state of host (alive or unreachable)
 
state=`echo $host | awk '{print $3}'`
 
 
# latency of host (only for alive state)
 
lat=`echo $host | awk '{print $4}' | sed 's/(//'`
 
 
# do not add ampersand to beginning of file with result
 
if [ -s "$HOSTS_OUTPUT" ];
 
then
 
echo -n "&" >> "$HOSTS_OUTPUT";
 
fi
 
 
# add variables to file with result
 
echo "ip[]=$ip&state[]=$state&lat[]=$lat" >> "$HOSTS_OUTPUT"
 
done
 
 
# remove temporary file with IP addresses to monitor
 
rm "$HOSTS_INPUT"
 
 
echo "Sending result data back to FreenetIS..."
 
 
# send file with result back to FreenetIS
 
wget -q --post-file="$HOSTS_OUTPUT" "$HOSTS_OUTPUT_URL"
 
 
# remove temporary file with result
 
rm "$HOSTS_OUTPUT"
 
  
Nastavit práva pro spouštění:
+
3) Přidat automatické spouštění po bootu
  
  chmod +x /usr/local/sbin/freenetis-monitor
+
  sudo update-rc.d freenetis-monitoring defaults
  
== Spuštění ==
+
=== Konfigurace ===
  
Skript je nutné spouštět ve věčném cyklu (např. ve [http://cs.wikipedia.org/wiki/GNU_Screen screenu]):
+
V konfiguračním souboru ''(/etc/freenetis/freenetis-monitoring.conf)'' '''je nutné nastavit cestu ke FreenetISu ''(proměnná PATH_FN)''.'''
  
while true; do freenetis-monitor; done
+
Dále lze nastavit chování priorit ''(proměnná MAX_PRIORITY)''. Pokud nastavíte proměnnou na hodnotu 0, všechny proměnné se budou spouštět ve stejném procesu. Pokud nastavíte číslo na hodnotu větší než 0, budou monitorovány všechny priority do nastaveného čísla v samostatném procesu pro každou prioritu.
  
=== Priority ===
+
== Spuštění a správa ==
  
Je to jediný parametr skriptu. Nejedná se o priority v pravém slova smyslu, spíše priority jdou pomocí něj simulovat. Přesnější termín by byl zřejmě skupiny.
+
Skript je spouštěn automaticky po startu systému.
  
Ve FreenetISu si zařízení rozdělíme do jednotlivých priorit a pak na straně serveru můžeme pro každou prioritu spustit jeden proces.
+
Manuální spuštění:
  
Praktické použití: Zařízení sdružení (tj. nejdůležitější) si označíme prioritou 1 (např. 500 zařízení), ostatní zařízení, které chceme z nějakého důvodu monitorovat si označíme prioritou 2 (např. 2500 zařízení).
+
sudo /etc/init.d/freenetis-monitoring start
  
Pokud bychom skript spustili bez parametru, monitoroval by všechna zařízení (s prioritou 1 i 2) a trvalo by jedno projetí přibližně 5 minut => tj. výpadek spoje by se v systému projevil až nejdříve za 5 minut
+
Manuální zastavení:
  
Pokud bychom spustili skript 2x:
+
sudo /etc/init.d/freenetis-monitoring stop
  
while true; do freenetis-monitor 1; done
+
Aktuální stav monitoringu:
while true; do freenetis-monitor 2; done
 
  
prvnímu procesu by projetí trvalo přibližně 1 minutu => tj. výpadek spoje by se v systému projevil už za 1 minutu
+
  sudo /etc/init.d/freenetis-monitoring status

Aktuální verze z 21. 5. 2013, 12:08

Monitoring ve FreenetISu je založena na nástroji fping. Samotný monitoring je deamon běžící na linuxuvém stroji, který má přístup do Vaší vnitřní sítě a k serveru, na kterém běží FreenetIS. (FreenetIS i monitoring mohou běžet na jednom stroji, ale tato konfigurace není doporučena, jelikož monitoring vytváří velkou zátěž na běhový server)

Monitoring komunikuje s FreenetISem pomocí nástroje wget. Z FreenetiISu získává IP adresy v síti, které má monitorovat. Poté proběhne samotný test dostupnosti jednotlivých adres. Výstup testu je zaslán zpět FreenetISu, který jej zobrazí v rozhraní monitoringu.

Priorita monitorování

Nejedná se o priority v pravém slova smyslu, spíše priority jdou pomocí něj simulovat. Přesnější termín by byl zřejmě skupiny.

Ve FreenetISu si zařízení rozdělíme do jednotlivých priorit. Pro každou prioritu je spustit jeden samostatný proces monitorování.

Praktické použití: Zařízení sdružení (tj. nejdůležitější) si označíme prioritou 1 (např. 500 zařízení), ostatní zařízení, které chceme z nějakého důvodu monitorovat si označíme prioritou 2 (např. 2500 zařízení).

Upozornění na e-mail

FreenetIS posílá informace na e-mail o zařízeních, které nejsou dostupné a o zařízeních, které byly nedostupné a již jsou opět dostupné. Interval upozorňování se postupně zvyšuje - první minuty se posílá upozornění každou minutu, po 5 minutách již každé 3 minutách, po 10 minutách po 5 minutách atd. U znovu funkčních zařízení se pak posílájí e-maily jenom do 10 minut od znovu najetí.

Programátorsky je pak vše řešené přes e-mailové fronty a metody push, která e-mail s upozorněním vloží na vršek fronty (tj. odešle se jako první).

Instalace ze zdrojových kódů

Tento postup instalace je zde pro vývojářské účely. Koncový uživatelé by měli instalovat pomocí balíku frenetis-monitoring.

Závislosti

apt-get install fping

Instalace

Skripty a konfigurační soubor nalezneme ve složce /application/vendors/monitoring ve zdrojových souborech FreenetISu. Postup instalace:

1) Zkopírujeme soubory

sudo mkdir /etc/freenetis
cd ./application/vendors/monitoring
sudo cp ./freenetis-monitoring.init.sh /etc/init.d/freenetis-monitoring
sudo cp ./freenetis-monitord.sh /usr/sbin/freenetis-monitord
sudo cp ./freenetis-monitoring.conf /etc/freenetis

2) Nastavit práva pro spouštění

sudo chmod +x /etc/init.d/freenetis-monitoring
sudo chmod +x /usr/sbin/freenetis-monitord

3) Přidat automatické spouštění po bootu

sudo update-rc.d freenetis-monitoring defaults

Konfigurace

V konfiguračním souboru (/etc/freenetis/freenetis-monitoring.conf) je nutné nastavit cestu ke FreenetISu (proměnná PATH_FN).

Dále lze nastavit chování priorit (proměnná MAX_PRIORITY). Pokud nastavíte proměnnou na hodnotu 0, všechny proměnné se budou spouštět ve stejném procesu. Pokud nastavíte číslo na hodnotu větší než 0, budou monitorovány všechny priority do nastaveného čísla v samostatném procesu pro každou prioritu.

Spuštění a správa

Skript je spouštěn automaticky po startu systému.

Manuální spuštění:

sudo /etc/init.d/freenetis-monitoring start

Manuální zastavení:

sudo /etc/init.d/freenetis-monitoring stop

Aktuální stav monitoringu:

sudo /etc/init.d/freenetis-monitoring status