Observium kasutamine operatsioonisüsteemiga Debian Wheezy

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti

Sissejuhatus

Observium http://www.observium.org/ tarkvara võimaldab SNMP protokolli kasutades jälgida võrguseadmete tööd; aga ka üldisemalt suvaliste muude seadmete tööd, mis väljastavad nö mõistlikke vastuseid üle SNMP. Tarkvaraga tuleb kaasa nö isiklik MIB andmestik. Tarkvara on programmeeritud PHP keeles ja kasutada on veebipõhine liides, samuti saab kasutada käsurealt PHP skripte. Tundub, et 2015 aastal on Observiumist kaks funktsionaalsuse poolest omajagu erinevat versiooni, kommerts ning tasuta kasutamiseks. Käesolev tekst kirjeldab tasuta versiooni kasutamist.

Mõisted

  • FDB (forwarding database) - sisaldab andmeid ühe või teise pordi taga olevatest MAC aadressidest

Tööpõhimõte

TODO

Ettevalmistused

Lisada süsteemi sellised paketid

# apt-get install libapache2-mod-php5 php5-cli php5-mysql php5-gd php5-snmp php-pear snmp graphviz \
  php5-mcrypt php5-json subversion mysql-server mysql-client rrdtool fping imagemagick whois \
  mtr-tiny nmap ipmitool python-mysqldb php-net-ipv6

Veebiserveri ettevalmistamine, nb! php rakendus asub kataloogis /var/www/observium ning üks tema alamkataloog /var/www/observium/html on dokument juurikas

<VirtualHost 192.168.10.123:80>
  ServerName observium.imool.org
  ServerAdmin webmaster@imool.org
  DocumentRoot /var/www/observium/html
  <Directory />
    Options FollowSymLinks
    AllowOverride None
  </Directory>
 
  <Directory /var/www/observium/html/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>
 
</VirtualHost>

Lülitada sisse rewrite mootor

# a2enmod rewrite
# /etc/init.d/apache2 restart

Paigaldamine

Tundub, et kõige lihtsam on Observiumi jaoks tekitada eraldi Apache virtual host ja pidada teha eraldi muudest veebirakendusetest seal nö URI juurikas (st mitte nt aadressil http://monitooring.imool.org/observium/ vaid nt http://observium.imool.org/).

Andmebaas

Tekida MySQL andmebaas

# mysql --defaults-file=/etc/mysql/debian.cnf
..
mysql> create database observium character set utf8 collate utf8_general_ci;

ning kasutaja

mysql> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'%' identified by 'obs12355';
mysql> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' identified by 'obs12355';

PHP rakendus

Kopeerida rakendus

# wget http://www.observium.org/observium-community-latest.tar.gz

ning pakkida lahti failisüsteemi, nt

# cd /var/www
# tar zxf /tmp/observium-community-latest.tar.gz
# mkdir logs rrd
# chown www-data:www-data logs rrd

Tulemusena on failisüsteemis

# ls -ld /var/www/observium/*
-rwxrwxr-x   1 kasutaja kasutaja  8218 May 24 18:11 /var/www/observium/add_device.php
-rwxrwxr-x   1 kasutaja kasutaja  1855 May 24 18:11 /var/www/observium/adduser.php
-rwxrwxr-x   1 kasutaja kasutaja  1697 Feb  6 17:56 /var/www/observium/check-errors.php
-rwxrwxr-x   1 kasutaja kasutaja  2626 Feb  6 17:56 /var/www/observium/check-services.php
-rw-r--r--   1 root     root      1044 Aug  3 23:36 /var/www/observium/config.php
-rw-rw-r--   1 kasutaja kasutaja  1040 Dec 22  2014 /var/www/observium/config.php.default
-rw-rw-r--   1 kasutaja kasutaja   586 Jul 26  2014 /var/www/observium/config_to_json.php
-rwxrwxr-x   1 kasutaja kasutaja  1354 Feb 26 13:47 /var/www/observium/delete_device.php
-rwxrwxr-x   1 kasutaja kasutaja  6969 May 24 18:11 /var/www/observium/discovery.php
-rwxrwxr-x   1 kasutaja kasutaja  3711 May 24 18:11 /var/www/observium/housekeeping.php
drwxrwxr-x   9 kasutaja kasutaja  4096 Jun  6 14:01 /var/www/observium/html
drwxrwxr-x  12 kasutaja kasutaja  4096 Jun  6 14:05 /var/www/observium/includes
-rw-rw-r--   1 kasutaja kasutaja   165 Mar  3  2014 /var/www/observium/INSTALL
-rwxrwxr-x   1 kasutaja kasutaja 10785 Feb  6 17:56 /var/www/observium/irc.php
-rw-rw-r--   1 kasutaja kasutaja  1634 Oct  1  2014 /var/www/observium/LICENSE
drwxr-xr-x   2 www-data www-data  4096 Aug  3 18:40 /var/www/observium/logs
drwxrwxr-x 108 kasutaja kasutaja 32768 Jun  6 14:01 /var/www/observium/mibs
-rwxrwxr-x   1 kasutaja kasutaja  5737 May 24 18:11 /var/www/observium/poller.php
-rwxrwxr-x   1 kasutaja kasutaja 14343 May 24 18:11 /var/www/observium/poller-wrapper.py
-rw-rw-r--   1 kasutaja kasutaja   990 Mar  3  2014 /var/www/observium/README
-rwxrwxr-x   1 kasutaja kasutaja  1361 May 24 18:11 /var/www/observium/rename_device.php
drwxr-xr-x   3 www-data www-data  4096 Aug  3 18:40 /var/www/observium/rrd
drwxrwxr-x   4 kasutaja kasutaja  4096 Jun  6 14:01 /var/www/observium/scripts
-rw-rw-r--   1 kasutaja kasutaja    29 Mar  3  2014 /var/www/observium/snmp.conf.example
-rw-rw-r--   1 kasutaja kasutaja   385 Mar  3  2014 /var/www/observium/snmpd.conf.example
-rwxrwxr-x   1 kasutaja kasutaja  1115 Feb  6 17:56 /var/www/observium/snmptrap.php
-rwxrwxr-x   1 kasutaja kasutaja  1509 Jun  6 14:02 /var/www/observium/syslog.php
drwxrwxr-x   4 kasutaja kasutaja  4096 May 24 18:11 /var/www/observium/tests
drwxrwxr-x   2 kasutaja kasutaja  4096 Jun  6 14:02 /var/www/observium/update

Kirjeldada Observiumi MIB'id snmp seadistusfailis

# cat /etc/snmp/snmp.conf
...
mibdirs /var/www/observium/mibs

Kohendada seadistusfailis

# cd /var/www/observium
# cp config.php.default config.php

sobivaks

  • andmebaasi ligipääs
// Database config ---  This MUST be configured
$config['db_host'] = '127.0.0.1';
$config['db_user'] = 'observium';
$config['db_pass'] = 'parool';
$config['db_name'] = 'observium';
  • kataloogi tee, kus rakendus failisüsteemis asub
// Base directory
$config['install_dir'] = "/var/www/observium"

Laadida sisse andmebaasi sisu

# cd /var/www/observium
# php includes/update/update.php
-- Updating database/file schema
000 -> 001 ... (db) done.
001 -> 002 ... (db) done.
002 -> 003 ... (db) done.
003 -> 004 ... (db) done.
004 -> 005 ... (db) done.
..
131 -> 132 ... (db) done.
132 -> 133 ... (db) done.
-- Done

Kasutajate ja seadmete lisamine

Lisada esimene kasutaja, teist alternatiivi pole

# ./adduser.php admin obs123 10
User admin added successfully.

Lisada esimene seade käsurealt, aga võib teha kõik seadmete lisamised veebiliidesest

# ./add_device.php sge-300-20.auul public v2c
No log handling enabled - turning on stderr logging
MIB search path: /root/.snmp/mibs:/usr/share/mibs/site:/usr/share/snmp/mibs:/usr/share/mibs/iana:\
  /usr/share/mibs/ietf:/usr/share/mibs/netsnmp
Trying v2c community public ...
Now discovering sge-300-20.auul (id = 1)
sge-300-20.auul 1 ciscosb  (cisco)
Ports :  gi1(49)[1] gi2(50)[2] gi3(51)[3] gi4(52)[4] gi5(53)[5] gi6(54)[6] gi7(55)[7] gi8(56)[8] gi9(57)[9] 
...
993(100992)[45] 10(300000)[46]
Discovered in 2.495 seconds

sge-300-20.auul 1 ciscosb  (cisco)
IPv4 Addresses : N+
Discovered in 0.285 seconds

sge-300-20.auul 1 ciscosb  (cisco)
IPv6 Addresses : 
Discovered in 1.525 seconds

Added device sge-300-20.auul (1)

Cron tööde juurutamine

Esmalt käivitada käsitsi

# ./discovery.php -h all
# ./poller.php -h all

Käivitada cron tööd

# cat /etc/cron.d/observium 
33  */6   * * *   www-data  /var/www/observium/discovery.php -h all >> /dev/null 2>&1
*/5 *     * * *   www-data  /var/www/observium/discovery.php -h new >> /dev/null 2>&1
*/5 *     * * *   www-data  /var/www/observium/poller-wrapper.py 1 >> /dev/null 2>&1

Kasutamine

Observiumi kasutajaliides paistab välja selline, konkreetne pilt sõltub kasutatavast switchist, st kas ta oskab enda kohta rohkem või vähem rääkida

Observium-1.gif

kus

  • TODO

DD-WRT

TODO

SGE 300-18

TODO

Linksys SRW248G4

Linksys SRW248G5 switchi paisab Observiumi liideses selliselt

Observium-2.gif

kus

  • TODO

Märkused

  • Observiumi veebiliidese kasutaja parooli ülekirjutamiseks sobib öelda andmebaasis
mysql> use observium;
mysql> select * from users;
+---------+----------+------------------------------------+----------+-------+-------+-------+-------------------+--------------+
| user_id | username | password                           | realname | email | descr | level | can_modify_passwd | user_options |
+---------+----------+------------------------------------+----------+-------+-------+-------+-------------------+--------------+
|       1 | admin    | $1$xyz$XEVytxpiylKJgeZq4YYy01      |          |       |       |    10 |                 1 | NULL         |
|       2 | imre     | $1$wi5BivmC$AMs5jIX.OGNZOmP2ymbeb/ |          |       |       |    10 |                 1 | NULL         |
+---------+----------+------------------------------------+----------+-------+-------+-------+-------------------+--------------+
2 rows in set (0.00 sec)

mysql> update users set password="$1$xyz$XEVytxpiylKJgeZq4YYy01" where username="admin";

kus parooli hash on genereeritud nt selliselt

$ openssl passwd -1 -salt xyz salaparool
$1$xyz$XEVytxpiylKJgeZq4YYy01

Kasulikud lisamaterjalid

2025 aasta sügise märkmed

https://docs.observium.org/install_debian/

root@obs-01:~# ./observium_installscript.sh
  ___  _                         _
 / _ \| |__  ___  ___ _ ____   _(_)_   _ _ __ ___
| | | | '_ \/ __|/ _ \ '__\ \ / / | | | | '_ ` _ \
| |_| | |_) \__ \  __/ |   \ V /| | |_| | | | | | |
 \___/|_.__/|___/\___|_|    \_/ |_|\__,_|_| |_| |_|

Welcome to Observium installation script v0.3.6

Please select the version of Observium you would like to install

1. Observium Community Edition
2. Observium Pro/Ent Edition stable (requires account at https://www.observium.org/subs/)
3. Observium Pro/Ent Edition rolling (requires account at https://www.observium.org/subs/)
4. Install the UNIX-Agent
5. Install the SNMPD (snmpd-config will be overwritten)
6. Remote poller for Observium Pro/Ent Edition stable (requires account at https://www.observium.org/subs/)
(1-6): 1
you choose 1

Seadme lisamine

root@obs-01:/opt/observium# cd /opt/observium
root@obs-01:/opt/observium# ./add_device.php pve-wrx90e.auul.pri.ee parool v2c

Proxmox node ovs switch monitooring toimub proxmox node kui linux arvuti snmp jälgimise teel

# apt-get install snmpd

# root@pve-wrx90e:~# egrep -v "^$|^#" /etc/snmp/snmpd.conf
sysLocation    Sitting on the Dock of the Bay
sysContact     Me <me@example.org>
sysServices    72
master  agentx
agentaddress 192.168.10.167
view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1
view    allview    included   .1
rocommunity  parool default -V allview
rocommunity6 parool default -V allview
rouser authPrivUser authpriv -V systemonly
includeDir /etc/snmp/snmpd.conf.d

# systemctl restart snmpd