Observium
Autor
Kristjan Hinn AK21 kristjan.hinn@itcollege.ee
Sissejuhatus
Observium (www.observium.org) on SNMP protokollil töötav ressursi monitoorimise tarkvara. Observium on kirjutatud PHPs ning toetab suurel hulgal enimlevinud operatsioonisüsteeme. Observium pole siiski mõeldud asendamaks monitooringu tarkvaras nagu näiteks nagios või Microsoft Operations Manageri. Observiumi kood on vabavara QPL litsensiga, kuid tasulise versiooniga saab kasutada automaatset versioonihaldust SVN (Subversion) varamust. Sellegi poolest on minu arvates Observium lihtsasti paigaldatav ja seadistatav tarkvara.
Kasutajatugi
Väikeste süsteemide seadistamiseks on kasutajatugi veebilehel piisav, kuid Observiumi arendajad pakuvad vajadusel ka tasulist tuge suurte ja keeruliste erilahenduste seadistamiseks.
Paigaldamine
Observiumi veebilehel olevas juhendis on öeldud, et nende kirjutatud juhend kehtib Ubuntu 13.04 puhul. Tegin veebilehel asuvale juhendile mõned muudatused, et Observiumi ka Ubuntu 13.10 peal töötaks.
Eeldused
Antud juhendi toimiseks peavad olema täidetud järgnevad eeldused:
Server: Ubuntu 13.10
Mälu: 512 MB
Kõvaketas: 5 GB
Võrk: interneti pääsemine sh nimelahendamine peab toimima
Vajalikud lisa tarkvarad:
- Apache
- fping
- MySQL
- Net-SNMP 5.4+
- RRDtool 1.3+
- Graphviz
- PHP 5.3+
Valikulised tarkvarad:
- Ipmitool - kui soovid IPMI kontrollereid monitoorida
- Libvirt-bin - kui soovid virtaalserverite keskkonna VMWare host servereid monitoorida.
Paigaldusdetailid
1. Vältimaks juhendist käskude kopeerimise ja kleepimise võimalikke eksimusi muudame terminali juurkasutajaõigustesse.
sudo -i
2. Paigaldame vajalikud lisa tarkvarad. Kui MySQL pole eelnevalt paigaldatud, siis tuleb mysql paigaldamise käigus seadistada ka peakasutaja parool.
apt-get update
apt-get install libapache2-mod-php5 php5-cli php5-mysql php5-gd php5-snmp php-pear snmp graphviz php5-mcrypt php5-json mysql-server mysql-client rrdtool fping imagemagick whois mtr-tiny nmap ipmitool python-mysqldb
3. Valime kataloogi, kuhu soovime observiumi paigaldada. Näites paigaldatakse kausta /opt
cd /opt
4. Laeme alla Observiumi viimase versiooni ja pakime lahti
wget http://www.observium.org/observium-community-latest.tar.gz
tar zxvf observium-community-latest.tar.gz
5. Siseneme observiumi kodukausta ja tekitame konfiguratsiooni faili
cd observium
cp config.php.default config.php
6. Tekitame tühja Mysql andmebaasi, loome kasutaja ja anname õigused
mysql -u root -p <Installi käigus seadistatud juurkasutaja parool>
Mysql käsureal:
CREATE DATABASE <Andmebaasi nimi>; GRANT ALL PRIVILEGES ON <Andmebaasi nimi>.* TO '<Andmebaasi kasutajainim>'@'localhost' IDENTIFIED BY '<Andmebaasi parool>';
Mysql käsurealt saab väljuda quit käsuga
7. Muudame konfiguratsiooni failis eelnevalt loodud andmebaasiga ühendamise parameetrid
nano config.php
Konfiguratsiooni näide:
// Database config $config['db_host'] = "localhost"; $config['db_user'] = "<Andmebaasi kasutajanimi>"; $config['db_pass'] = "<Andmebaasi parool>"; $config['db_name'] = "<Andmebaasi nimi>";
8. Tekitame andmebaasi vajalikud tabelid ja tekitame kataloogi graafikute jaoks
php includes/update/update.php
mkdir rrd
chown www-data:www-data rrd
9. Kui serveris töötab ainult üks veeb siis tuleks veebiserveri vaikimisi veebilehe asukohta muuta järgnevalt:
nano /etc/apache2/sites-available/000-default.conf
Selle faili sisu tuleks muuta selliseks:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /opt/observium/html <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /opt/observium/html/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined ServerSignature On </VirtualHost>
Väike nipp! nano tekstiredaktoris saab ctrl+k vajutades ühe rea korraga kustutada.
10. Muudame apache2 konfiguratiooni nii, et observiumi kodukataloogis sisu näitamine oleks lubatud.
nano /etc/apache2/apache2.conf
Lisame:
<Directory /opt/observium> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory>
11. Kui soovid kasutada veebilehel parooli meelde jätmise funktsiooni, siis tuleb apache2'le php-mcrypt mooduli õige asukoht kätte näidata
ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available
php5enmod mcrypt
service apache2 restart
12. Lülitame sisse apache2 mod_rewrite mooduli
a2enmod rewrite
apache2ctl restart
13. Tekitame esimese Observiumi kasutaja. Administraator kasutajal on õiguste tasemeks 10
./adduser.php <kasutajanimi> <parool> <õiguste tase>
14. Lisame esimese seamde PS! Observium töötab ainult DNS nimega. IP'ga ta seadmeid ei leia!
./add_device.php <seadmenimi> <snmp kommuuni nimi> v2c
15. Otsime ja pärime seadet
./discovery.php -h all
./poller.php -h all
16. Observium on paigaldatud
Ava veebibrauseris lehekülg http://<minuserverinimi>/ ning sisene veebi punktis 13. tehtud kontoga.
Lisa seadistused ja tuntud probleemid
Observium cron tööd
Et Observium regulaarselt seadmetelt infot päriks tuleks seadistada cron tööd.
- Tekita uus cron skripti fail
nano /etc/cron.d/observium
Lisa sinna järgnevad read:
33 */6 * * * root /opt/observium/discovery.php -h all >> /dev/null 2>&1 */5 * * * * root /opt/observium/discovery.php -h new >> /dev/null 2>&1 */5 * * * * root /opt/observium/poller-wrapper.py 1 >> /dev/null 2>&1
Apache veateade
Taaskäivitades annab Apache2 veateate
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Seadista /etc/apache2/apache2.conf failis ServerName parameeter vastavalt serveri FQDN nimena.
nano /etc/apache2/apache2.conf
sisesta näiteks faili lõppu, rida:
ServerName <minu.server.ee>
Observium ei leia seadet
Observiumi arendajad on koodi sisse programmeerinud observiumi küsima andmeid ainult DNS nime järgi. Kui sa soovid IP'ga mõnda seadet lisada, siis see ei õnnestu.
Kui siiski on tungiv vajadus lisada seadmeid, mille IP nimeks ei lahendu, siis üks võimalus on need seadmed serveri hosts failis ära kirjeldada
nano /etc/hosts
Lisa siia vastav kirje
x.x.x.x minu.lahendamatu.seade
Lingid
- Observiumi ametlik veebileht. www.observium.org
Kokkuvõtteks
Observium on hea funktsionaalsusega ja esimesed graafikud saab väga kerge vaevaga käima. Samas on Observiumis ka palju muid võimalusi, kui ainult graafikute joonistamine. Näiteks saab seadistada alarme ja saab võrguliiklusega portide koormuste graafikuid liita jne.
Kindlasti aga ei asenda Observium monitooringu süsteeme, sest Observiumi peamine eesmärk on süsteemide koormustest hea graafilise ülevaate saamine.