Zoeken op website

Observium: een compleet netwerkbeheer- en monitoringsysteem voor RHEL/CentOS


Observium is een PHP/MySQL-gestuurde applicatie voor netwerkobservatie en monitoring, die een breed scala aan besturingssystemen/hardwareplatforms ondersteunt, waaronder Linux, Windows, FreeBSD, Cisco, HP, Dell, NetApp en nog veel meer. Het streeft ernaar een robuuste en eenvoudige webinterface te presenteren om de gezondheid en prestaties van uw netwerk te monitoren.

Observium verzamelt gegevens van apparaten met behulp van SNMP en geeft deze gegevens in grafisch patroon weer via een webinterface. Er wordt veel gebruik gemaakt van het RRDtool-pakket. Het heeft een aantal dunne kernontwerpdoelen, waaronder het verzamelen van zoveel mogelijk historische informatie over apparaten, het volledig automatisch worden ontdekt met lichte of geen handmatige onderbreking, en het hebben van een zeer eenvoudige maar krachtige interface.

Observium-demo

Bekijk een snelle online demo van het Observium dat door de ontwikkelaar is ingezet op de volgende locatie.

  1. http://demo.observium.org/

Dit artikel begeleidt u bij het installeren van Observium op RHEL, CentOS en Scientific Linux. De ondersteunde versie is EL (Enterprise Linux) 6.x. Momenteel wordt Observium niet ondersteund voor respectievelijk EL release 4 en 5. Gebruik dus niet de volgende instructies voor deze releases.

Stap 1: RPM Forge- en EPEL-repository's toevoegen

RPMForge en EPEL zijn een repository die veel add-on rpm-softwarepakketten biedt voor RHEL, CentOS en Scientific Linux. Laten we deze twee community-gebaseerde repository's installeren en inschakelen met behulp van de volgende serieuze opdrachten.

Op i386-systemen
yum install wget
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.i386.rpm
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt
rpm -Uvh rpmforge-release-0.5.3-1.el5.rf.i386.rpm
rpm -Uvh epel-release-6-8.noarch.rpm
Op x86_64-systemen
yum install wget
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.rpm
wget http://epel.mirror.net.in/epel/6/x86_64/epel-release-6-8.noarch.rpm
wget http://apt.sw.be/RPM-GPG-KEY.dag.txt
rpm --import RPM-GPG-KEY.dag.txt
rpm -Uvh rpmforge-release-0.5.2-2.el6.rf.rpm
rpm -Uvh epel-release-6-8.noarch.rpm

Stap 2: Installeer de benodigde softwarepakketten

Laten we nu de vereiste softwarepakketten installeren die nodig zijn voor Observium.

yum install httpd php php-mysql php-gd php-snmp vixie-cron php-mcrypt \
php-pear net-snmp net-snmp-utils graphviz subversion mysql-server mysql rrdtool \
fping ImageMagick jwhois nmap ipmitool php-pear.noarch MySQL-python

Als u virtuele machines wilt monitoren, installeer dan het ‘libvirt’ pakket.

yum install libvirt

Stap 3: Observium downloaden

Ter informatie: Observium heeft twee volgende edities

  1. Community/Open Source-editie: deze editie kan gratis worden gedownload met minder functies en enkele beveiligingsoplossingen.
  2. Abonnementeditie: deze editie wordt geleverd met extra functies, snelle functies/oplossingen, hardwareondersteuning en een eenvoudig te gebruiken, op SVN gebaseerd releasemechanisme.

Navigeer eerst rechtstreeks naar /opt, hier gaan we Observium als standaard installeren. Als u ergens anders wilt installeren, wijzig dan de opdrachten en configuratie dienovereenkomstig. We raden u ten zeerste aan om eerst te implementeren in de directory /opt. Zodra u heeft gecontroleerd of alles perfect werkt, kunt u het op de gewenste locatie installeren.

Als u een actief Observium-abonnement heeft, kunt u SVN-opslagplaatsen gebruiken om de meest recente versie te downloaden. Een geldig abonnementsaccount dat slechts geldig is voor één installatie en twee test- of ontwikkelingsinstallaties met dagelijkse beveiligingspatches, nieuwe functies en bugfixes.

Om de meest recente stabiele en huidige versie van Observium te downloaden, moet er een svn pakket op het systeem geïnstalleerd zijn, zodat de bestanden uit de SVN-repository kunnen worden opgehaald.

yum install svn
Ontwikkelingsversie
svn co http://svn.observium.org/svn/observium/trunk observium
Stabiele versie
svn co http://svn.observium.org/svn/observium/branches/stable observium

We hebben geen geldig abonnement, dus we gaan Observium uitproberen met de Community/Open Source Edition. Download de nieuwste stabiele versie van ‘observium-community-latest.tar.gz’ en pak deze uit zoals weergegeven.

cd /opt
wget http://www.observium.org/observium-community-latest.tar.gz
tar zxvf observium-community-latest.tar.gz

Stap 4: Observium MySQL-database maken

Dit is een schone installatie van MySQL. We gaan dus een nieuw root-wachtwoord instellen met behulp van de volgende opdracht.

service mysqld start
/usr/bin/mysqladmin -u root password 'yourmysqlpassword'

Log nu in op de mysql-shell en maak de nieuwe Observium-database.

mysql -u root -p

mysql> CREATE DATABASE observium;
mysql> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' IDENTIFIED BY 'dbpassword';

Stap 5: Configureer Observium

Het configureren van SELinux om met Observium te werken valt buiten het bestek van dit artikel, daarom hebben we SELinux uitgeschakeld. Als je bekend bent met de SELinux-regels, dan kun je het configureren, maar er is geen garantie dat Observium werkt met actieve SELinux. Schakel het dus beter permanent uit. Om dit te doen, opent u het bestand ‘/etc/sysconfig/selinux’ en wijzigt u de optie van ‘permissief‘ in ‘uitgeschakeld‘.

vi /etc/sysconfig/selinux
SELINUX=disabled

Kopieer het standaardconfiguratiebestand ‘config.php.default‘ naar ‘config.php‘ en pas de instellingen aan zoals weergegeven.

/opt/observium
cp config.php.default config.php

Open nu het ‘config.php‘ bestand en voer MySQL-gegevens in, zoals databasenaam, gebruikersnaam en wachtwoord.

vi config.php
// Database config
$config['db_host'] = 'localhost';
$config['db_user'] = 'observium';
$config['db_pass'] = 'dbpassword';
$config['db_name'] = 'observium';

Voeg vervolgens een vermelding voor de binaire locatie fping toe aan config.php. Bij RHEL-distributie is de locatie anders.

$config['fping'] = "/usr/sbin/fping";

Voer vervolgens de volgende opdracht uit om de MySQL-database in te stellen en het standaardbestandsschema van de database in te voegen.

php includes/update/update.php

Stap 6: Configureer Apache voor Observium

Maak nu een ‘rrd’ map aan onder ‘/opt/observium’ map voor het opslaan van RRD’s.

/opt/observium
mkdir rrd

Geef vervolgens Apache het eigendom van de map ‘rrd’ om RRD’s onder deze map te schrijven en op te slaan.

chown apache:apache rrd

Maak een Apache Virtual Host-instructie voor Obervium in het bestand ‘/etc/httpd/conf/httpd.conf’.

vi /etc/httpd/conf/httpd.conf

Voeg de volgende Virtual Host-instructie toe onderaan het bestand en schakel de Virtualhost-sectie in zoals weergegeven in de onderstaande schermafbeelding.

<VirtualHost *:80>
  DocumentRoot /opt/observium/html/
  ServerName  observium.domain.com
  CustomLog /opt/observium/logs/access_log combined
  ErrorLog /opt/observium/logs/error_log
  <Directory "/opt/observium/html/">
  AllowOverride All
  Options FollowSymLinks MultiViews
  </Directory>
  </VirtualHost>

Om observiumlogboeken bij te houden, maakt u een map ‘logs’ voor Apache onder ‘/op/observium’ en past u Apache-eigendom toe om logbestanden te schrijven.

mkdir /opt/observium/logs
chown apache:apache /opt/observium/logs

Start na alle instellingen de Apache-service opnieuw.

service httpd restart

Stap 7: Maak Observium Admin-gebruiker aan

Voeg een eerste gebruiker toe, geef niveau 10 op voor de beheerder. Zorg ervoor dat u de gebruikersnaam en het wachtwoord vervangt door uw keuze.

cd /opt/observium
./adduser.php tecmint tecmint123 10

User tecmint added successfully.

Voeg vervolgens een nieuw apparaat toe en voer de volgende opdrachten uit om de gegevens voor een nieuw apparaat in te vullen.

./add_device.php <hostname> <community> v2c
./discovery.php -h all
./poller.php -h all

Stel vervolgens een cronjob in, maak een nieuw bestand ‘/etc/cron.d/observium’ en voeg de volgende inhoud toe.

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

Laad het cron-proces opnieuw om nieuwe gegevens op te nemen.

/etc/init.d/cron reload

De laatste stap is het toevoegen van httpd- en mysqld-services aan het hele systeem, zodat deze automatisch starten nadat het systeem is opgestart.

chkconfig mysqld on
chkconfig httpd on

Open ten slotte uw favoriete browser en wijs naar http://Uw-IP-adres.

Observium Screenshot-rondleiding

Hieronder volgen de schermafbeeldingen van medio 2013, afkomstig van de Observium-website. Voor een up-to-date beeld, bekijk de live demo.

Conclusie

Observium is niet bedoeld om andere monitoringtools zoals Nagios of Cacti volledig te verwijderen, maar eerder om ze toe te voegen met een uitstekend begrip van bepaalde apparaten. Om deze reden is het belangrijk om Observium te implementeren met Naigos of andere monitoringsystemen om waarschuwingen te geven en Cacti om aangepaste grafieken van uw netwerkapparaten te produceren.

Referentielinks:

  1. Observium-startpagina
  2. Observiumdocumentatie