Nagios

Inštalácia

Najskor na počítači s názvom server01 nainštalujeme balík nagios. Do príkazového riadka zadáme:

sudo apt-get install nagios3 nagios-nrpe-plugin

Po zadaní príkazu zadáme heslo pre správcu - používateľa nagiosadmin. Prihlasovacie údaje používateľov sa uložia do súboru /etc/nagios3/htpasswd.users. Ak budeme chcieť zmeniť heslo používateľa nagiosadmin alebo pridať ďalších používateľov do Nagios CGI skriptov, použijeme nástroj htpasswd, ktorý je súčasťou balíka apache2-utils.

Ak chceme napríklad zmeniť heslo používateľa nagiosadmin zadáme:

sudo htpasswd /etc/nagios3/htpasswd.users nagiosadmin

Ak chceme pridať nového používateľa, zadáme:

sudo htpasswd /etc/nagios3/htpasswd.users stefan

Teraz nainštalujeme na stanicu s názvom server02 balík nagios-nrpe-server. Do príkazového riadka na počítači server02 zadáme:

sudo apt-get install nagios-nrpe-server
[Note]

NRPE umožňuje spúšťať lokálne kontroly na vzdialených staniciach. Existujú aj iné rozšírenia systému Nagios, pomocou ktorých sa dajú kontroly spustiť vzdialene. Rovnako existujú iné spôsoby kontroly.

Prehľad konfiguračných súborov

Existuje niekoľko priečinkov, ktoré obsahujú konfiguráciu systému Nagios a kontrolné súbory.

  • /etc/nagios3: obsahuje konfiguračné súbory, ktoré riadia správanie démona nagios, CGI súborov, zoznamu staníc - hosts, atď.

  • /etc/nagios-plugins: obsahuje konfiguračné súbory pre kontrolu služieb.

  • /etc/nagios: na vzdialenej stanica obsahuje konfiguračné súbory pre nagios-nrpe-server.

  • /usr/lib/nagios/plugins/: tu sú uložené spustiteľné kontrolné nástroje. Ak chceme zobraziť možnosti nástroja, použijeme prepínač -h.

    Napríklad: /usr/lib/nagios/plugins/check_dhcp -h

Existuje veľké množstvo najrôznejších kontrol pomocou systému Nagios, ktoré môžeme spustiť na zadanom vzdialenom počítači. V tomto príklade Nagios nastavíme tak, aby skontroloval voľné miesto na disku, DNS a  MySQL hostgroup. Kontrolu DNS vykonáme na počítači server02 a kontrolu MySQL hostgroup vykonáme na oboch počítačoch server01 aj server02.

[Note]

Pozrite si časť HTTPD - webový server Apache2 hovoriacu o nastavení systému Apache, časť Služba prekladu doménových mien (DNS) o DNS a časť MySQL o MySQL.

Pred tým, ako budeme pokračovať, si vysvetlíme ešte niekoľko termínov, ktoré nám umožnia ľahšie porozumieť konfigurácii systému Nagios:

  • Host: server, pracovná stanica, sieťové zariadenie, atď., ktoré bude monitorované.

  • Host Group: zoskupenie podobných staníc. Napríklad môžeme zoskupiť webové servery, súborové servery.atď.

  • Service: služba ktorá bude monitorovaná na danej stanici. Napríklad HTTP, DNS, NFS, atď.

  • Service Group: umožňuje zoskupiť viacero služieb. Je to užitočné napríklad pri viacerých HTTP službách.

  • Contact: osoba, ktorej má byť oznámené, že nastala sledovaná udalosť. Nagios môže poslať email, SMS správu, atď.

V predvolenom stave je Nagios nastavený tak, aby sledoval HTTP miesto na disku, SSH, aktuálnych používateľov, procesy a zaťaženie na stanici localhost (stanica, na ktorej je spustený). Nagios tiež pomocou nástroja ping preverí dostupnosť sieťovej brány (gateway).

Rozsiahlu inštaláciu systému Nagios môže byť ťažké nakonfigurovať . Preto je najlepšie začať malou inštaláciou - s jedným alebo dvoma počítačmi, nastaviť ich tak, aby monitorovanie fungovalo a potom Nagios nainštalovať na ďalšie stanice.

Konfigurácia

    1. Najskôr vytvoríme konfiguračný súbor host pre stanicu server02. Do príkazového riadka zadáme:

      sudo cp /etc/nagios3/conf.d/localhost_nagios2.cfg /etc/nagios3/conf.d/server02.cfg
      [Note]

      V predchádzajúcich a nasledujúcich krokoch zmeňte"server01", "server02" 172.18.100.100 a 172.18.100.101 za menné a číselné IP adresy vašich staníc.

    2. Potom upravíme súbor /etc/nagios3/conf.d/server02.cfg:

      define host{
      use generic-host ; Name of host template to use
      host_name server02
      alias Server 02
      address 172.18.100.101
      }

      # check DNS service.
      define service {
      use generic-service
      host_name server02
      service_description DNS
      check_command check_dns!172.18.100.101
      }
    3. Reštartujeme démon systému nagios, aby sa konfigurácia prejavila:

      sudo /etc/init.d/nagios3 restart
    1. Teraz pridáme definíciu pre kontrolu služby MySQL pridaním nasledujúcich riadkov do súboru /etc/nagios3/conf.d/services_nagios2.cfg:

      # check MySQL servers.
      define service {
      hostgroup_name mysql-servers
      service_description MySQL
      check_command check_mysql_cmdlinecred!nagios!secret!$HOSTADDRESS
      use generic-service
      notification_interval 0 ; set > 0 if you want to be renotified
      }
    2.  Teraz je potrebné zadefinovať hostgroup mysqsl-servers. Otvoríme súbor /etc/nagios3/conf.d/hostgroups_nagios2.cfg a pridáme:

      # MySQL hostgroup.
      define hostgroup {
      hostgroup_name mysql-servers
      alias MySQL servers
      members localhost, server02
      }
    3.  Kontrola systému Nagios sa musí vedieť prihlásiť do MySQL. Pridáme používateľa nagios do systému MySQL:

      mysql -u root -p -e "create user nagios identified by 'tajne';"
      [Note]

      Používateľa nagios je potrebné pridať na všetkých staniciach, ktoré sú definované v skupine mysql-servers hostgroup.

    4. Reštartovaním systému nagios sa zapne kontrolovanie MySQL serverov.

      sudo /etc/init.d/nagios3 restart
    1. Nakoniec nastavíme NRPE aby kontroloval voľné miesto na disku na stanici server02.

      Na stanici server01 pridáme nastavenie kontroly služby do súboru /etc/nagios3/conf.d/server02.cfg:

      # NRPE disk check.
      define service {
      use generic-service
      host_name server02
      service_description nrpe-disk
      check_command check_nrpe_1arg!check_all_disks!172.18.100.101
      }
    2. Teraz na stanici server02 otvoríme súbor /etc/nagios/nrpe.cfg a zmeníme:

      allowed_hosts=172.18.100.100

       a nižšie do časti command pridáme:

      command[check_all_disks]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -e
    3. Nakoniec reštartujeme nagios-nrpe-server:

      sudo /etc/init.d/nagios-nrpe-server restart
    4. A tiež na stanici server01 reštartujeme nagios:

      sudo /etc/init.d/nagios3 restart

Teraz by sme mali vidieť kontrolované stanice a služby v Nagios CGI súboroch. Dostaneme sa ku nim pomocou prehliadača, zadaním adresy http://server01/nagios3. Po načítaní stránky bude potrebné zadať nagiosadmin ako meno používateľa a heslo, ktoré sme mu nastavili pri inštalácii.

Zdroje

Táto časť obsahuje iba základné predstavenie funkcií systému Nagios. Rozšírenia nagios-plugins-extra a nagios-snmp-plugins obsahujú omnoho viac nástrojov na kontrolu služieb.

  • Viac informácii sa nachádza na domovskej stránke systému Nagios.

  • Najmä stránka Online Documentation.

  • Existuje tiež zoznam kníh súvisiacich so systémom Nagios a monitorovaním siete:

  • Viac podrobností sa nachádza aj na stránke Nagios Ubuntu Wiki.