Observium: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Khinn (talk | contribs)
Hrindesa (talk | contribs)
 
(5 intermediate revisions by 2 users not shown)
Line 6: Line 6:
= Sissejuhatus =
= Sissejuhatus =


Observium ([http://www.observium.org www.observium.org]) on [[SNMP]] protokollil töötav ressursi monitoorimise tarkvara. [[Observium]] on kirjutatud '''PHP'''s ning toetab suurel hulgal enimlevinud operatsioonisüsteeme ([http://www.observium.org/wiki/Supported_Devices 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 Manager]]i, sest observium pole selleks vajalikul määral optimeeritud. Konkureerivateks tarkvaradeks võib lugeda [[cacti]] ja [[mrtg]] graafikute joonistamise tarkvarasid. Observiumi eeliseks on kindlasti lihtne paigaldamine ja innovaatilisem graafiline kasutajaliides. Observiumi kood on vabavara [http://opensource.org/licenses/QPL-1.0 QPL litsensiga], kuid tasulise versiooniga saab kasutada automaatset versioonihaldust [[SVN]] (Subversion) varamust. Sellegi poolest on minu arvates Observium lihtsasti paigaldatav ja seadistatav tarkvara.
Observium ([http://www.observium.org www.observium.org]) on [[SNMP]] protokollil töötav ressursi monitoorimise tarkvara. [[Observium]] on kirjutatud '''PHP'''s ning toetab suurel hulgal enimlevinud operatsioonisüsteeme ([http://www.observium.org/wiki/Supported_Devices 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 Manager]]i, 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 [http://opensource.org/licenses/QPL-1.0 QPL litsensiga], kuid tasulise versiooniga saab kasutada automaatset versioonihaldust [[SVN]] (Subversion) varamust. Sellegi poolest on minu arvates Observium lihtsasti paigaldatav ja seadistatav tarkvara.


[[Image:observium.png|thumb|Pilt on illustreeriv ja pärit autori testkeskkonnast]]
[[Image:observium.png|thumb|Pilt on illustreeriv ja pärit autori testkeskkonnast]]
Line 41: Line 41:
* Libvirt-bin - kui soovid virtaalserverite  keskkonna VMWare '''host''' servereid monitoorida.
* Libvirt-bin - kui soovid virtaalserverite  keskkonna VMWare '''host''' servereid monitoorida.


== Paigaldusdetailid ==
== Paigaldusdetailid == https://github.com/mrlesmithjr/graylog2


'''1. Vältimaks juhendist käskude kopeerimise ja kleepimise võimalikke eksimusi muudame terminali juurkasutajaõigustesse.'''
'''1. Vältimaks juhendist käskude kopeerimise ja kleepimise võimalikke eksimusi muudame terminali juurkasutajaõigustesse.'''
Line 174: Line 174:
Ava veebibrauseris lehekülg [http://minuserverinimi http://<minuserverinimi>/] ning sisene veebi punktis 13. tehtud kontoga.
Ava veebibrauseris lehekülg [http://minuserverinimi http://<minuserverinimi>/] ning sisene veebi punktis 13. tehtud kontoga.


== Lisa seadistused ja tuntud probleemid ==
== Paigaldusdetailid ==


=== Observium cron tööd ===
'''1. Vältimaks juhendist käskude kopeerimise ja kleepimise võimalikke eksimusi muudame terminali juurkasutajaõigustesse.'''
<source lang="bash">
sudo -i
</source>
'''2. Paigaldame vajalikud lisa tarkvarad. Kui MySQL pole eelnevalt paigaldatud, siis tuleb mysql paigaldamise käigus seadistada ka peakasutaja parool.'''
<source lang="bash">
apt-get update


Et Observium regulaarselt seadmetelt infot päriks tuleks seadistada cron tööd.
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
</source>
'''3. Valime kataloogi, kuhu soovime observiumi paigaldada. Näites paigaldatakse kausta /opt'''
<source lang="bash">
cd /opt
</source>
'''4. Laeme alla Observiumi viimase versiooni ja pakime lahti'''
<source lang="bash">
wget http://www.observium.org/observium-community-latest.tar.gz
 
tar zxvf observium-community-latest.tar.gz
</source>
'''5. Siseneme observiumi kodukausta ja tekitame konfiguratsiooni faili'''
<source lang="bash">
cd observium
 
cp config.php.default config.php
</source>
'''6. Tekitame tühja Mysql andmebaasi, loome kasutaja ja anname õigused'''
<source lang="bash">
mysql -u root -p
<Installi käigus seadistatud juurkasutaja parool>
</source>
Mysql käsureal:
<source lang="mysql">
CREATE DATABASE <Andmebaasi nimi>;
GRANT ALL PRIVILEGES ON <Andmebaasi nimi>.* TO '<Andmebaasi kasutajainim>'@'localhost'
IDENTIFIED BY '<Andmebaasi parool>';
</source>
Mysql käsurealt saab väljuda '''quit''' käsuga


* Tekita uus cron skripti fail
'''7. Muudame konfiguratsiooni failis eelnevalt loodud andmebaasiga ühendamise parameetrid'''
<source lang="bash">
<source lang="bash">
  nano /etc/cron.d/observium
  nano config.php
</source>
</source>
Lisa sinna järgnevad read:
Konfiguratsiooni näide:


  33  */6  * * *  root    /opt/observium/discovery.php -h all >> /dev/null 2>&1
  // Database config
  */5 *    * * *  root    /opt/observium/discovery.php -h new >> /dev/null 2>&1
$config['db_host'] = "localhost";
  */5 *    * * *  root    /opt/observium/poller-wrapper.py 1 >> /dev/null 2>&1
$config['db_user'] = "<Andmebaasi kasutajanimi>";
  $config['db_pass'] = "<Andmebaasi parool>";
  $config['db_name'] = "<Andmebaasi nimi>";


=== Apache veateade ===
'''8. Tekitame andmebaasi vajalikud tabelid ja tekitame kataloogi [[rrd]] graafikute jaoks'''
<source lang="bash">
php includes/update/update.php


Taaskäivitades annab Apache2 veateate
mkdir rrd


  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
  chown www-data:www-data rrd
</source>


Seadista /etc/apache2/apache2.conf failis ServerName parameeter vastavalt serveri FQDN nimena.
'''9. Kui serveris töötab ainult üks veeb siis tuleks veebiserveri vaikimisi veebilehe asukohta muuta järgnevalt:'''
<source lang="bash">
nano /etc/apache2/sites-available/000-default.conf
</source>
Selle faili sisu tuleks muuta selliseks:
<source lang="apache">
<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>
</source>
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.'''
<source lang="bash">
<source lang="bash">
  nano /etc/apache2/apache2.conf
  nano /etc/apache2/apache2.conf
</source>
</source>
sisesta näiteks faili lõppu, rida:
Lisame:
<source lang="apache">
<Directory /opt/observium>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>
</source>
'''11. Kui soovid kasutada veebilehel parooli meelde jätmise funktsiooni, siis tuleb apache2'le php-mcrypt mooduli õige asukoht kätte näidata'''
<source lang="bash">
ln -s /etc/php5/conf.d/mcrypt.ini /etc/php5/mods-available


  ServerName <minu.server.ee>
  php5enmod mcrypt


=== Observium ei leia seadet ===
service apache2 restart
</source>
'''12. Lülitame sisse apache2 ''mod_rewrite'' mooduli'''
<source lang="bash">
a2enmod rewrite


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.
apache2ctl restart
</source>
'''13. Tekitame esimese Observiumi kasutaja. Administraator kasutajal on õiguste tasemeks 10'''
<source lang="bash">
./adduser.php <kasutajanimi> <parool> <õiguste tase>
</source>
'''14. Lisame esimese seamde PS! Observium töötab ainult DNS nimega. IP'ga ta seadmeid ei leia!'''
<source lang="bash">
./add_device.php <seadmenimi> <snmp kommuuni nimi> v2c
</source>
'''15. Otsime ja pärime seadet'''
<source lang="bash">
./discovery.php -h all


Kui siiski on tungiv vajadus lisada seadmeid, mille IP nimeks ei lahendu, siis üks võimalus on need seadmed serveri hosts failis ära kirjeldada
  ./poller.php -h all
<source lang="bash">
  nano /etc/hosts
</source>
</source>
Lisa siia vastav kirje
'''16. Observium on paigaldatud'''


x.x.x.x minu.lahendamatu.seade
Ava veebibrauseris lehekülg [http://minuserverinimi http://<minuserverinimi>/] ning sisene veebi punktis 13. tehtud kontoga.


= Lingid =
= Lingid =
Line 223: Line 314:


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

Latest revision as of 11:29, 9 January 2014

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 == https://github.com/mrlesmithjr/graylog2

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.

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.

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.