niedziela, 30 października 2016

OBSERVIUM - Instalacja serwera do monitorowania przez protokół SNMP

Dzisiaj omówimy instalację oraz konfigurację serwera monitorującego urządzenia sieciowe poprzez protokół SNMP. W jednym z poprzednich wpisów omówiłem konfiguracje urządzeń pod kontem monitorowania. 

Co potrzebujemy? Jedyne co potrzebujemy to komputer lub wirtualną maszynę z systemem operacyjnym Debian i trochę czasu.

Na samym początku musimy zainstalować kilka niezbędnych pakietów, między innymi obsługę php oraz mysql. Zrobimy to za pomocą poniższej komendy:

apt-get install libapache2-mod-php5 php5-cli php5-mysql php5-gd php5-mcrypt php5-json php-pear snmp fping \
mysql-server mysql-client python-mysqldb rrdtool subversion whois mtr-tiny ipmitool graphviz imagemagick

Jeżeli będziemy chcieli dodatkowo monitorować wirtualne maszyny na serwerach powinniśmy doinstalować pakiet libvirt:

apt-get install libvirt-bin

Teraz stworzymy odpowiedni katalog oraz przejdziemy do katalogu z którego będziemy instalować Observium:

mkdir -p /opt/observium && cd /opt

Teraz wystarczy pobrać i wypakować ostatnią paczkę z naszym narzędziem:

wget http://www.observium.org/observium-community-latest.tar.gz
tar zxvf observium-community-latest.tar.gz

Po rozpakowaniu archiwum musimy skopiować i skonfigurować dostęp do naszej bazy danych:

cd observium
cp config.php.default config.php
nano config.php

Rysunek 1 - Konfiguracja pliku config.php

Przed zapisem danych dostępu do naszej bazy danych nalepiej zalogować się do naszego serwera mysql poprzez panel PHPMYADMIN i dodać odpowiednią bazę danych.

Rysunek 2 - Dodawanie bazy danych za pomocą phpmyadmin

Nie zapomnijmy dodać niezbędnych podfolderów w katalogu observium i nadać im odpowiednich praw:

mkdir logs
mkdir rrd
chown www-data:www-data rrd

Zainstalujmy podstawowy szablon bazy danych:

./discovery.php -u

Rysunek 3 - Instalacja podstawowego szablonu bazy danych

Jeszcze wykonamy wstępne odpytanie i wyszukanie urządzeń:

./discovery.php -h all
./poller.php -h all

Konfigurujemy VirtualHost w apache. Dodajemy wpis do pliku: /etc/apache2/sites-enabled/000-default.conf

<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /opt/observium/html
    <FilesMatch \.php$>
      SetHandler application/x-httpd-php
    </FilesMatch>
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /opt/observium/html/>
            DirectoryIndex index.php
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Require all granted
    </Directory>
    ErrorLog  ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog  ${APACHE_LOG_DIR}/access.log combined
    ServerSignature On
</VirtualHost>

Po wszystkim restartujemy apache i wchodzimy na stronę naszego observium http://IP/observium.

Rysunek 4 - Panel logowania użytkownika

Teraz możemy przystąpić do dodawania naszych urządzeń. Aby tego dokonać z menu wybieramy Devices >> Add Device i wypełniamy pole adresu Hostname oraz SNMP Community. 

Za jakiś czas powinny ukazać się nam ładne grafy jak na screenie poniżej.

Rysunek 5 - Panel zarządzania Observium

Gotowy obraz systemu z zainstalowanym i skonfigurowanym observium gotowy do pobrania pod adresem: http://chomikuj.pl/KlimasStudio/Wirtualizacja/VMware

Miłego testowania ;) Jeżeli macie jakieś propozycje co mogę dla Was opisać piszcie w komentarzach.

EDIT:

Zapomniałem dodać że trzeba dodać wpisy do CRONa
nano /etc/cron.d/observium

i dodać poniższe wpisy
* * * * *   root    /opt/observium/discovery.php -h all >> /dev/null 2>&1
* * * * *   root    /opt/observium/discovery.php -h new >> /dev/null 2>&1
* * * * *   root    /opt/observium/poller-wrapper.py 2 >> /dev/null 2>&1