vyuka:cviceni:y36sps:semestralky:plchm1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vyuka:cviceni:y36sps:semestralky:plchm1 [2009/05/21 22:25] plchm1vyuka:cviceni:y36sps:semestralky:plchm1 [2009/05/27 15:20] (current) plchm1
Line 8: Line 8:
 Schváleno 16.4.2009: Michal Medvecký Schváleno 16.4.2009: Michal Medvecký
  
-===== Zadání =====+ 
 + 
 +===== Obecně ===== 
 +Hlavní router celé sítě je Debian Etch. Běží na něm dohled- Nagios a MRTG, vpnky, autorizace uživatelů, mailserver. 
 + 
 +Pro zjednodušení práce administrátorů mají jednotlivé koncové routery svůj jmenný ekvivalent. Ten je zaznamenán na firemních DNS. 
 + 
 +Systém Nagios jsem využil jako jeden z nejlepších a nejpoužívanějších dohledových systémů. Navíc je to firemní standard, že se k monitoringu používá právě on.
  
 ===== Instalace Nagiosu ===== ===== Instalace Nagiosu =====
Line 52: Line 59:
 Tím je instalace a zprovoznění Nagiosu kompletní. Tím je instalace a zprovoznění Nagiosu kompletní.
 Můžu se vrhnout na konfiguraci hostů. Můžu se vrhnout na konfiguraci hostů.
 +
 ===== Konfigurace dohledu sítě ===== ===== Konfigurace dohledu sítě =====
  
Line 124: Line 132:
 <code> <code>
 email you@yourdomain.com email you@yourdomain.com
-<code>+</code>
 V extinfo.cfg nastavuji obrázky, které se budou zobrazovat u hostů ve status map. V extinfo.cfg nastavuji obrázky, které se budou zobrazovat u hostů ve status map.
 U localhostu chci, aby se mi zobrazoval tux. U localhostu chci, aby se mi zobrazoval tux.
Line 141: Line 149:
  host_name hsrX,hsrY,hsrZ        ;můžu specifikovat více hostů  host_name hsrX,hsrY,hsrZ        ;můžu specifikovat více hostů
  icon_image base/ng-switch40.gif  icon_image base/ng-switch40.gif
- icon_image_alt basae/ng-switch40+ icon_image_alt base/ng-switch40
  vrml_image base/ng-switch40.gif  vrml_image base/ng-switch40.gif
  statusmap_image base/ng-switch40.gd2  statusmap_image base/ng-switch40.gd2
Line 178: Line 186:
 } }
 </code> </code>
- ping a ssh jo, jeste doplnim upsky +Zbývá doplnit, jaké služby chci monitorovat. Jdu do adresáře ./etc/nagios3/conf.d/preconfigured, kde mi už zbyly jen 4 soubory, ty si přejmenuji, aby se jmenovaly pěkněji. 
-Přes nano doplním. +<code> 
-Změny konfiguračních souborů a jejich umístění musím zadat nagios.cfg.+mv ./generic-host_nagios2.cfg ./generic-host.cfg 
 +mv ./generic-service_nagios2.cfg ./generic-service.cfg 
 +mv ./services_nagios2.cfg ./services.cfg 
 +mv ./timeperiods_nagios2.cfg ./timeperiods.cfg 
 +</code> 
 +Kontrolu služeb pro jednotlivé skupiny nastavím v ./services.cfg 
 +Změním hostgroup_name podle toho, jak jsem to nakonfiguroval group.cfg. Http, kterou tam mít nepotřebuji, smažu to tedy, ping a ssh chci. Ještě mi tam chybí dohled UPSek. 
 +Doplním tedy: 
 +<code> 
 +define service { 
 + hostgroup_name ups 
 + service_description APC UPS 
 + check_command ups-check 
 + use generic-service 
 + notification_interval 0 
 +
 +</code> 
 +Pro kontrolu pingu a ssh existuje defaultní konfigurační nastavení, ale pro ups-check musím ještě doplnit příkaz, který se má spustitMůžu použít nějakého pluginu, nebo zkusit napsat vlastní skript. UPS APC mají vlastní webové konfigurační rozhraní se statusem o stavu apod. To můžu načíst pak regulárními výrazy vybrat, co z toho chci. 
 +<code bash> 
 +#!/bin/bash 
 +ip="$1" 
 +x=`wget -q -t 1 -T 5 http://$ip/status.cgi -O -` 
 + 
 +if [ $? -eq 0 ]; then 
 +        bat=`echo $x | sed "s/.*Battery\ status:\(.*\)/\1/" | head -c 120 | sed "s/.*Serif.*>\(.*\)<.font.*/\1/"
 +        power=`echo $x | sed "s/\(.*\)Watts.*/\1/" | sed "s/.*providing:\(.*\)/\1/" | sed "s/.*>\(.*\)\&nbsp.*/\1/"
 +        status=`echo $x | sed "s/.*Runtime\(.*\)/\1/" | sed "s/\(.*\)led..gif.*/\1/" | sed "s/.*Serif\(.*\)Serif.*/\1/" | sed "s/.*middle>\(.*\)..font.*font.*/\1/" | sed "s/\&nbsp\;/\ /"` 
 +        time=`echo $x | sed "s/\(.*\)minutes.*/\1/" | sed "s/.*>\(.*\)\&nbsp\;.*/\1/"
 +        capa=`echo $x | sed "s/.*Runtime\(.*\)minutes.*/\1/" | sed "s/.*led..gif\(.*\)Serif.*/\1/" | sed "s/.*>\&nbsp\;\(.*\)\&nbsp\;\(.\)<\/font.*/\1\ \2/"
 + 
 +        echo -ne "Battery status: $bat ($capa, $time min)\n" 
 +        echo -ne "Overall status: $status\n" 
 +        echo -ne "Providing: $power Watts\n" 
 + if [ "$status" == "On Line" ]; then 
 +                exit 0; 
 +        else 
 +                exit 1; 
 +        fi 
 + 
 + exit 0 
 +else 
 +        echo "UPS communication lost" 
 + exit 2 
 +fi 
 +</code> 
 +Tento skript si uložím jako ups.sh do nově vytvořeného adresáře /etc/nagios3/plugins. 
 +Teď už staří se na tento skript odkázat definici příkazu. To udělám editací souboru /etc/nagios3/commands.cfg. Kam doplním: 
 +<code> 
 +define command { 
 + command_name ups-check 
 + command_line /etc/nagios3/plugins/ups.sh $HOSTADDRESS$ ;je cesta ke mnou vytvořenému skriptu a předávám mu adresu hosta 
 +
 +</code> 
 +Pro to, abych mohl používat příkazy z webového rozhraní Nagiosu je potřeba v souboru /etc/nagios3/nagios.cfg změnit check_external_commands na: 
 +<code>
 check_external_commands=1 check_external_commands=1
-jeste doplnim command pro kontrolu upsek+</code> 
 +Aby se mi status mapa zobrazovala jako stromová struktura, tak edituji /etc/nagios3/cgi.cfg: 
 +<code> 
 +default_statusmap_layout=3 
 +</code> 
 +To bude asi vše. Zkontroluji nastavení a restartuji Nagios: 
 +<code> 
 +nagios3 -v /etc/nagios3/nagios.cfg 
 +/etc/init.d/nagios3 restart 
 +</code> 
 + 
 +===== Závěr ===== 
 +Dohledový systém (zkušební) je možné vidět zde: http://77.78.101.12/nagios3/ 
 + 
 +Během této semestrální práce jsem si vyzkoušel práci s dohledovým systémem Nagios, což mi pomohlo při laboratorních cvičeních a při mé práci. 
 + 
 +Zkoušel jsem také konfiguraci Nagiosu pomocí nástroje Centreon, ale ten bohužel při exportu nastavení pro Nagios vyhazoval chyby v objektech php, které jsem já nemohl ovlivnit, takže jsem se touto utilitou dále nezabýval. 
 + 
 +{{:vyuka:cviceni:y36sps:semestralky:plchm1.pdf|Prezentace}}
  
 ~~DISCUSSION~~ ~~DISCUSSION~~
  
  • vyuka/cviceni/y36sps/semestralky/plchm1.1242944721.txt.gz
  • Last modified: 2009/05/21 22:25
  • by plchm1