Observium
Observium on ilmainen valvontaohjelma. Ohjelmalla voi valvoa palvelimia ja verkkolaitteita. Palvelimen tai verkkolaitteen vikaantuessa observium lähettää käyttäjälle sähköpostiviestin.
Sisällysluettelo
Asentaminen ja konfigurointi
Asenna seuraavat paketit pakettihallinnasta
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
Luo hakemisto Observium:ille ja siirrytään siihen
mkdir -p /opt/observium && cd /opt
Ladataan Observium free editon
wget http://www.observium.org/observium-community-latest.tar.gz
Puretaan tar paketti
tar zxvf observium-community-latest.tar.gz
Siirrytään observium hakemistoon
cd observium
Kopioidaan default konfiguraatio tiedosto
cp config.php.default config.php
Kirjautu tietokantaan ja luo uusi tietokanta Observiumille
mysql -u root -p <mysql root password> mysql> CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; mysql> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' -> IDENTIFIED BY '<observium db password>';
Avaa config.php tiedosto ja päivitä siihen tietokantasi tiedot.
// Database config $config['db_host'] = 'localhost'; $config['db_user'] = 'observium'; $config['db_pass'] = '<observium db password>'; $config['db_name'] = 'observium';
Aja seuraava komento. Tämä määrittää automaattisesti tietokantaasi taulut.
php includes/update/update.php
Luo hakemisto Observiumin lokille
mkdir logs
Avaa Apachen konfigurointi tiedosto
nano /etc/apache2/sites-available/default
ja muuta se seuraavanlaiseksi
<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>
Ota käyttöön php mcrypt moduuli
php5enmod mcrypt
Ota käyttään Apachen moduuli mod_rewrite
a2enmod rewrite apache2ctl restart
Luo ensimmäinen käyttäjä Observiumiin. Käytetään tason 10., eli adminia.
cd /opt/observium
./adduser.php <username> <password> <level>
Esimerkiksi
./adduser.php admin passwd123 10
Luo uusi tiedosto /etc/cron.d/observium ja lisää seuraavat rivit. Cron on ajastusta varten.
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 2 >> /dev/null 2>&1
Siirry nyt http://ip-osoite ja kirjaudu Observiumiin luomillasi käyttäjätunnuksillasi.
Lisäkonfiguraatiot
Nämä lisäkonfiguraatiot ovat vapaehtoisia. Kaikki lisäkonfiguraatiot tehdään observiumin konfigurointi tiedostoon /opt/observium/config.php
Sähköpostilmoitukset
Tämä konfiguraatio sallii observiumin lähettävän sähköpostiin ilmoituksen palvelimesta. Muuta vain [email protected] sähköpostiosoitteeksi jonne tahdot ilmoitukset ja [email protected], domainisi josta lähetetään (esim. [email protected]). Sinulla tulee olla sähköpostipalvelin (esimerkiksi postfix) jolla lähetetään ilmoitukset sähköpostiisi.
Tämä ei toimi uusimman Communityn kanssa!
$config['poller-wrapper']['alerter'] = TRUE; $config['alerts']['alerter']['default']['descr'] = "Observium Alert"; $config['alerts']['alerter']['default']['type'] = "email"; $config['alerts']['alerter']['default']['contact'] = "[email protected]"; $config['alerts']['alerter']['default']['enable'] = TRUE; $config['email_from'] = "[email protected]"; $config['alerts']['alerter']['default']['enable'] = TRUE; $config['alerts']['email']['enable'] = TRUE;
Ilmoitusasetukset
Ilmoita jos portti on alhaalla. Oletuksena pois käytöstä.
$config['alerts']['port']['ifdown'] = TRUE; $config['alerts']['port']['ifdown_types'] = array('core', 'transit', 'peering');
Ilmoita kun kaista on tietyn rajan yli per portti. Esimerkissä 85% ylittävän rajan lähetetään ilmoitus. Oletuksena pois käytöstä.
$config['alerts']['port_util_alert'] = TRUE; $config['alerts']['port_util_perc'] = 85;
Sovellukset
Ennen sovellusten käyttä, asenna Unix-Agent ensin ennen kuin alat käyttämään sovelluksia. Tätä tarvitaan suurimman osassa sovelluksista.
Kaikki tuetut sovellukset löytyvät: https://www.observium.org/wiki/Applications
Apache
- Vaatii Unix-Agent
Ota käyttään mod_status
a2enmod status
Käynnistä Apache2 uudelleen
service apache2 restart
Avaa mod_status konfigurointi
nano /etc/apache2/mod-available/status.conf
Sen tulisi olla seuraavanlainen:
ExtendedStatus On <Location /server-status> SetHandler server-status Order deny,allow Deny from all Allow from 127.0.0.1 ::1 </Location>
Varmista että apache agent scripti on Unix agentin local hakemistossa.
HDDTemp
- Vaatii Unix-Agent
- Vaatii hddtemp
- Vaatii netcat / netcat-traditional (Debian / Ubuntu)
aptitude install hddtemp netcat-traditional
Varmista että hddtemp agent scripti on Unix Agentin local hakemistossa.
Mailgraph
- Vaatii Unix-Agent
- Vaatii rrdtool
- Vaatii mailgraph
aptitude install rrdtool mailgraph
Varmista että scriptiti ovat oikeassa sijainissa. Varmista että RRDPATH muuttuja on oikeassa hakemistossa. Debianissa tämä pitäisi olla oletuksena oikein.
MySQL
- Vaatii Unix-Agent
- Vaatii php5-cli (php-cli)
- Vaatii php5-mysql (php-mysql)
Kopioi mysql scripti Unix-Agent local hakemistoon.
Debian järjestelmissä pitäisi tämän jälkeen toimia oikein. Muut järjestelmät: https://www.observium.org/wiki/Application/MySQL#Instructions
Nginx
- Vaatii Unix-Agent
Lisää seuraava konffi /etc/nginx/sites-enabled/default tiedostoon jos ei ole jo
location /nginx-status #Vaihda /status jos ei toimi { stub_status on; access_log off; allow 127.0.0.1; deny all; }
Käynnistä muutoksen jälkeen palvelu uudelleen
Kopioi nginx scripti User Agent local hakemistoon.
Tarkista että nginx-status toimii (muuta location jos tulee error 403):
w3m http://localhost/nginx-status
TAI
w3m http://localhost/status
Jos olet muuttanut location, muuta tämäkin nginx scripti tiedostoon.
Unix Agent
Asenna xinetd
sudo apt-get install xinetd
Kopioi /opt/observium/scripts/observium_agent_xinetd tiedosto Observium palvelimesta Unix-Agent palvelimen polkuun /etc/xinetd.d/observium_agent_xinet.
Kopioi lisäksi /opt/observium/scripts/observium_agent tiedosto Observium palvelimesta Unix-Agent palvelimen polkuun /usr/bin/observium_agent
Käytä esimerkiksi SCP:tä. Aja tämä komento palvelimessa jossa on observium asennettu:
scp /opt/observium/scripts/observium_agent_xinetd [email protected]:/etc/xinetd.d/observium_agent_xinetd scp /opt/observium/scripts/observium_agent [email protected]:/usr/bin/observium_agent
Luo seuraavat hakemistot
mkdir /usr/lib/observium_agent mkdir /usr/lib/observium_agent/local
Avaa observium_agent_xinetd tiedosto
nano /etc/xinetd.d/observium_agent_xinetd
ja määritä IP-osoite mitä Unix-Agent kuuntelee.
only_from = 10.6.10.100 127.0.0.1 ::1
Käynnistä palvelu uudelleen
sudo service xinetd restart
Lisää tämä /opt/observium/config tiedostoon ottaaksesi käyttöön Unix-agent modulen:
$config['poller_modules']['unix-agent'] = 1;
Määritä käyttöoikeudet
chmod 744 /usr/bin/observium_agent chmod 744 -R /usr/lib/observium_agent/local/
Testaa:
Telnetillä:
telnet YourUnixServer.YourDomain.com 36602
Tai suoraan päätelaitteelta.
/usr/bin/observium_agent
Kopioi koko /opt/observium/scripts/agent-local hakemiston sisältö /usr/lib/observium_agent/local/ hakemiston alle.
scp /opt/observium/scripts/agent-local/* [email protected]:/usr/lib/observium_agent/local/
WMI
http://jira.observium.org/secure/attachment/11319/WMIPoller-011013-1429-4.pdf
Asiakaslaitteet (SNMP)
Kaikki tuetut laitteet löytyvät täältä: http://www.observium.org/wiki/Supported_Devices
Varmista että palvelimesta pystyy muodostamaan yhteyden UDP:n portin 161 kautta päätelaitteeseen.
Debian / Ubuntu
Lisää asiakaslaite nimipalveluun A record.
Asenna smpd client pakettihallinnasta.
aptitude install snmpd
Avaa SNMP konfigurointi tiedosto
nano /etc/snmpd.conf
Poista risuaita riviltä 17 ja lisää risuaita riville 15.
# Listen for connections from the local system only #agentAddress udp:127.0.0.1:161 # Listen for connections on all interfaces (both IPv4 *and* IPv6) agentAddress udp:161,udp6:[::1]:161
Lisää risuaita riville 51 ja lisää rocommunity. Rocomminityyn (community = salasana) ja IP, jonka sallitaan hakevan tietoja.
#rocommunity public default -V systemonly rocommunity <community> <ip>
Esimerkiksi
rocommunity observium123 192.168.1.44
Lisää risuaita
#rouser authOnlyUser
Muuta syslocation (sijainti) ja sähköpostiosoite. Tähän sähköpostiosoitteeseen lähtetetään ilmoitukset ellei erikseen muuteta palvelimella tietoja.
sysLocation Helsinki sysContact [email protected]
Tallenna ja sulje tiedosto ja käynnistä palvelu uudelleen
service snmpd restart
Siirry observium palvelimelle ja lisää asiakaslaite konfiguraatioon.
cd /opt/observium
./add_device.php <hostname> <community> v2c
RouterOS
Luodaan ensimmäiseksi community trap observium jolla Observium-palvelin pystyy hakemaan tietoja asiakaslaitteelta.
/snmp community add name=observium addresses=0.0.0.0/0 security=none read-access=yes write-access=no
Otetaan käyttöön SNMP asiakas ja liitetään aikaisemmin luotu community trap observium siihen.
/snmp set enabled=yes location=Turku [email protected] trap-community=observium trap-target=10.0.0.5
Siirry observium palvelimelle ja lisää asiakaslaite konfiguraatioon.
cd /opt/observium
./add_device.php <hostname> <community> v2c