16 wrz

Instalacja i konfiguracja Nagiosa na CentOS, Fedora

Instalacja Nagiosa Core sprowadza się zaledwie do kilkunastu kroków.

1. Przygotowanie systemu

  • Instalacja niezbędnych paczek takich jakł Apache, PHP, GCC compiler, GD Development libraries. Paczki instalujemy korzystając z wbudowanego w CentOS (…i RedHat, Fedore) menadżera paczek: yum
yum install httpd php
yum install gcc glibc glibc-common
yum install gd gd-devel

2. Konta użytkowników

  • zmieniamy się w użytkownika root
su -l
  • zakładamy konto użytkownika i nadajemy mu hasło
/usr/sbin/useradd -m nagios
passwd nagios
  • zakładamy nową grupę zezwalającą na dostęp do interfejsu web nagiosa
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd apache

3. Pobieranie nagiosa i pluginów

  • Tworzymy katalog, gdzie zostanie pobrany nagios:
mkdir ~/download_nagios
cd ~/download_nagios
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.5.1.tar.gz
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz

4. Kompilacja i instalacja nagiosa

  • rozpakowujemy nagiosa do stworzonego wcześniej katalogu
cd ~/download_nagios
tar xzf nagios-3.5.1.tar.gz
cd nagios
  • wykonywanie skryptu nagiosa dla wcześniej utworzonej grupy
./configure --with-command-group=nagcmd
  • kompilacja źródeł nagiosa oraz instalacja plików binarnych skryptów, przykładowych konfiguracji
make all
make install
make install-init
make install-config
make install-commandmode

5. Dostosowanie konfiguracji

  • przykładowe konfiguracje zostały zainstalowane w katalogu /usr/local/nagios/etc
  • edytujemy plik contacts.cfg w celu określenia osób otrzymujących powiadomienia z nagiosa
nano /usr/local/nagios/etc/objects/contacts.cfg

6. Konfiguracja interfejsu webowego

  • instalacja pliku konfiguracyjnego nagiosa w katalogu conf.d serwera Apache
make install-webconf
  • tworzenie konta umożliwiającego na dostęp przez interfejs webowy
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
  • restart serwera Apache
service httpd restart

7. Kompilacja i instalacja pluginów nagiosa

  • rozpakowanie pluginów
cd ~/downloads
tar xzf nagios-plugins-1.4.16.tar.gz
cd nagios-plugins-1.4.16
  • kompilacja i instalacja pluginów
./configure --with-nagios-user=nagios --with-nagios-group=nagcmd
make
make install

8. Uruchamianie Nagiosa

  • Uruchamianie Nagiosa przy każdym starcie systemu
chkconfig --add nagios
chkconfig nagios on
  • Weryfikacja konfiguracji nagiosa przed restartem usługi
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  • jeżeli system nie wyrzucił błędów możemy bezpiecznie uruchomić nagiosa
service nagios start

9. Modyfikacja ustawień SELinux

  • W systemie CentOS standardowo jest uruchomiona usługa SELinux (Security Enhanced Linux) w trybie enforce. Jeżeli podczas próby uzyskania dostępu co CGI Nagiosa otrzymamy komunikat „Internal Server Error” będzie to oznaczało, że usługa jest aktywna. Status usługi można sprawdzić poleceniem:
getenforce
  • W celu zmiany trybu na Permissive wprowadzamy:
setenforce 0
  • Aby zmienić ustawienia na stałe należy dokonać modyfikacji w pliku in/etc/selinux/config oraz zrestartować Nagiosa.Instead of disabling SELinux or setting it to permissive mode, you can use the following command to run the CGIs under SELinux enforcing/targeted mode:
  • Zamiast wyłączać SELinuxlub lub ustawiać go w tryb permissive można użyć następującego polecenia, do uruchamiania skryptów CGI spod SELinux enforcing/targeted
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/

10. Logowanie do interfejsu Webowego

  • W celu uruchomienia nagiosa wystraczy w przeglądarce otworzyć:
http://localhost/nagios/