Nagios je software s otevřeným zdrojovým kódem pro monitorování systému a sítě. Nagios může monitorovat aktivitu hostitele a jeho služeb a poskytuje varování/varování, pokud se na serveru stane něco špatného. Nagios může běžet na operačních systémech Linux. V tuto chvíli k instalaci používám Ubuntu 16.04.
Předpoklady
- 2 Ubuntu 16.04 – 64bitové servery
- 1 – Hostitel Nagios s IP:192.168.1.9
- 2 – Klient Ubuntu s IP:192.168.1.10
- Přístup root/sudo
Co budeme dělat v tomto tutoriálu:
- Software pro závislosti balíčku, jako je - LAMP atd.
- Konfigurace uživatele a skupiny.
- Instalace Nagios.
- Konfigurace Apache.
- Testování serveru Nagios.
- Přidání hostitele ke sledování.
Instalace předpokladů
Nagios vyžaduje kompilátor gcc a základní komponenty pro kompilaci, LAMP (Apache, PHP, MySQL) pro webové rozhraní Nagios a Sendmail pro odesílání upozornění ze serveru. Chcete-li nainstalovat všechny tyto balíčky, spusťte tento příkaz (je to pouze 1 řádek):
sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip
Konfigurace uživatelů a skupin
Aby Nagios fungoval, musíte pro Nagios vytvořit nového uživatele. Uživatele pojmenujeme "nagios" a navíc vytvořte skupinu s názvem "nagcmd" . Nového uživatele přidáme do skupiny, jak je uvedeno níže:
useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagios,nagcmd www-data
Instalace Nagios
Krok 1 – Stáhnout a extrahovat jádro Nagios
cd ~
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz
tar -xzf nagios*.tar.gz
cd nagios-4.2.0
Krok 2 – Kompilace Nagios
Než vytvoříte Nagios, budete jej muset nakonfigurovat s uživatelem a skupinou, kterou jste vytvořili dříve.
./configure --with-nagios-group=nagios --with-command-group=nagcmd
Pro více informací použijte:./configure --help .
Nyní k instalaci Nagios:
make all
sudo make install
sudo make install-commandmode
sudo make install-init
sudo make install-config
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf
A zkopírujte adresář evenhandler do adresáře nagios:
cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
Krok 3 – Instalace pluginů Nagios
Stáhněte a rozbalte pluginy Nagios:
cd ~
wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz
tar -xzf nagios-plugins*.tar.gz
cd nagios-plugin-2.1.2/
Nainstalujte plugin Nagios pomocí příkazů níže:
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
make
make install
Krok 4 – Konfigurace Nagios
Po dokončení instalační fáze najdete výchozí konfiguraci Nagios v /usr/local/nagios/.
Nakonfigurujeme Nagios a Nagios kontakt.
Upravte výchozí konfiguraci nagios pomocí vim:
vim /usr/local/nagios/etc/nagios.cfg
zrušit komentář na řádku 51 pro konfiguraci hostitelského monitoru.
cfg_dir=/usr/local/nagios/etc/servers
Uložte a ukončete.
Přidejte novou složku s názvem servery:
mkdir -p /usr/local/nagios/etc/servers
Kontakt Nagios lze nakonfigurovat v souboru contact.cfg. Chcete-li jej otevřít, použijte:
vim /usr/local/nagios/etc/objects/contacts.cfg
Poté nahraďte výchozí e-mail svým vlastním e-mailem.
Konfigurace Apache
Krok 1 – aktivace modulů Apache
sudo a2enmod rewrite
sudo a2enmod cgi
Ke konfiguraci uživatelského nagiosadmina pro webové rozhraní nagios můžete použít příkaz htpasswd
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
a zadejte své heslo.
Krok 2 – aktivace virtuálního hostitele Nagios
sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/
Krok 3 – Spusťte Apache a Nagios
service apache2 restart
service nagios start
Při spuštění Nagios se může zobrazit následující chyba:
Starting nagios (via systemctl): nagios.serviceFailed
A takto to opravit:
cd /etc/init.d/
cp /etc/init.d/skeleton /etc/init.d/nagios
Nyní upravte soubor Nagios:
vim /etc/init.d/nagios
... a přidejte následující kód:
DESC="Nagios"
NAME=nagios
DAEMON=/usr/local/nagios/bin/$NAME
DAEMON_ARGS="-d /usr/local/nagios/etc/nagios.cfg"
PIDFILE=/usr/local/nagios/var/$NAME.lock
Udělejte jej spustitelný a spusťte Nagios:
chmod +x /etc/init.d/nagios
service apache2 restart
servuce nagios start
Testování serveru Nagios
Otevřete prosím svůj prohlížeč a přejděte k IP serveru Nagios, v mém případě: http://192.168.1.9/nagios .
Přihlášení na Nagios pomocí apache htpasswd.
Nagios Admin Dashboard
Přidání hostitele k monitorování
V tomto tutoriálu přidám hostitele Ubuntu k monitorování na server Nagios, který jsme vytvořili výše.
Nagios Server IP : 192.168.1.9
Ubuntu Host IP : 192.168.1.10
Krok 1 – Připojení k hostiteli ubuntu
ssh [email protected]
Krok 2 – Instalace služby NRPE
sudo apt-get install nagios-nrpe-server nagios-plugins
Krok 3 – Konfigurace NRPE
Po dokončení instalace upravte soubor nrpe /etc/nagios/nrpe.cfg:
vim /etc/nagios/nrpe.cfg
...a přidejte adresu IP serveru Nagios 192.168.1.9 k adrese server_address.
adresa_serveru=192.168.1.9
Krok 4 – Restartujte NRPE
service nagios-nrpe-server restart
Krok 5 – Přidání hostitele Ubuntu na server Nagios
Připojte se prosím k serveru Nagios:
ssh [email protected]
Poté vytvořte nový soubor pro konfiguraci hostitele v /usr/local/nagios/etc/servers/.
vim /usr/local/nagios/etc/servers/ubuntu_host.cfg
Přidejte následující řádky:
# Ubuntu Host configuration file define host { use linux-server host_name ubuntu_host alias Ubuntu Host address 192.168.1.10 register 1 } define service { host_name ubuntu_host service_description PING check_command check_ping!100.0,20%!500.0,60% 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 ubuntu_host service_description Check Users check_command check_local_users!20!50 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 ubuntu_host service_description Local Disk check_command check_local_disk!20%!10%!/ 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 ubuntu_host service_description Check SSH check_command 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 ubuntu_host service_description Total Process check_command check_local_procs!250!400!RSZDT 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 }
Mnoho kontrolních příkazů můžete najít v souboru /usr/local/nagios/etc/objects/commands.cfg. Podívejte se tam, pokud chcete přidat další služby, jako je DHCP, POP atd.
A nyní zkontrolujte konfiguraci:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
... abyste zjistili, zda je konfigurace správná.
Krok 6 – Restartujte všechny služby
Na hostiteli Ubuntu spusťte službu NRPE:
service nagios-nrpe-server restart
... a na serveru Nagios spusťte Apache a Nagios:
service apache2 restart
service nagios restart
Krok 7 – Testování hostitele Ubuntu
Otevřete server Nagios z prohlížeče a podívejte se, jak je ubuntu_host monitorován.
Hostitel Ubuntu je dostupný na monitorovaném hostiteli.
Všechny služby monitorovány bez chyb.
Závěr
Nagios je open source aplikace pro monitorování systému. Nagios byl široce používán kvůli snadné konfiguraci. Nagios podporuje různé pluginy a dokonce si můžete vytvořit své vlastní pluginy. Více informací naleznete zde.