Instalace zásuvných modulů nagios. Instalace a konfigurace monitorovacího serveru Nagios

Populární monitorovací řešení, nagios, vám umožňuje implementovat škálovatelné systémy. Konfigurace pro distribuované systémy je zdlouhavý proces, v rámci článku implementujeme monitoring jedné služby na vzdáleném hostiteli.

Konfigurační práce budou prováděny na serveru s operačním systémem CentOS 7, klient nrpe bude také používat CentOS 7

Nainstalujte plugin na klienta nrpe a povolit připojení k serveru v jeho nastavení.

Instalace a konfigurace monitorovacího serveru Nagios

Spustíme konfiguraci na stroji, který bude fungovat jako nagios server. Nainstalujte potřebné balíčky:

yum install -y wget httpd php gcc glibc glibc-common gd gd-devel make net-snmp rozbalit

nagios funguje Apache, takže httpd je v seznamu nainstalovaných balíčků

Přejdeme do kořenového adresáře s dočasnými soubory a stáhneme si do něj nejnovější verze nagios a nagios-plugins pomocí wget

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.2.8.tar.gz

wget http://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz

Vytvořte systémového uživatele a skupinu

Přidání uživatele nagios do skupiny nagcmd

usermod -a -G nagcmd nagios

usermod -a -G nagios,nagcmd apache

Protože používáme CentOS, httpd neběží jako uživatel www-data, ale jako uživatel Apache

Chcete-li se v budoucnu vyhnout konfliktům práv, přidejte uživatele apache do skupin nagios, nagcmd

Rozbalte obsah staženého archivu

tar -zxvf nagios-4.2.0.tar.gz

Přejděte do adresáře se soubory nagios

V budoucnu nainstalujeme ze zdroje jak nagios, tak nrpe

./configure --with-command-group=nagcmd

Určete skupinu nagcmd jako možnost během sestavování

Kompilace

make install-commandmode

Rekurzivně zkopírujte adresář knihovny do /usr/local na serveru

cp -R contrib/eventhandlers /usr/local/nagios/libexec

Rekurzivně také měníme vlastníka a skupinu vlastníků adresářů a souborů na nagios

chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers

Snažíme se spustit a zobrazit verzi nagios zadáním cesty k hlavnímu konfiguračnímu souboru

Přidejte nagios do startu – systém jej spustí při každém startu

systemctl povolit nagios

Spuštění služby

Podobné operace provádíme s webovým serverem

Nastavte uživatelské heslo nagios

S pomocí htpasswd vygenerovat soubor, který omezí přístup pro uživatele nagiosadmin

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Instalace hlavního balíčku je nyní dokončena. Otevřeme internetový prohlížeč a do vyhledávacího pole zadáme IP adresu serveru, poté /nagios a dostaneme se do webového rozhraní

Nastavení monitorování služeb na vzdáleném hostiteli

Jdeme na jiný server, který bude fungovat jako klient nagios
Přejděte do adresáře /tmp/

Rozbalte nagios-plugins-2.1.2

tar -zxvf nagios-plugins-2.1.2

cd nagios-plugins-2.1.2

Kompilace s uživatelem a skupinou nagios

./configure --with-command-user=nagios --with-nagios-group=nagios

Nyní nainstalujte plugin nrpe

Nejprve dodatečně nainstalujte z úložiště openssl-devel, pokud je již nainstalováno, krok přeskočte (balíček musí být přítomen i na serveru nagios)

yum -y nainstalovat openssl-devel

Můžete také nainstalovat z úložiště

yum nainstalovat nagios-plugins-all nagios-plugins-nrpe

Pokud potřebujete čerstvou verzi, tak
Stahování balíčku

wget http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

Rozbalte tar.gz

tar -zxvf nrpe-2.15.tar.gz

Kompilace stejným způsobem jako dříve

Přejděte na server nagios

Snažíme se připojit ze serveru specifikujícího za klíčem -H IP adresa klienta

Dostaneme odmítnutí připojení a přejdeme ke konfiguraci pluginu

Spustíme nrpe na klientovi a přidáme službu do spuštění

Otevřete hlavní konfigurační soubor a zadejte IP adresu serveru jako hodnotu v sekci allow_hosts

mcedit /etc/nrpe/nrpe.cfg

povolení_hostitelé = 10.11.27.11

Zpět na server

/usr/local/nagios/libexec/check_nrpe -H 10.11.27.44

Nyní je náš pokus úspěšný a vidíme verzi nagios

Znovu otevřete hlavní konfiguraci

Odstraňte značku komentáře z řádku s cfg_dir(cfg_dir=/usr/local/nagios/etc/servers)

Vytvořte adresář a změňte jej

mkdir /usr/local/nagios/etc/servers

cd /usr/local/nagios/etc/servers

Určete hostitele, kteří budou monitorováni. Hostitelé mohou mít libovolné názvy, nagios uvidí všechny soubory s příponou cfg

Parametry hostitele předepisujeme, význam direktiv je zřejmý z názvu. Těchto direktiv může být v případě potřeby doladění sledování mnohem více, zde uvažujeme o základní pracovní konfiguraci

definovat hostitele (
používat linuxový server
název_hostitele cenos11
alias just nagios klient
adresa 10.11.27.44
max_check_attempts 5
kontrolní_období 24×7
oznamovací_interval 30
doba oznámení 24×7

}

Přidejte konfiguraci pro službu, kterou monitorujeme. Nyní se omezíme na kontrolu přítomnosti pingu na hostitele

{
používat generickou službu
název_hostitele cenos11
service_description PING
check_command check_ping!100.0.20%!500.0.50%
}

Byl použit příkaz check_command, výňatek z manuálu týkající se toho říká následující:

check_ping -H -w ,% -c ,%
[-p pakety] [-t časový limit] [-4|-6]

V souladu s tím při ztrátě 20 % paketů obdržíme varování, při ztrátě 50 % - ALERT

Spusťte znovu a ujistěte se, že nejsou žádné chyby

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Restartování služby

systemctl restart nagios

Přejdeme do webového rozhraní a vidíme, že se tam zobrazuje služba na vzdáleném hostiteli, kterou sledujeme (v konfiguraci zobrazené na snímku obrazovky je nakonfigurováno sledování řady dalších zdrojů). Konfigurace monitorovacího serveru se základní funkčností je nyní dokončena.

Nastavení ALERTů v nagios

Otevřete hlavní konfigurační soubor a v případě potřeby odkomentujte řádek cfg_file=/usr/local/nagios/etc/objects/contacts.cfg:

mcedit /usr/local/nagios/etc/nagios.cfg

V souboru definujeme kontaktní e-mailovou adresu pro zasílání upozornění:

mcedit /usr/local/nagios/etc/objects/contacts.cfg

definovat kontakt (
contact_name nagiosadmin
použijte obecný kontakt
alias Nagios Admin
e-mailem [e-mail chráněný]

}

Restartování služby

cyctemctl restart nagios

Lze použít i doplňkový software, se kterým lze posílat například SMS zprávy VÝSTRAHA týkající se základních služeb. Byl přijat funkční server Nagios, instalace a konfigurace na něm jsou dokončeny.

Pro servery můžete nainstalovat Nagios server a klienta na stejný počítač, ale je mnohem jednodušší použít jiný balíček, jako je .

Tato příručka vám pomůže nainstalovat oblíbený open source monitorovací systém Nagios 4 na server Ubuntu 14.04 a také provést základní konfiguraci monitorování zdrojů hostitele. Kromě toho průvodce ukazuje, jak nastavit Nagios Remote Plugin Executor (NRPE) jako agenta na vzdálených hostitelích pro monitorování jejich zdrojů.

Systém Nagios umožňuje sledovat zdroje serveru a provoz základních služeb. Obecně jsou monitorovací systémy nezbytným nástrojem pro jakékoli produkční prostředí.

Poznámka: Podobnou příručku pro CentOS lze nalézt na adrese .

Požadavky

  • Předkonfigurovaný server Ubuntu 14.04.
  • Práva superuživatele (více podrobností -).
  • Předinstalovaný zásobník LAMP (návod k instalaci naleznete).
  • Soukromá síť; pokud váš server nepodporuje privátní sítě, jednoduše nahraďte odkazy na interní IP adresu externí IP adresou.

Instalace Nagios 4

Vytvoření uživatele a skupiny Nagios

Vytvořte uživatele a skupinu pro spuštění procesu Nagios; v této příručce se uživatel nazývá nagios a skupina se nazývá nagcmd. Vytvořte je a přidejte uživatele do skupiny.

sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios

Instalace závislostí

Poté musíte nainstalovat několik vývojových knihoven pro sestavení jádra Nagios ze zdroje a apache2-utils pro přizpůsobení rozhraní Nagios.

Aktualizujte seznam systémových balíčků:

aktualizace sudo apt-get

Nainstalujte balíčky:

sudo apt-get install build-essential libgd2-xpm-dev openssl libssl-dev xinetd apache2-utils rozbalit

Instalace Nagios Core

Stáhněte si nejnovější stabilní verzi Nagios Core. Otevřete stránku stahování webu, kliknutím na Přeskočit stáhněte a stáhněte odkaz na stabilní verzi.

Poznámka: Tato příručka používá Nagios verze 4.1.1.

Stáhněte si balíček do svého domovského adresáře:

cd ~
curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz

Rozbalte archiv:

tar xvf nagios-*.tar.gz

Otevřete výsledný adresář:

Než začnete budovat Nagios, musíte nakonfigurovat systém. Chcete-li nakonfigurovat Nagios tak, aby podporoval postfix (který lze nainstalovat pomocí apt-get), přidejte --with-mail=/usr/sbin/sendmail do následujícího příkazu:

./configure --with-nagios-group=nagios --with-command-group=nagcmd

Zkompilujte Nagios:

Poté nainstalujte Nagios, inicializační skripty a ukázkové konfigurační soubory:

sudo make install
sudo make install-commandmode
sudo make install-init
sudo make install-config
sudo /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf

Abyste mohli spouštět externí příkazy přes webové rozhraní Nagios, musíte do skupiny nagcmd přidat uživatele www-data:

sudo usermod -G nagcmd www-data

Instalace zásuvných modulů Nagios

Nejnovější verzi pluginů Nagios naleznete na tomto odkazu. Zkopírujte odkaz na nejnovější stabilní verzi a stáhněte si balíček do svého domovského adresáře.

Poznámka: Tato příručka používá pluginy Nagios verze 2.1.1.

cd ~
curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz

Rozbalte archiv pluginů Nagios.

tar xvf nagios-plugins-*.tar.gz

Otevřete výsledný adresář:

cd nagios-plugins-*

Před sestavením balíčků spusťte konfiguraci zásuvných modulů Nagios.

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl

Kompilace pluginů Nagios:

Nainstalujte výsledný balíček:

sudo make install

Instalace NRPE

Otevřete stránku pro stahování webu, najděte nejnovější stabilní verzi NRPE a nahrajte ji do svého domovského adresáře.

Poznámka: Tato příručka používá NRPE 2.15.

cd ~
curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

Rozbalte archiv NRPE:

tar xvf nrpe-*.tar.gz

Přejděte do výsledného adresáře:

Chcete-li nakonfigurovat NRPE, spusťte příkaz:

./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagios --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr /lib/x86_64-linux-gnu

Poté vytvořte a nainstalujte NRPE a skript xinetd:

udělat vše
sudo make install
sudo make install-xinetd
sudo make install-daemon-config

Otevřete spouštěcí skript xinetd v textovém editoru:

sudo vi /etc/xinetd.d/nrpe

Do řádku only_from přidejte interní IP adresu serveru Nagios:

only_from = 127.0.0.1 10.132.224.168

Poznámka: Zadejte prosím správnou IP adresu.

Uložte a zavřete soubor. Nyní bude moci s NRPE komunikovat pouze server Nagios.

Restartujte xinetd:

restart služby sudo xinetd

Instalace Nagios 4 byla úspěšně dokončena. Nyní musíme nastavit systém.

Nastavení Nagios 4

Otevřete hlavní konfigurační soubor Nagios v textovém editoru:

sudo vi /usr/local/nagios/etc/nagios.cfg

Najděte a odkomentujte následující řádek:

#cfg_dir=/usr/local/nagios/etc/servers

Uložte a zavřete soubor.

Vytvořte adresář pro ukládání konfiguračních souborů monitorovaných serverů.

sudo mkdir /usr/local/nagios/etc/servers

Otevřete konfigurační soubor kontaktů v textovém editoru:

sudo vi /usr/local/nagios/etc/objects/contacts.cfg

Najděte e-mailovou direktivu a vyplňte ji svou e-mailovou adresou.

e-mailem [e-mail chráněný] ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******

Uložte a zavřete soubor.

Konfigurace příkazu check_nrpe

Přidejte nový příkaz do nastavení Nagios:

sudo vi /usr/local/nagios/etc/objects/commands.cfg

Na konec souboru přidejte následující kód:

definovat příkaz (
název_příkazu check_nrpe
příkazový_řádek $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

Uložte a zavřete soubor. Nyní byste měli být schopni použít příkaz check_nrpe při definování serverů Nagios.

Nastavení Apache

Povolte moduly přepisování a cgi:

přepsat sudo a2enmod
sudo a2enmod cgi

Pomocí htpasswd vytvořte uživatele s názvem nagiosadmin pro přístup k webovému rozhraní Nagios.

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Zadejte heslo. Pamatujte si tyto přihlašovací údaje, protože se vám budou hodit při práci s webovým rozhraním Nagios.

Poznámka: Pokud toto uživatelské jméno není nagiosadmin, budete muset upravit soubor /usr/local/nagios/etc/cgi.cfg a zadat jiné uživatelské jméno ve všech odkazech na nagiosadmin.

sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/

Systém Nagios je nyní připraven ke spuštění. Nezapomeňte restartovat Apache:

sudo služba nagios start
restart služby sudo apache2

Chcete-li nakonfigurovat automatické spuštění Nagios, zadejte:

sudo ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Omezení přístupu podle IP adresy (volitelné)

Chcete-li povolit přístup pouze k určitým IP adresám, upravte konfiguraci Apache:

sudo vi /etc/apache2/sites-available/nagios.conf

Najděte a okomentujte následující řádky:

příkaz povolit, zamítnout
Povolit ode všech

Poté odkomentujte následující řádky a přidejte IP adresy nebo rozsahy IP adres (oddělené mezerou), které budou mít přístup k serveru, do direktivy Allow from:

# Objednávka odepřít, povolit
# Odepřít všem
# Povolit od 127.0.0.1

Poznámka: Protože se tyto řádky vyskytují v konfiguračním souboru dvakrát, musíte tyto pokyny zopakovat dvakrát.

Uložte a zavřete soubor.

Spusťte Nagios a restartujte Apache pro aktualizaci nastavení:

restart služby sudo nagios
restart služby sudo apache2

webové rozhraní Nagios

Otevřete prohlížeč a přejděte do Nagios pomocí tohoto odkazu:

http://nagios_server_public_ip/nagios

Webový server Apache používá htpasswd, takže musíte zadat přihlašovací údaje uživatele nagiosadmin.

Po ověření budete mít přístup na domovskou stránku Nagios. Chcete-li zobrazit seznam serverů monitorovaných systémem Nagios, otevřete Hosts v levém ovládacím panelu.

Jak můžete vidět, Nagios v tuto chvíli monitoruje pouze localhost.

Sledování hostitele pomocí NRPE

Tato část vám ukáže, jak přidat nový server do nastavení monitorování Nagios.

Poznámka: Pokud chcete přidat více serverů, zopakujte tyto pokyny na každém z nich.

Přihlaste se k serveru, který chcete sledovat, a aktualizujte apt-get:

aktualizace sudo apt-get

Poté nainstalujte pluginy Nagios a NRPE.

sudo apt-get install nagios-plugins nagios-nrpe-server

Nastavení hostitelů

Otevřete konfigurační soubor NRPE v textovém editoru:

sudo vi /etc/nagios/nrpe.cfg

Najděte direktivu allow_hosts a na konec přidejte interní IP adresu serveru Nagios (oddělené čárkami).

povoleni_hostitelé=127.0.0.1,10.132.224.168

Uložte a zavřete soubor. Nyní bude NRPE přijímat požadavky ze serveru Nagios prostřednictvím interní IP adresy.

Přizpůsobení příkazů NRPE

Zadejte název kořenového souborového systému (toto je jedna z komponent, která bude monitorována):

Ke sledování využití disku použijte název systému souborů v konfiguraci NRPE (/dev/vda). Otevřete nrpe.cfg v editoru:

sudo vi /etc/nagios/nrpe.cfg

Konfigurační soubor NRPE je velmi dlouhý a obsahuje mnoho komentovaných řádků. Potřebujete pouze následující řádky:

  • adresa_serveru: Zadejte interní IP adresu hostitele.
  • allow_hosts: Zadejte interní IP adresu serveru Nagios.
  • příkaz: Nahraďte /dev/hda1 názvem kořenového souborového systému.

Ve výsledku by tyto řádky měly vypadat takto:

server_address=client_private_IP
allow_hosts=nagios_server_private_IP
command=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/vda

Všimněte si, že soubor obsahuje několik dalších příkazových řádků, které může Nagios použít. NRPE naslouchá na portu 5666 (řádek server_port=5666). Pokud je tento port blokován bránou firewall, nezapomeňte jej otevřít.

Uložte a zavřete soubor.

Chcete-li aktualizovat nastavení, restartujte NRPE:

restart služby sudo nagios-nrpe-server

Poté musíte hostitele přidat do nastavení serveru Nagios.

Přidání hostitele do nastavení Nagios

Přejděte na server Nagios a vytvořte nový konfigurační soubor pro hostitele v /usr/local/nagios/etc/servers/.

sudo vi /usr/local/nagios/etc/servers/yourhost.cfg

Poznámka: Nahraďte svého hostitele svým názvem hostitele.

Přidejte do souboru následující kód a nahraďte hodnotu host_name názvem vzdáleného hostitele (v tomto příkladu web-1), hodnotu aliasu popisem hostitele a adresu interní IP adresou vzdáleného hostitele.

definovat hostitele (
používat linuxový server
host_name yourhost
alias Můj první server Apache
adresa 10.132.234.52
max_check_attempts 5
kontrolní_období 24x7
oznamovací_interval 30
oznamovací_období 24x7
}

Nyní bude Nagios monitorovat tento server. Systém však bude sledovat pouze stav vzdáleného hostitele (povoleno nebo zakázáno). Pokud to stačí, uložte a zavřete soubor. Pokud chcete sledovat jednotlivé služby na vzdáleném hostiteli, nezavírejte soubor.

Následují příklady konfigurace sledování služeb. Stačí vybrat službu, kterou chcete sledovat, a přidat blok navrhovaných nastavení do souboru. Mějte na paměti, že hodnota příkazu check_command určuje, co bude monitorováno.

definovat službu (
používat generickou službu
host_name yourhost
service_description PING
check_command check_ping!100.0.20%!500.0.60%
}

SSH (notifications_enabled nastavena na 0 deaktivuje upozornění):

definovat službu (
používat generickou službu
host_name yourhost
service_description SSH
check_command check_ssh
notifications_enabled 0
}

Direktiva use generic-service jednoduše zdědí z výchozí šablony generic-service.

Uložte a zavřete soubor. Chcete-li aktualizovat nastavení, restartujte Nagios:

sudo služba nagios reload

Po konfiguraci otevřete webové rozhraní a zkontrolujte stránku Služby; nyní by měl obsahovat seznam právě přidaných vzdálených hostitelů.

Závěr

Po nastavení monitorování hostitelů a některých služeb určete, které služby jsou kritické pro provoz serveru, a přidejte je do seznamu. Můžete také nastavit upozornění; Nagios může například hlásit, že využití disku dosáhlo kritického bodu nebo že web nefunguje. To vám umožní odstranit takové problémy včas.

Štítky: ,

Nagios je jedním z nejpoužívanějších open source nástrojů pro monitorování serverů Linux a Windows. S ním můžete na dálku prostřednictvím webového rozhraní sledovat spouštění různých aplikací a služeb. Nagios může také monitorovat routery a další síťová zařízení.

S Nagios můžete sledovat základní parametry serveru, jako je zatížení procesoru, využití paměti atd. To vše je dostupné ve webovém rozhraní, které pro přístup vyžaduje jednoduchou autentizaci. V tomto článku se podíváme na to, jak probíhá instalace Nagios Ubuntu a také na konfiguraci tohoto programu.

Existuje několik způsobů, jak nainstalovat Nagios Ubuntu 16.04. Můžete použít PPA nebo nainstalovat pomocí archivu staženého z oficiálních stránek. V tuto chvíli je nejnovější verze 4.3. V PPA je k dispozici pouze 4.2, takže zvážíme manuální instalaci pomocí archivu.

Než však přistoupíme k instalaci, musíte aktualizovat systém a nainstalovat všechny potřebné součásti k sestavení programu:

sudo apt install build-essential apache2 php7.0 openssl perl make php7.0-gd libgd2-xpm-dev libapache2-mod-php7.0 libperl-dev libssl-dev démon wget apache2-utils rozbalit

Poté musíte vytvořit skupinu a uživatele, pod kterým bude Nagios běžet, stejně jako příkazy shellu spouštěné ve webovém rozhraní:

sudo useradd nagios
$ sudo groupadd nagcmd

Přidejte uživatele nagios a uživatele, pod kterým běží Apache, do skupiny nagcmd:

sudo usermod -a -G nagcmd nagios
$ sudo usermod -a -G nagcmd www-data

Dále si musíme stáhnout zdroje nagios. To lze provést pomocí příkazu terminálu, ale protože chceme získat nejnovější verzi, je lepší jít na oficiální web a stáhnout.

Nejprve klikněte na položku "Nagio Core", potom přejděte dolů a stiskněte Stažení:

V této fázi můžete vyplnit informace o sobě, nebo přeskočit kliknutím "Přeskočit stahování":

Zbývá vybrat verzi, například 4.3.2. Po dokončení stahování přejděte do složky se staženými soubory a rozbalte archiv:

cd ~/Stažení/
$ tar -zxvf /tmp/nagios-4.3.2.tar.gz

Nyní můžeme přejít ke kompilaci nagios. Chcete-li to provést, musíte spustit následující příkazy:

./configure --with-nagios-group=nagios --with-command-group=nagcmd --with-httpd_conf=/etc/apache2/sites-enabled/
$make all
$ sudo make install
$ sudo make install-init
$ sudo make install-config
$ sudo make install-commandmode
$ sudo make install-webconf

Nastavení Nagios na Ubuntu

Všechny konfigurační soubory programu umístí instalační program do /usr/local/nagios/etc/. Výchozí nastavení umožňuje spuštění Nagios, ale musíme provést ještě několik změn. Otevřete soubor contact.cfg a změňte e-mailovou adresu, na kterou se budou zasílat upozornění:

sudo vi /usr/local/nagios/etc/objects/contacts.cfg

definovat kontakt(
jméno_kontaktu nagiosadmin ; Krátké uživatelské jméno
použít obecný kontakt; Výchozí šablona
alias Nagios Admin ; Celé uživatelské jméno
e-mailem [e-mail chráněný] webová stránka ; Tvůj e-mail
}

Aby webové rozhraní fungovalo, musíte vytvořit heslo pro uživatele nagiosadmin pomocí htpasswd, bez něj se do rozhraní prostě nedostanete:

sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

Nakonec je pro správnou funkci potřeba provést několik nastavení webového serveru. Povolte modul cgi:

sudo a2enmod cgi

Restartujte webový server:

restart služby sudo apache2

Pro více funkcí nagios si můžete nainstalovat sadu pluginů. Chcete-li to provést, nejprve si jej stáhněte:


Nyní rozbalte archiv a přejděte do složky s ním:

tar -zxvf /tmp/nagios-plugins-2.1.1.tar.gz
$ cd /tmp/nagios-plugins-2.1.1/

Pro kompilaci modulů spusťte:

./configure --with-nagios-user=nagios --with-nagios-group=nagios
$make
$ provést instalaci

Moduly jsou nainstalovány ve složce Nagios, nyní zkontrolujte, zda je konfigurace správná:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Pro automatické spuštění vytvořte soubor Unit pro systemd:

sudo vi /etc/systemd/system/nagios.service


Popis=Nagios
BindTo=network.target


WantedBy=multi-user.target


Uživatel=nagios
Skupina=nagios
Typ=jednoduchý
ExecStart=/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg

Spuštění Nagios

Téměř vše je připraveno, zbývá spustit službu a začít ji používat. Chcete-li spustit službu, zadejte:

sudo systemctl stat nagios

Pro otevření webového rozhraní nagios bude stačit zadat do prohlížeče IP adresu a url nagios. Pokud jste toto vše nainstalovali na místní počítač, použijte:

http://localhost/nagios

Ihned po otevření stránky budete muset zadat uživatelské jméno nagiosadmin a heslo, které jste pro něj dříve nastavili. Poté můžete používat všechny funkce programu:

zjištění

V tomto článku jsme se podívali na to, jak nakonfigurovat nagios 4 a také plně nainstalovat nejnovější verzi na operační systém Ubuntu. Navzdory skutečnosti, že na první pohled se vše zdá komplikované, proces je poměrně jednoduchý. Nyní můžete sledovat nagios ubuntu 16.04. Doufám, že vám tyto informace byly užitečné.

Před konfigurací nagios je třeba nainstalovat potřebné závislosti

# apt install build-essential apache2 php libapache2-mod-php7.0 php-gd libgd-dev mailutils

A přidejte uživatele a skupinu, jejímž jménem poběží nagios

# useradd nagios # groupadd nagcmd # usermod -a -G nagcmd nagios # usermod -a -G nagcmd www-data

Přejděte do adresáře sestavení a stáhněte si zdrojový kód pro nagios a pluginy

# cd /usr/src/ # wget https://sourceforge.net/projects/nagios/files/nagios-4.x/nagios-4.2.3/nagios-4.2.3.tar.gz # wget https:// nagios-plugins.org/download/nagios-plugins-2.1.4.tar.gz

Rozbalte stažené archivy

# tar xzvf nagios-4.2.3.tar.gz # tar xzvf nagios-plugins-2.1.4.tar.gz

Přejdeme do adresáře se zdrojovým kódem nagios a nakonfigurujeme

# cd nagios-4.2.3 # ./configure --prefix=/etc/nagios --with-command-group=nagcmd --with-httpd-conf=/etc/apache2/sites-available --with-mail= /usr/bin/mail

Pojďme stavět

#vyrobte vše

Nainstalujte nagios

# provést instalaci

Nainstalujte init skript do /etc/init.d a povolte automatické spouštění

# nastavit install-init # update-rc.d nagios jako výchozí

Nastavte oprávnění k adresáři pro ukládání externích dávkových souborů

# make install-commandmode

Nainstalujte konfigurační soubory nagios

# make install-config

Nastavte konfiguraci nagios pro Apache

# make install-webconf

Zkopírujte skripty zpracování událostí externích dávkových souborů do složky s nagios a nastavte vlastníka do složky

# cp -R contrib/eventhandlers/ /etc/nagios/libexec/ # chown -R nagios:nagios /etc/nagios/libexec/eventhandlers

Pojďme zkontrolovat nainstalovanou konfiguraci

# /etc/nagios/bin/nagios -v /etc/nagios/etc/nagios.cfg

# make # make install

Povolte konfiguraci nagios v Apache a aktivujte potřebné doplňky

# a2ensite nagios # a2enmod přepsat cgi

Restartujte službu apache

# restart služby apache2

Spustíme nagios a zkontrolujeme stav

# service nagios start # service status nagios ● nagios.service - Nagios Loaded: načteno (/etc/systemd/system/nagios.service; povoleno; přednastaveno dodavatelem: povoleno) Aktivní: aktivní (běh)

Přidejte správce nagios

# htpasswd -c /etc/nagios/etc/htpasswd.users nagiosadmin

Nyní se pojďme zabývat konfiguračními soubory nagios.

/etc/nagios/etc/ cgi.cfg- definuje nastavení webového rozhraní a také přístupová práva k webové konzoli nagios.

/etc/nagios/etc/ htpasswd.users- databáze uživatelů a jejich hesel pro přístup k webovému rozhraní nagios.

/etc/nagios/etc/ nagios.cfg— obsahuje hlavní nastavení a cesty k souborům *.cfg.

/etc/nagios/etc/ zdroj.cfg- zde je definována proměnná až do adresáře s pluginy.

/etc/nagios/etc/objects/ příkazy.cfg- obsahuje definice příkazů.

/etc/nagios/etc/objects/ kontakty.cfg- definuje e-mailové kontakty, na které se budou zasílat upozornění nagios.

/etc/nagios/etc/objects/ šablony.cfg- obsahuje šablony pro kontakty, hostitele a služby.

/etc/nagios/etc/objects/ časová období.cfg- obsahuje definice časových úseků.

/etc/nagios/etc/objects/ localhost.cfg- konfigurace pro sledování samotného serveru nagios. Definuje samotného hostitele, skupinu hostitelů pro linuxové servery a monitorovací služby.

/etc/nagios/etc/objects/ tiskárna.cfg- konfigurace pro monitorování tiskárny. Definuje libovolnou tiskárnu, hostitelskou skupinu pro tiskárny a monitorovací služby.

/etc/nagios/etc/objects/ switch.cfg- konfigurace pro monitorování spínače. Definuje libovolný přepínač, hostitelskou skupinu pro přepínače a monitorovací služby.

/etc/nagios/etc/objects/ windows.cfg- konfigurace pro sledování libovolného hostitele Windows. Definuje libovolného hostitele systému Windows, skupinu hostitelů pro servery Windows a monitorovací služby.

Popis ukazuje, že localhost.cfg, printer.cfg, switch.cfg a windows.cfg obsahují definice skupiny hostitelů. Pro větší pohodlí je rozumné je oddělit do samostatného souboru /etc/nagios/etc/objects/ hostgroups.cfg. V souladu s tím je třeba je okomentovat v původním souboru. Popis stejného objektu by se neměl opakovat v různých konfiguračních souborech. Přidáme také soubor /etc/nagios/etc/objects/ servicegroups.cfg, ve kterém budou definovány skupiny služeb. Vzhledem k tomu, že tato publikace nastavuje monitorování pro hostitele linux a windows, definujeme pro ně skupiny. Pro tiskárny a přepínače jsou skupiny definovány analogicky. Vytvoříme také složku /etc/nagios/etc/servers/, ve které budou uloženy soubory, které definují hostitele ke sledování. Proveďme příslušné změny v souboru nagios.cfg

# nano /etc/nagios/etc/nagios.cfg . . . # Můžete zadat jednotlivé konfigurační soubory objektů, jak je uvedeno níže: cfg_file=/etc/nagios/etc/objects/commands.cfg cfg_file=/etc/nagios/etc/objects/contacts.cfg cfg_file=/etc/nagios/etc/objects /timeperiods.cfg cfg_file=/etc/nagios/etc/objects/templates.cfg # Definice pro hostitelské skupiny a servisní skupiny cfg_file=/etc/nagios/etc/objects/hostgroups.cfg cfg_file=/etc/nagios/etc/objects/servicegroups.cfg# Definice pro monitorování místního (Linuxového) hostitele cfg_file=/etc/nagios/etc/objects/localhost.cfg # Definice pro monitorování počítače s Windows #cfg_file=/etc/nagios/etc/objects/windows.cfg # Definice pro monitorování router/switch #cfg_file=/etc/nagios/etc/objects/switch.cfg # Definice pro monitorování síťové tiskárny #cfg_file=/etc/nagios/etc/objects/printer.cfg # Můžete také říct Nagios, aby zpracoval všechny konfigurační soubory (s příponou .cfg #) v konkrétním adresáři pomocí direktivy cfg_dir #, jak je uvedeno níže: cfg_dir=/etc/nagios/etc/servers#cfg_dir=/etc/nagios/etc/printers #cfg_dir=/etc/nagios/etc/switches #cfg_dir=/etc/nagios/etc/routers . . .

Vytvořte soubory pro hostitele a skupiny služeb a nastavte jim práva

# cd /etc/nagios/etc/objects/ # touch hostgroups.cfg servicegroups.cfg # chown nagios:nagios hostgroups.cfg servicegroups.cfg # chmod 664 hostgroups.cfg servicegroups.cfg

Vytvořte adresář /etc/nagios/etc/ servery/ a nastavte mu práva

# mkdir /etc/nagios/etc/servers/ # chown nagios:nagios /etc/nagios/etc/servers/ # chmod 775 /etc/nagios/etc/servers/

Přidejte do hostgroups.cfg definice hostitelských skupin pro linuxové a windows servery z localhost.cfg a windows.cfg, v daném pořadí

# nano /etc/nagios/etc/objects/hostgroups.cfg # Definujte volitelnou skupinu hostitelů pro počítače se systémem Linux # Všichni hostitelé, kteří používají šablonu linux-server, budou automaticky členy této skupiny. Definujte hostitelskou skupinu( hostgroup_name linux-servers ; Název skupiny hostitelů alias Linux Servers ; Dlouhý název skupiny ) # Definujte skupinu hostitelů pro počítače se systémem Windows # Všichni hostitelé, kteří používají šablonu serveru Windows, budou automaticky členy této skupiny. hostgroup alias Windows Servers ; Dlouhý název skupiny )

Vzhledem k tomu, že cesta k windows.cfg je zakomentována v nagios.cfg, komentování definice hostitelských skupin ve windows.cfg není nutné, ale v localhost.cfg je to povinná akce

# nano /etc/nagios/etc/objects/localhost.cfg . . . # Definujte volitelnou hostitelskou skupinu pro počítače se systémem Linux #define hostgroup( # název_skupiny_hostitelů linuxové servery ; Název hostitelské skupiny # alias Linuxové servery ; Dlouhý název skupiny # členové localhost ; Čárkami oddělený seznam hostitelů, kteří patří do této skupiny # ) . . .

Když je vytvořen objekt serveru Windows, stane se automaticky členem skupiny windows-servers. Tato akce je definována v souboru templates.cfg. Aby linuxové servery automaticky spadaly do skupiny linux-servers, musíte provést následující změnu

# nano /etc/nagios/etc/objects/templates.cfg . . . # Šablona definice hostitele Linuxu - Toto NENÍ skutečný hostitel, pouze šablona! definovat hostitele( název linux-server ; Název této šablony hostitele use generic-host ; Tato šablona zdědí další hodnoty ze šablony generic-host check_period 24x7 ; Ve výchozím nastavení jsou hostitelé Linuxu nepřetržitě kontrolováni check_interval 5 ; Aktivně kontrolovat hostitel každých 5 minut retry_interval 1 ; Naplánujte opakování kontroly hostitele v 1 minutových intervalech max_check_attempts 10 ; Zkontrolujte každého hostitele Linux 10krát (max.) check_command check-host-alive ; Výchozí příkaz pro kontrolu hostitelů Linux notification_period workhours ; Správci Linuxu nesnáší být probuzeni nahoru, takže upozorňujeme pouze během dne ; Všimněte si, že proměnná notification_period je přepsána z hodnoty ; hodnoty, která je zděděna ze šablony obecného hostitele! notification_interval 120 ; Znovu zasílat upozornění každé 2 hodiny notification_options d,u,r ; Odesílat pouze upozornění pro konkrétní hostitelské státy contact_groups admins ; Oznámení jsou ve výchozím nastavení odesílána správcům hostitelské skupiny linuxové servery ; Hostitelské skupiny, kterých by měly být linuxové servery členem registr 0; NEREGISTRUJTE TUTO DEFINICE – NENÍ TO SKUTEČNÝ HOST, POUZE ŠABLONA! ). . .

Chcete-li nastavit upozornění, musíte zadat e-mail správce systému v Contacts.cfg

# nano /etc/nagios/etc/objects/contacts.cfg . . . definovat kontakt( contact_name nagiosadmin ; Krátké jméno uživatele použít generic-contact ; Zdědit výchozí hodnoty ze šablony generic-contact (definováno výše) alias Nagios Admin ; Celé jméno uživatelského e-mailu [e-mail chráněný] webová stránka ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** } . . .

# restart služby nagios

Výkon oznámení můžete zkontrolovat následujícím způsobem, ve webovém rozhraní vyberte vlevo „Hosts“, poté klikněte na „localhost“, v nabídce vpravo klikněte na „Odeslat vlastní oznámení hostitele“, napište cokoliv do „Komentář“ a klikněte na „Potvrdit“.

Výstraha by měla být zaslána na e-mail uvedený v contacts.cfg.


Něco málo o pluginech

Složka /etc/nagios/libexec obsahuje nainstalované pluginy. Na začátku článku bylo poznamenáno, že nagios přijímá všechny informace prostřednictvím pluginů. Podívejme se například na dobu provozuschopnosti systému

# /etc/nagios/libexec/check_uptime Doba provozu OK: 0 dnů 3 hodina 52 minut | doba provozu = 232,000000;;;

Většina pluginů pracuje pouze s argumenty, podívejme se například na stav systémového odkládacího souboru

# /etc/nagios/libexec/check_swap -w 20 -c 10 SWAP OK - 100% zdarma (2044 MB z 2044 MB) |swap=2044MB;0;0;0;2044

Existují dva argumenty -w 20 a -c 10.

w - varování, když zbývá 20 % volného místa, dojde k varovné události.

c - kritické, když zbývá 10 % volného místa, dojde ke kritické události.

Existují také pluginy místní a "obecné". Výše uvedené příklady jsou místní. Plugin check_swap například nebude moci zkontrolovat stav stránkovacího souboru na vzdáleném hostiteli, ale plugin check_ping může zkontrolovat dostupnost místních i vzdálených hostitelů.

# /etc/nagios/libexec/check_ping -H localhost -w 100,0,20 % -c 500,0,60 % PING OK - Ztráta paketů = 0 %, RTA = 0,04 ms|rta=0,036000 ms;100,00000000;5000.00.0000.00. 0%;20;60;0 # /etc/nagios/libexec/check_ping -H 192.168.1.16 -w 100,0,20% -c 500,0,60% PING OK - Ztráta paketů = 0 %, RTA = 0,27 ms|rta= 0,273000 ms;100,000000;500,000000;0,000000pl=0%;20;60;0


Něco málo o NRPE

NRPE - Nagios Remote Plugin Executor. Aby nagios dostával informace od vzdálených hostitelů, jako je využití disku nebo CPU, používá se plugin nrpe. Nagios přistupuje prostřednictvím pluginu nrpe k serveru nrpe nainstalovanému na vzdáleném hostiteli linux/unix. Server nrpe spouští místní pluginy a předává informace serveru nagios. Důležité! nrpe server a plugin musí být stejné verze, jinak může dojít k chybám.


Instalace pluginu NRPE

Před instalací pluginu nrpe je třeba nainstalovat závislost

# apt install libssl-dev

Nejnovější verzi nrpe si můžete stáhnout z webu nagios. Přejděte do adresáře sestavení, stáhněte a rozbalte nejnovější verzi nrpe

# cd /usr/src/ # wget https://github.com/NagiosEnterprises/nrpe/archive/3.0.1.tar.gz # tar xzvf 3.0.1.tar.gz

Přejdeme do složky s nrpe a nakonfigurujeme

Pojďme sestavit a nainstalovat plugin nrpe

# make check_nrpe # make install-plugin

Přidejte podporu nrpe do /etc/nagios/etc/objects/commands.cfg

# nano /etc/nagios/etc/objects/commands.cfg . . . # "check_nrpe" definice příkazu definovat příkaz( název_příkazu check_nrpe příkazový_řádek $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ ) . . .

Po provedení změn je třeba restartovat službu nagios

# restart služby nagios


Instalace serveru NRPE

Na linuxovém hostiteli, který budeme monitorovat, musíme nainstalovat server nrpe a pluginy.

Nainstalujte potřebné závislosti

# apt install build-essential libssl-dev

Přejděte do adresáře sestavení, stáhněte si nrpe, pluginy a rozbalte je

# cd /usr/src/ # wget https://github.com/NagiosEnterprises/nrpe/archive/3.0.1.tar.gz # wget https://nagios-plugins.org/download/nagios-plugins-2.1. 4.tar.gz # tar xzvf 3.0.1.tar.gz # tar xzvf nagios-plugins-2.1.4.tar.gz

Přejdeme do adresáře s nrpe a nakonfigurujeme

# cd nrpe-3.0.1 # ./configure --prefix=/etc/nagios

Pojďme stavět

# make nrpe

Přidejte uživatele a skupinu, jejímž jménem poběží server nrpe

# make install-groups-users

Pojďme nainstalovat server a konfigurační soubor

# make install-daemon # make install-config

Nainstalujte spouštěcí skript

# make install-init # systemctl povolí /lib/systemd/system/nrpe.service

Přejdeme do adresáře se zdrojovým kódem pluginů a nakonfigurujeme

# cd /usr/src/nagios-plugins-2.1.4/ # ./configure --prefix=/etc/nagios --with-nagios-user=nagios --with-nagios-group=nagios

Vytvářejte a instalujte pluginy

# make # make install

V /etc/nagios/etc/nrpe.cfg umožníme serveru nagios přijímat informace o systému a také uvedeme skutečný název diskového oddílu, který se má monitorovat, v předdefinovaném příkazu

Nano /etc/nagios/etc/nrpe.cfg . . . povoleni_hostitelé=127.0.0.1, 192.168.1.13 . . . command=/etc/nagios/libexec/check_users -w 5 -c 10 command=/etc/nagios/libexec/check_load -w 15,10,5 -c 30,25,20 command=/etc/nagios/libexec/check_disk -w 20% -c 10% -p /dev/ sda1 command=/etc/nagios/libexec/check_procs -w 5 -c 10 -s Z command=/etc/nagios/libexec/check_procs -w 150 -c 200 . . .

192.168.1.13 by měla být nahrazena adresou vašeho serveru nagios.
Spusťte server nrpe a zkontrolujte jeho stav

# service nrpe start # service nrpe status ● nrpe.service - Nagios Remote Program Executor Načteno: načteno (/lib/systemd/system/nrpe.service; povoleno; přednastaveno dodavatelem: povoleno) Aktivní: aktivní (běh)


Přidání linuxového hostitele do monitorovacího systému

K tomu vytvoříme soubor linux-server.cfg ve složce servers

# nano /etc/nagios/etc/servers/linux-serv.cfg definovat hostitele( použijte linux-server název_hostitele linux-serv alias adresa linux-serv 192.168.1.12 ) definujte službu (použijte obecnou službu název_hostitele linux-serv service_description CPU check_command check_nrpe!check_load ) definovat službu( použít generic-service název_hostitele linux-serv service_description Aktuální uživatelé check_command check_nrpe!check_users ) definovat službu (použít obecnou službu host_name linux-serv service_description /dev/sda1 Volný prostor check_command check_) definovat use generic-service host_name linux-serv service_description Total Process check_command check_nrpe!check_total_procs ) definovat službu (použití generic-service host_name linux-serv service_description Zombie Process check_command check_nrpe!check_zombie_procs )

192.168.1.12 je třeba nahradit adresou vašeho linuxového serveru.
Direktiva use ukazuje na název šablony v templates.cfg, která definuje výchozí nastavení. Aby se nový hostitel objevil ve webovém rozhraní, musíte restartovat službu nagios

# restart služby nagios

Chcete-li zkontrolovat, zda nrpe funguje, můžete spustit příkaz

# /etc/nagios/libexec/check_nrpe -H 192.168.1.12 NRPE v3.0.1

Chcete-li zkontrolovat konkrétní službu, musíte přidat argument s názvem kontroly

# /etc/nagios/libexec/check_nrpe -H 192.168.1.12 -c check_sda1 DISK OK - volné místo: /var/tmp 14549 MB (85% inode=88%);| /var/tmp=2527MB;14411;16212;0;18014

Jméno kontroly jsme definovali v souboru nrpe.cfg

Příkaz[ check_sda1]=/etc/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1

a v souboru linux-serv.cfg

Definujte službu (použijte generic-service název_hostitele linux-serv service_description /dev/sda1 Volný prostor check_command check_nrpe! check_sda1 }


Monitorování hostitelů Windows

Plugin nt se používá ke sledování hostitelů systému Windows. Ve výchozím nastavení je součástí základního pluginu a není třeba jej instalovat samostatně. Prostřednictvím nt přistupuje plugin nagios k NSClient++ nainstalovanému na hostiteli Windows. NSClient++ přistupuje k určitým modulům, které mu sdělují informace o systému. NSClient++ odešle přijaté informace na server nogios.


Instalace NSClient++

Na Windows host musíte nainstalovat NSClient++. Stáhněte si nejnovější verzi a spusťte jako správce.

Klikněte na "Další"

Znovu klikněte na „Další“.

Vyberte "Typické"

Zadejte adresu serveru nagios, heslo a ponechte první dvě zaškrtávací políčka. Klikněte na "Další"

Klikněte na "Instalovat"

Klikněte na "Dokončit"


Přidání hostitele systému Windows do monitorovacího systému

K tomu vytvoříme soubor windows-serv.cfg ve složce servers

# nano /etc/nagios/etc/servers/windows-serv.cfg definovat hostitele (použít název_hostitele windows-server alias windows-serv alias Adresa mého Windows serveru 192.168.1.33 ) definovat službu (použít obecnou službu název_hostitele windows-serv service_description NSClient++ Version check_command check_nt!CLIENTVERSION ) definuj službu ( použijte generic-service host_name windows-serv service_description Uptime check_command check_nt!UPTIME ) definuj službu (použij generic-service host_name windows-serv service_description CPU Load check_command check_nt!CPULOAD!-l 5,80,90 ) definovat službu( použít obecnou službu název_hostitele windows-serv popis služby Využití paměti kontrolní_příkaz check_nt!MEMUSE!-w 80 -c 90 ) definovat službu (použít obecnou službu název_hostitele windows-serv popis služby C:\ Kontrolní_příkaz na disku check_nt!USEDDISKSPACE!-l c -w 80 -c 90 ) definovat službu( použít generic-service název_hostitele windows-serv service_description VMTools kontrolní_příkaz check_nt!SERVICESTATE!-d ZOBRAZIT -l VMToo ls) definovat službu (použít generic-service název_hostitele windows-serv service_description Průzkumník check_command check_nt!PROCSTATE!-d ZOBRAZIT -l explorer.exe )

192.168.1.33 musí být nahrazeno adresou vašeho Windows serveru.
Pokud bylo při instalaci klienta NSClient++ zadáno heslo, musíte ho přidat do commands.cfg

# nano /etc/nagios/etc/objects/commands.cfg . . . # definice příkazu "check_nt" definovat příkaz( název_příkazu check_nt příkazový_řádek $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s MegaPass-v $ARG1$ $ARG2$ ). . .

A restartujte službu nagios

# restart služby nagios


Definice skupiny služeb

Skupina služeb seskupuje hostitele, kteří podléhají určitým servisním kontrolám. Vytvořme servisní skupinu CPU Load a sjednoťme hostitele, abychom zkontrolovali zatížení procesoru.

# nano /etc/nagios/etc/objects/servicegroups.cfg definovat servicegroup( servicegroup_name cpuload alias Členové zatížení CPU linux-serv,CPU Load, localhost,Current Load, windows-serv,CPU Load )

Členové skupiny jsou definováni ve směrnici pro členy podle principu
členové= ,,,,…,n>,n>

Chcete-li skupinu zpřístupnit, musíte restartovat službu nagios

# restart služby nagios


Umístění odkazů hostitele na mapě

Ve výchozím nastavení jsou všichni hostitelé na mapě připojeni k procesu Nagios. Jsou chvíle, kdy je potřeba toto chování potlačit. Například připojení by nemělo pocházet z Nagios Process, ale z jiného bodu na mapě (například připojení k serveru přes přepínač). To se provádí přidáním direktivy rodiče do sekce popisu hostitele. Pro názorný příklad změňme připojení windows-serv z Nagios Process na linux-serv

# nano /etc/nagios/etc/servers/windows-serv.cfg definujte hostitele( použijte název_hostitele windows-server alias windows-serv alias mého Windows Serveru 192.168.1.33 rodiče linux-serv } . . .

A restartujte službu nagios

# restart služby nagios

V prvním případě měli všichni hostitelé spojení s Nagios Process, ve druhém případě spojení windows-serv začíná z linux-serv.


Povolit ikony

nagios má možnost povolit ikony vedle názvu hostitele. Ikony jsou umístěny ve složce /etc/nagios/share/images/logos. Můžete použít hotovou sadu, kterou si můžete stáhnout z internetu. Chcete-li povolit zobrazení ikon, musíte do templates.cfg přidat následující řádky

# nano /etc/nagios/etc/objects/templates.cfg . . . # Šablona definice hostitele Linuxu - Toto NENÍ skutečný hostitel, pouze šablona! definovat hostitele( název linux-server ; Název této šablony hostitele use generic-host ; Tato šablona zdědí další hodnoty ze šablony generic-host check_period 24x7 ; Ve výchozím nastavení jsou hostitelé Linuxu nepřetržitě kontrolováni check_interval 1 ; Aktivně kontrolovat hostitel každých 5 minut retry_interval 1 ; Naplánujte opakování kontroly hostitele v 1 minutových intervalech max_check_attempts 10 ; Zkontrolujte každého hostitele Linux 10krát (max.) check_command check-host-alive ; Výchozí příkaz pro kontrolu hostitelů Linux notification_period workhours ; Správci Linuxu nesnáší být probuzeni nahoru, takže upozorňujeme pouze během dne ; Všimněte si, že proměnná notification_period je přepsána z hodnoty ; hodnoty, která je zděděna ze šablony obecného hostitele! notification_interval 120 ; Znovu zasílat upozornění každé 2 hodiny notification_options d,u,r ; Odesílat pouze upozornění pro konkrétní hostitelské stavy contact_groups admins ; Ve výchozím nastavení jsou správcům zasílána oznámení hostitelské skupiny linux-servers ; Hostitelské skupiny, které používají linuxové servery být členem icon_image linux40.png statusmap_image linux40.gd2 registr 0; NEREGISTRUJTE TUTO DEFINICE – NENÍ TO SKUTEČNÝ HOST, POUZE ŠABLONA! ) # Šablona definice hostitele Windows - Toto NENÍ skutečný hostitel, pouze šablona! definovat hostitele( název windows-server ; Název této šablony hostitele použít generický-hostitel ; Zdědit výchozí hodnoty ze šablony generického hostitele check_period 24x7 ; Ve výchozím nastavení jsou servery Windows monitorovány nepřetržitě check_interval 5 ; Aktivně kontrolovat server každých 5 minut retry_interval 1 ; Naplánujte opakování kontroly hostitele v 1 minutových intervalech max_check_attempts 10 ; Zkontrolujte každý server 10krát (max.) check_command check-host-alive ; Výchozí příkaz pro kontrolu, zda jsou servery "naživu" notification_period 24x7 ; Odešlete oznámení kdykoli time-day or night notification_interval 30 ; Znovu zasílat upozornění každých 30 minut notification_options d,r ; Odesílat upozornění pouze pro konkrétní hostitelské státy contact_groups admins ; Oznámení jsou ve výchozím nastavení zasílána administrátorům hostitelské skupiny windows-servers ; Hostitelské skupiny, jejichž členy by měly být servery Windows z icon_image win40.png statusmap_image win40.gd2 registr 0; NEREGISTRUJTE TOTO – JE TO POUZE ŠABLONA). . .

Restartování služby nagios

# restart služby nagios

V současné době stále více malých a středních firem vytváří distribuovanou IT infrastrukturu, jejíž nedílnou součástí je efektivní monitoring všech jejích součástí pro zajištění nepřetržitého a kvalitního fungování. Taková řešení mají obvykle tyto nefunkční požadavky: rychlou reakci na události a schopnost pracovat s omezenými výpočetními zdroji. Tento článek popisuje možnost vybudování takového systému založeného na volně distribuovaném monitorovacím softwaru - Nagios.

Stručný popis Nagios

Hlavní komponenta Nagios, základní server, může být nasazena na téměř každém Linux/Unix serveru. Je součástí téměř všech běžných distribucí Linuxu a Unixu. V případě potřeby si můžete stáhnout zdrojový kód ze stránek projektu a vytvořit si na něm vlastní verzi Nagios. Spolu s hlavním balíčkem Nagios je také nainstalována dokumentace k němu.

Nagios má modulární a rozšiřitelnou architekturu. Pro zvýšení schopností Nagios můžete použít následující typy komponent: pluginy (Nagios pluginy) a rozšíření (Nagios addony).

Pluginy používá hlavní proces Nagios k získání následujících informací: doba odezvy vzdáleného uzlu, volné místo na diskovém oddílu atd. Pokud se nepodařilo nalézt zásuvný modul s požadovanou funkčností, nabízí se pohodlné rozhraní pro vytváření vlastních zásuvných modulů.

Termín „addon“ byl zaveden, aby se předešlo záměně s pluginy, protože rozšíření se používají k přidání zásadně nových funkcí do Nagios nebo k integraci s jinými externími produkty.

Schopnost rychle psát pluginy změnila Nagios na všestranný nástroj pro monitorování sítě. Existují zásuvné moduly pro pollingové uzly prostřednictvím SNMP, které kontrolují dostupnost vzdáleného uzlu pomocí různých síťových protokolů. V projektu Nagios Exchange můžete vyhledávat mezi již napsanými pluginy či rozšířeními nebo tam přidat plugin vlastního vývoje.

Uživatelské rozhraní Nagios je implementováno jako webová aplikace. Potřebné CGI skripty a konfigurace webového serveru jsou součástí základního balíčku Nagios. Nechybí ani oznamovací subsystém, který umožňuje informovat emailem o vzniku mimořádných situací a jejich odstraňování.

Obrázek 1 ukazuje strukturu hlavního serveru Nagios.


Obrázek 2 ukazuje mechanismus spouštění zásuvných modulů Nagios na vzdáleném hostiteli.


Klíčové součásti na obrázku 2 jsou plugin check_nrpe monitorování a rozšíření na straně uzlů NRPE na vzdáleném hostiteli. Mezi pluginem check_nrpe a NRPE- démon naváže šifrované spojení SSL, přes které nagiosd odesílá příkazy ke spuštění zásuvných modulů a přijímá výsledky jejich provádění. NRPE"promítne" pluginy na vzdáleném hostiteli na hlavní server Nagios ( nagiosd), takže můžete spouštět jakékoli pluginy na libovolném vzdáleném hostiteli.

Pro vzdálené monitorování uzlů Windows můžete použít rozšíření NSClient++. V tomto případě ze strany nagiosd musí být použit plugin check_nt.

Příklad použití Nagios

Například bude přijat malý obchodní podnik, který má 3 body přítomnosti: sklad, obchod a kancelář. Každý bod přítomnosti má své vlastní připojení k místnímu ISP. Server Linux/Unix je nainstalován jako brána na každém webu. Mezi všemi weby je organizována VPN. V kanceláři je intranetová síť 10.1.0.0/24. Skladem - 10.2.0.0/24. V obchodě - 10.3.0.0/24. Vedení podniku si stanovilo za úkol monitorovat tuto IT infrastrukturu.


Chcete-li to provést, musíte službu nainstalovat na každý ze serverů. NRPE a dva z nich mají základní sadu Nagios. To se děje tak, že pokud jeden ze serverů Nagios vypadne, druhý o tom okamžitě pošle zprávu.

Pro instalaci nagiosd a NRPE můžete použít standardní nástroje systému. Tento postup závisí na zvolené platformě a obvykle není obtížný. Také spolu s nagiosd nebo NRPE je nainstalována základní sada zásuvných modulů. Budete také muset nainstalovat a nakonfigurovat webové rozhraní pro zobrazení stavu uzlu s nainstalovaným serverem Nagios. V některých distribucích je rozdělen do samostatného balíčku. Nakonec musíte vytvořit soubor htpasswd s uživatelem nagiosadmin definovaným v souboru cgi.conf. Pokud chcete, můžete provést změny v konfiguraci a místo tohoto jména použít jiného uživatele.

Poté můžete spustit server Nagios a webový server a přihlásit se k místní sdílené složce Nagios pomocí svého uživatelského jména a hesla. Zatím sleduje pouze jeden uzel localhost a zobrazuje několik jeho parametrů (průměr zatížení (průměr zatížení), aktuální uživatelé (aktivní uživatelé), místo na disku (místo na disku)). Jedna z částí tohoto zdroje obsahuje dokumentaci, takže pro přístup k ní nemusíte utrácet internetový provoz. Popis hostitele je v souboru localhost.cfg.


Před přidáním dalších uzlů do konfigurace musíte zadat e-mailové adresy osob odpovědných za jejich správu. To se provádí v souboru Contacts.cfg. Důrazně se doporučuje vybírat e-mailové adresy od nezávislých poskytovatelů e-mailu. Můžete si například nainstalovat poštovního klienta Yandex na svůj mobilní telefon a v popisu zadat adresu na yandex.ru. Pokud je vypnutý internet v kanceláři, kde je nainstalovaný firemní mail server, tak i po hodinách na to server Nagios ze skladu upozorní správce přes mobilní telefon.

Výpis 1 ukazuje, jak přidat kontaktní informace do souboru contacts.cfg.

Výpis 1. Přidání kontaktních informací.
definovat kontakt( contact_name zorin; // krátké uživatelské jméno // výchozí hodnoty budou zděděny ze šablony generic-contact use generic-contact; alias Alexander N. Zorin; // celé uživatelské jméno e-mail [e-mail chráněný]; }

Poté je třeba zaregistrovat uzly, které budou v Nagios monitorovány. Výpis 2 ukazuje, jak vytvořit definici uzlu skladu v souboru storage-gw.cfg, podobně jako soubor localhost.cfg.

Výpis 2. Přidání uzlů do Nagios.
define host( // název šablony použité k popisu hostitele. // definování tohoto hostitele zdědí všechna nastavení // deklarovaná v šabloně hostitele linux-server. use linux-server název_hostitele sklad-gw alias skladiště display_name Kontakty skladu zorin , adresa správce worehouse 140.14.22.4 ) definovat službu ( // název šablony použité k popisu služby. use local-service ; název_hostitele sklad-gw popis_služby SSH check_command check_ssh notifications_enabled 1 ) definovat hostitele (použít linuxový server; sklad název_hostitele -intra alias sklad-intra display_name Kontakty lokální sítě skladu zorin, adresa správce skladu 10.2.0.1 ) definovat službu ( // název šablony použité k popisu služby. use local-service; host_name sklad-intra service_description SMTP check_command check_smtp notifications_enabled 1)

Uzel sklad-gwúmyslně zaregistrováno dvakrát, aby bylo možné sledovat stav externích i interních služeb LAN. V tomto příkladu SMTP server obsluhuje pouze lokální síť. Panely webového rozhraní Nagios zobrazí dva uzly sklad-gw a sklad-intra. Pokud uzel skladu-intra zmizí a bude dostupný pouze sklad-gw- to znamená, že kanál VPN byl odpojen.

Některé pluginy poběží přes rozšíření NRPE(průměr zatížení - check_load, místo na disku - check_disk, aktuální uživatelé - check_users) k získání informací, které je nemožné nebo obtížné získat z vnějšku uzlu. Chcete-li to provést, musíte nainstalovat plugin check_nrpe2 na serverech a rozšíření Nagios NRPE na všech serverech. To lze provést pomocí standardních systémových nástrojů.

V konfiguračním souboru nrpe.cfg musíte zadat adresu, ke které bude připojen NRPE-démon a důvěryhodné uzly, ze kterých bude přijímat požadavky. Pro obchod (node ​​​​shop-gw) budou použity následující parametry:

adresa_serveru=10.3.0.1 povoleni_hostitele=10.1.0.1,10.2.0.1

Provoz NRPE záměrně směrovány přes VPN. Důvěryhodné uzly pro Démon NRPE v prodejně je kancelář a sklad. Na serverech Nagios budou tyto služby monitorovány, jak je uvedeno ve výpisu 3:

Výpis 3. Konfigurace monitorování pro vzdálenou službu
define service( // název šablony použité k popisu služby. use local-service; host_name storage-intra service_description Load average index check_command check_nrpe2!-c check_load notifications_enabled 1 )

V tomto případě NRPE-node démon sklad-intra příkaz je odeslán check_load. Odezvou bude aktuální hodnota. zatížení průměr pro tento uzel. Upozorňujeme, že parametry pluginu (a může jich být několik) musí být odděleny vykřičníky. V zobrazeném příkladu je parametr -c check_load.

Krok za krokem, přidáváním nových uzlů a na nich sledovaných parametrů je tedy vybudován vysoce funkční monitorovací systém.

Práce s pluginy

Pluginy jsou jednoduché programy nebo skripty, které při spuštění pomocí možností příkazového řádku přijímají vstupní parametry a vracejí požadované hodnoty do stdout v dobře definovaném formátu. Příkazy pro spouštění zásuvných modulů lze zapsat do souboru commands.cfg, zatímco zásuvné moduly jsou nainstalovány s nagiosd jsou již v tomto souboru. Je také možné zaregistrovat každý plugin do samostatného souboru.

Výpis 4 ukazuje, jak je plugin popsán. check_smtp A, které kontroluje dostupnost serveru SMTP na vzdáleném hostiteli a jeho dobu odezvy.

Výpis 4. Konfigurace pluginu check_smtp
define command( command_name check_smtp command line /usr/lib/nagios/plugins/check_smtp -H $HOSTADDRESS$ )

Zde je výslovně uvedena cesta k pluginu check_smtp a nutnost přidat k požadavku prostřednictvím opce -BOKY adresa kontrolovaného uzlu, která je automaticky nahrazena na základě směrnice definovat službu výše. Pokud tento plugin spustíte z příkazového řádku, zobrazí se následující informace:

/usr/lib/nagios/plugins/check_smtp -H 192.168.4.1 SMTP OK - 0,038 sec. doba odezvy|doba=0,037518s;;;0,000000

Možnosti spouštění mohou být různé, hlavní věcí je správně je přidat do popisu příkazu. Výstupní formát je podrobně popsán v dokumentaci nainstalované s webovým rozhraním.

Při instalaci NRPE-daemon, v souboru nrpe.conf je registrována pouze malá část pluginů, mezi nimi i výše uvedený příkaz check_load:

command=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20

Výše uvedený řádek obsahuje cestu k pluginu check_load a možnosti spuštění. Pokud je plugin spuštěn bez parametrů, zobrazí se seznam platných parametrů. Například musíte vytvořit příkaz check_usr pro NRPE, který by vrátil informace o oddílu /dev/md2 připojeném k cestě /usr k monitorovacímu serveru. Tuto funkcionalitu lze implementovat pomocí standardního pluginu check_disk. Pokud jej spustíte bez parametrů, zobrazí se popis spouštěcích parametrů.

Použití: check_disk -w limit -c limit [-W limit] [-K limit] (-p cesta | -x zařízení) [-C] [-E] [-e] [-g skupina ] [-k] [ -l] [-M] [-m] [-R cesta ] [-r cesta ] [-t časový limit] [-u jednotka] [-v] [-X typ]

Na základě poskytnutých informací můžete připravit tým check_usr a vložte jej do souboru nrpe.conf:

command=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/md2

Zkušební spuštění tohoto příkazu vytvoří následující výstup:

/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/md2 DISK OK - volné místo: /usr 20295 MB (86% inode=92%);| /usr=3061MB;19684;22145;0;24606

Jak můžete vidět, v Nagios můžete snadno vytvářet pluginy pro provádění různých úkolů a připojit je k démonu NRPE.

Rozšíření Nagios

Když mluvíme o možnostech Nagios, je nutné vzít v úvahu nejzajímavější rozšíření, která výrazně rozšiřují možnosti Nagios.

rozšíření pnp4nagios

Ve výchozím nastavení Nagios uchovává historii stavu sledovaných parametrů pouze podle jejich kritičnosti (normální, varovné, kritické). Uživatel může vidět, v jakých obdobích byl parametr v různých stavech a jaký byl celkový čas strávený v těchto stavech za sledované období.


Jak je znázorněno na obrázku 5, kritické období je označeno červeně a období normálního fungování je označeno zeleně. Toto řešení je vhodné pro parametry typu boolean (ano / ne), například integritu pole RAID. U číselných parametrů by bylo užitečnější sledovat dynamiku změn.

Rozšíření pnp4nagios, pravidelně přijímat od nagiosd hodnoty parametrů, ukládá historii jejich změn a generuje report v grafické podobě. Grafy lze libovolně kombinovat a v případě potřeby převést výslednou webovou stránku do souboru PDF. Obrázek 6 ukazuje zprávu o změně parametru zatížení průměr pro konkrétní uzel.

Obrázek 6. Webová stránka rozšíření pnp4nagios
Závěr

Za zmínku stojí především nízká spotřeba zdrojů tohoto řešení. Jedna společnost používá Nagios k monitorování 14 uzlů a 140 služeb na nich, zatímco démon NRPE zabírá 512 KB RAM a server nagiosd pouze 140 KB RAM. Spotřeba prostředků procesoru oběma komponentami a jejich podřízenými procesy na CPU Pentium-IV nepřesahuje 1 %. Mezi sledované parametry patří teplota pevných disků a základních desek, stav diskových oddílů, velikost poštovních front, otáčky ventilátorů, integrita RAID polí a mnoho dalšího.

Jak je uvedeno v tomto článku, balíček Nagios má extrémně nízké požadavky na zdroje, je vysoce přizpůsobitelný a je otevřený novým pluginům a rozšířením. Pro malou nebo střední společnost, která již má alespoň jeden Linux/Unix server, je Nagios perfektním řešením pro monitorování stávající IT infrastruktury.



Související články: