Observium
Autor
Kristjan Hinn AK21 kristjan.hinn@itcollege.ee
Tutvustus
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 installeeritav ja seadistatav tarkvara.
Kasutajatugi
Väikeste süsteemide ülesseadmiseks on kasutajatugi veebilehel piisav, kuid Observiumi arendajad pakuvad vajadusel ka tasulist tuge suurte ja keeruliste erilahenduste ülesseadistamiseks.
Paigaldamine
Observiumi veebilehel olevas juhendis on öeldud, et nende kirjutatud juhend kehtib Ubuntu 13.04 puhul ning 13.10 versiooni puhul nende juhend ei kehti. Testisin ise läbi ja tegin mõned muudatused, et Observiumi ka Ubuntu 13.10 peal tööle saaks. Märgistasin Ubuntu 13.10 puudutavad punktid tärniga * Ubuntu 13.04 puhul need punktid ei kehti.
Eeldused
Antud juhendi toimiseks peavad olema täidetud järgnevad eeldused:
Server: Ubuntu 13.10
Mälu: 512 MB
HDD: 10 GB
Netwirk: interneti pääsemine ja nimelahendamine peab toimima
Eeldatavad lisa pakid:
- Apache
- fping
- MySQL
- Net-SNMP 5.4+
- RRDtool 1.3+
- Graphviz
- PHP 5.3+
Valikulised pakid:
- 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 pakid. Kui MySQL pole eelnevalt installitud, siis tuleb mysql installi 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. Läheme kataloogi kuhu soovime observiumi paigaldada. Mina paigaldan /opt kausta.
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. Lähme 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älja quit käsuga
7. Muudame konfiguratsiooni failis andmebaasiga ühendumise 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
Lisa seadistused ja tuntud probleemid
Apache veateade
Restartides 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
sisest, 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