Observium

From ICO wiki
Revision as of 14:09, 15 December 2013 by Khinn (talk | contribs) (→‎Sissejuhatus)
Jump to navigationJump to search

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 (Supported Devices). Suurte võrgu ja/või serveri taristuga süsteemides pole observium siiski mõeldud asendamaks monitooringu tarkvaras nagu näiteks nagios või Microsoft Operations Manageri, sest observium pole selleks vajalikul määral optimeeritud. Küll aga võib observiumit kasutada monitooringu tarkvaradega parallelselt. Konkureerivateks tarkvaradeks võib lugeda cacti ja mrtg graafikute joonistamise tarkvarasid. Observiumi eeliseks on lihtsam paigaldamine ja innovaatilisem graafiline kasutajaliides. 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.

Pilt on illustreeriv ja pärit autori testkeskkonnast

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 puhul töötaks.

Eeldused

Antud juhendi toimiseks peavad olema täidetud järgnevad eeldused:

Server: Ubuntu 13.10
Minimaalne mälu maht: 512 MB
Minimaalne kõvaketta suurus: 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 rrd 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 ühe rea kaupa lõigata vajutades ctrl+k.

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

  1. 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 ei asenda Observium monitooringu süsteeme, sest Observiumi ei suuda piisavalt kiiresti süsteemidelt staatuseid pärida ning tarkvara peamine eesmärk on süsteemide koormustest hea graafilise ülevaate saamine.