Nagios je bezplatný, open source a výkonný monitorovací nástroj, který vám pomůže monitorovat celou vaši IT infrastrukturu, servery, služby a aplikace z centrálního místa. Je založen na architektuře klient-server.
Budete tedy muset nainstalovat agenta Nagios do klientského systému a přidat jej na server Nagios pro monitorování. Pokud hledáte řešení pro monitorování, pak je Nagios nezbytným nástrojem pro jakékoli produkční serverové prostředí.
Existuje způsob, jak to udělat sám? Samozřejmě existuje. V tomto tutoriálu vám ukážeme, jak nainstalovat Nagios 4 a monitorovat váš server na Ubuntu 20.04.
Předpoklady
- Dva Ubuntu 20.04 VPS, jeden pro server Nagios a jeden pro klienta Nagios.
- Přístup k uživatelskému účtu root (nebo přístup k účtu správce s oprávněními root)
Krok 1:Přihlaste se k serveru a aktualizujte balíčky operačního systému serveru
Nejprve se přihlaste ke svému serveru Ubuntu 20.04 přes SSH jako uživatel root:
ssh root@IP_Address -p Port_number
„IP_Address“ a „Port_number“ budete muset nahradit příslušnou IP adresou vašeho serveru a číslem portu SSH. V případě potřeby navíc nahraďte „root“ uživatelským jménem účtu správce.
Před spuštěním se musíte ujistit, že všechny balíčky Ubuntu OS nainstalované na serveru jsou aktuální. Můžete to provést spuštěním následujících příkazů:
apt-get update -y apt-get upgrade -y
Krok 2:Instalace požadovaných závislostí
Než začnete, budete muset nainstalovat některé závislosti potřebné k instalaci Nagios do vašeho systému. Všechny je můžete nainstalovat pomocí následujícího příkazu:
apt-get install autoconf bc gawk dc build-essential gcc libc6 make wget unzip apache2 php libapache2-mod-php libgd-dev libmcrypt-dev make libssl-dev snmp libnet-snmp-perl gettext -y
Jakmile jsou všechny závislosti nainstalovány, můžete přistoupit ke stažení jádra Nagios 4.
Krok 3:Stažení a instalace Nagios 4
Nejprve si stáhněte nejnovější verzi Nagios 4 z jeho oficiálních stránek pomocí následujícího příkazu:
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz
Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:
tar -xvzf nagios-4.4.6.tar.gz
Dále změňte adresář na extrahovaný adresář a nakonfigurujte jej pomocí následujícího příkazu:
cd nagios-4.4.6 ./configure --with-httpd-conf=/etc/apache2/sites-enabled
Měli byste získat následující výstup:
Nagios user/group: nagios,nagios
Command user/group: nagios,nagios
Event Broker: yes
Install ${prefix}: /usr/local/nagios
Install ${includedir}: /usr/local/nagios/include/nagios
Lock file: /run/nagios.lock
Check result directory: /usr/local/nagios/var/spool/checkresults
Init directory: /lib/systemd/system
Apache conf.d directory: /etc/apache2/sites-enabled
Mail program: /bin/mail
Host OS: linux-gnu
IOBroker Method: epoll
Web Interface Options:
------------------------
HTML URL: http://localhost/nagios/
CGI URL: http://localhost/nagios/cgi-bin/
Traceroute (used by WAP):
Review the options above for accuracy. If they look okay,
type 'make all' to compile the main program and CGIs.
Dále sestavte Nagios pomocí následujícího příkazu:
make all
Dále vytvořte uživatele a skupinu Nagios a přidejte je do skupiny www-data pomocí následujícího příkazu:
make install-groups-users usermod -a -G nagios www-data
Dále spusťte následující příkaz k instalaci binárních souborů Nagios, démona a příkazového režimu:
make install make install-daemoninit make install-commandmode
Dále nainstalujte konfiguraci ukázkového skriptu a webovou konfiguraci Apache pomocí následujícího příkazu:
make install-config make install-webconf
Dále povolte modul přepisování a cgi pomocí následujícího příkazu:
a2enmod rewrite cgi
Poté restartujte službu Apache, aby se změny projevily:
systemctl restart apache2
Krok 4:Vytvoření správce Nagios
Dále budete muset vytvořit uživatele Nagios pro přístup k webovému rozhraní Nagios. Můžete jej vytvořit pomocí následujícího příkazu:
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Budete požádáni o nastavení hesla, jak je uvedeno níže:
New password: Re-type new password: Adding password for user nagiosadmin
Krok 5:Konfigurace systému Nagios
Před konfigurací Nagios budete muset nainstalovat Nagios Pluginy a NRPE Pluginy. Můžete je nainstalovat pomocí následujícího příkazu:
apt-get install monitoring-plugins nagios-nrpe-plugin -y
Jakmile jsou všechny balíčky nainstalovány, vytvořte adresář pro uložení veškeré konfigurace:
mkdir -p /usr/local/nagios/etc/servers
Dále upravte konfigurační soubor Nagios a definujte adresář serveru:
nano /usr/local/nagios/etc/nagios.cfg
Změňte následující řádek:
cfg_dir=/usr/local/nagios/etc/servers
Dále upravte Nagios resource.cfg a definujte cestu k pluginům Nagios:
nano /usr/local/nagios/etc/resource.cfg
Změňte následující řádek:
$USER1$=/usr/lib/nagios/plugins
Uložte a zavřete soubor, poté upravte Contacts.cfg a definujte své kontaktní jméno a e-mailovou adresu:
nano /usr/local/nagios/etc/objects/contacts.cfg
Změňte následující řádky podle svých potřeb:
define contact {
contact_name nagiosadmin ; Short name of user
use generic-contact ; Inherit default values from generic-contact template (defined above)
alias Nagios Admin ; Full name of user
email nagios@localhost ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}
Uložte a zavřete soubor, poté upravte commands.cfg a definujte kontrolní příkazy nrpe:
nano /usr/local/nagios/etc/objects/commands.cfg
Na konec souboru přidejte následující řádky:
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
Uložte a zavřete soubor, poté spusťte službu Nagios a povolte její spuštění při restartu systému:
systemctl start nagios systemctl enable nagios
Stav služby Nagios můžete také ověřit pomocí následujícího příkazu:
systemctl status nagios
Výstup:
● nagios.service - Nagios Core 4.4.6
Loaded: loaded (/lib/systemd/system/nagios.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-02-06 13:37:33 UTC; 19s ago
Docs: https://www.nagios.org/documentation
Main PID: 25820 (nagios)
Tasks: 6 (limit: 2353)
Memory: 2.7M
CGroup: /system.slice/nagios.service
├─25820 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
├─25821 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
├─25822 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
├─25823 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
├─25824 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh
└─25840 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
Feb 06 13:37:33 nagiosserver nagios[25820]: qh: Socket '/usr/local/nagios/var/rw/nagios.qh' successfully init
Nakonec restartujte službu Apache, aby se změny projevily:
systemctl restart apache2
Krok 6:Přístup k webovému uživatelskému rozhraní Nagios
Nyní otevřete webový prohlížeč a přejděte na webové rozhraní Nagios pomocí adresy URL http://nagios-server-ip/nagios/. Budete požádáni o zadání uživatelského jména a hesla správce, jak je uvedeno níže:
Zadejte své uživatelské jméno a heslo správce Nagios a klikněte na Podepsat V knoflík. Na následující stránce byste měli vidět řídicí panel Nagios:
Klikněte na služby v levém podokně byste měli vidět všechny služby na následující stránce:
Krok 7:Přidání monitorovacích hostitelů na server Nagios
Dále budete muset nainstalovat agenta Nagios do klientského systému a přidat jej na server Nagios.
Nejprve nainstalujte balíček Nagios a NRPE na klientský systém pomocí následujícího příkazu:
apt-get install nagios-nrpe-server monitoring-plugins -y
Po instalaci upravte soubor nrpe.cfg a definujte IP adresu serveru Nagios a IP adresu klienta:
nano /etc/nagios/nrpe.cfg
Změňte následující řádky, které odpovídají IP serveru a klienta:
server_address=client-ip-address allowed_hosts=127.0.0.1,::1,server-ip-address
Uložte a zavřete soubor. Poté upravte soubor nrpe_local.cfg:
nano /etc/nagios/nrpe_local.cfg
Přidejte nebo změňte následující řádky:
command[check_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p / command[check_ping]=/usr/lib/nagios/plugins/check_ping -H client-ip-address -w 100.0,20% -c 500.0,60% -p 5 command[check_http]=/usr/lib/nagios/plugins/check_http -I client-ip-address command[check_ssh]=/usr/lib/nagios/plugins/check_ssh -4 client-ip-address
Uložte a zavřete soubor, restartujte službu Nagios NRPE a povolte její spuštění při restartu systému:
systemctl restart nagios-nrpe-server systemctl enable nagios-nrpe-server
Stav služby můžete zkontrolovat pomocí následujícího příkazu:
systemctl status nagios-nrpe-server
Výstup:
● nagios-nrpe-server.service - Nagios Remote Plugin Executor
Loaded: loaded (/lib/systemd/system/nagios-nrpe-server.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-02-06 13:51:40 UTC; 16s ago
Docs: http://www.nagios.org/documentation
Main PID: 5966 (nrpe)
Tasks: 1 (limit: 1145)
Memory: 688.0K
CGroup: /system.slice/nagios-nrpe-server.service
└─5966 /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -f
Feb 06 13:51:40 nagiosclient systemd[1]: Started Nagios Remote Plugin Executor.
Feb 06 13:51:40 nagiosclient nrpe[5966]: Starting up daemon
Feb 06 13:51:40 nagiosclient nrpe[5966]: Server listening on 104.245.33.71 port 5666.
Feb 06 13:51:40 nagiosclient nrpe[5966]: Listening for connections on port 5666
Feb 06 13:51:40 nagiosclient nrpe[5966]: Allowing connections from: 127.0.0.1,::1,nagios-server-ip
Krok 8:Přidání klientských hostitelů na server Nagios
Dále budete muset přidat klientského hostitele na server Nagios a definovat službu, kterou chcete monitorovat.
Na serveru Nagios vytvořte nový soubor s názvem nagiosclient.cfg:
nano /usr/local/nagios/etc/servers/nagiosclient.cfg
Přidejte následující řádky:
define host {
use linux-server
host_name nagiosclient
alias Ubuntu Host
address client-ip-address
register 1
}
define service {
host_name nagiosclient
service_description PING
check_command check_nrpe!check_ping
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}
define service {
host_name nagiosclient
service_description Check Users
check_command check_nrpe!check_users
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}
define service {
host_name nagiosclient
service_description Check SSH
check_command check_nrpe!check_ssh
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}
define service {
host_name nagiosclient
service_description Check Root / Disk
check_command check_nrpe!check_root
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}
define service {
host_name nagiosclient
service_description Check HTTP
check_command check_nrpe!check_http
max_check_attempts 2
check_interval 2
retry_interval 2
check_period 24x7
check_freshness 1
contact_groups admins
notification_interval 2
notification_period 24x7
notifications_enabled 1
register 1
}
Uložte a zavřete soubor a restartujte službu Nagios, aby se změny projevily:
systemctl restart nagios
V tomto okamžiku jsou server a klient Nagios nainstalovány a nakonfigurovány.
Krok 9:Ověřte Nagios
Nyní se vraťte do webového rozhraní Nagios a klikněte na hostitele v levém podokně, měli byste vidět všechny nově přidané klientské hostitele na následující stránce:
Nyní klikněte na službu v levém podokně byste měli vidět všechny služby na následující stránce:
Samozřejmě nemusíte instalovat Nagios na Ubuntu, pokud používáte některou z našich spravovaných hostingových služeb, v takovém případě můžete jednoduše požádat naše zkušené administrátory Linuxu, aby vám to nainstalovali. Jsou k dispozici 24×7 a okamžitě se postarají o váš požadavek.
PS . Pokud se vám líbil tento příspěvek o tom, jak nainstalovat Nagios na Ubuntu, sdílejte jej se svými přáteli na sociálních sítích pomocí tlačítek vlevo nebo jednoduše zanechte odpověď níže. Děkuji.