Observium – Gardez un œil sur votre infra
Observium est un outil de monitoring assez pratique qui permet de gérer et consulter l’état de ses serveurs via un simple nagivateur Web.
Il existe deux versions :
- Observium CE : Version Communautaire et gratuite
- Observium Subscription : Version payante avec support
Ici nous testerons la version communautaire 🙂
Installation autonome :
Si vous êtes feignant, une installation automatique existe :
wget http://www.observium.org/observium_installscript.sh chmod +x observium_installscript.sh ./observium_installscript.sh
Installation manuelle :
apt-get install libapache2-mod-php7.0 php7.0-cli php7.0-mysql php7.0-mysqli php7.0-gd php7.0-mcrypt \ php7.0-json php-pear snmp fping mysql-server mysql-client python-mysqldb rrdtool subversion whois \ mtr-tiny ipmitool graphviz imagemagick apache2
On crée l’environnement :
mkdir -p /opt/observium && cd /opt
On télécharge et installe observium :
wget http://www.observium.org/observium-community-latest.tar.gz tar zxvf observium-community-latest.tar.gz
On rajoute la configuration par défaut :
cd observium cp config.php.default config.php
On crée la base MySQL :
mysql -u root -p mysql> CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; mysql> GRANT ALL PRIVILEGES ON observium.* TO 'observium'@'localhost' -> IDENTIFIED BY '';
On setup la base :
./discovery.php -u
On crée les dossiers pour les logs de observium et les rrds :
mkdir logs mkdir rrd chown www-data:www-data rrd
On crée la config pour apache 2.4 dans /etc/apache2/sites-available/000-default.conf :
ServerAdmin webmaster@localhost DocumentRoot /opt/observium/html SetHandler application/x-httpd-php Options FollowSymLinks AllowOverride None DirectoryIndex index.php Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted ErrorLog ${APACHE_LOG_DIR}/error.log LogLevel warn CustomLog ${APACHE_LOG_DIR}/access.log combined ServerSignature On
On active les modules requis:
phpenmod mcrypt a2enmod rewrite apache2ctl restart
Voila 😉 On a notre observium de prêt 😉
Pour ajouter son compte :
./adduser.php
Pour ajouter sa première machine :
./add_device.php v2c
Il est recommandé de lancer un pool pour récupérer les infos de la machine qui à été ajoutée :
./discovery.php -h all ./poller.php -h all
Pour finir, un exemple de crontab pour observium :
# Run a complete discovery of all devices once every 6 hours 33 */6 * * * root /opt/observium/discovery.php -h all >> /dev/null 2>&1 # Run automated discovery of newly added devices every 5 minutes */5 * * * * root /opt/observium/discovery.php -h new >> /dev/null 2>&1 # Run multithreaded poller wrapper every 5 minutes */5 * * * * root /opt/observium/poller-wrapper.py 4 >> /dev/null 2>&1 # Run housekeeping script daily for syslog, eventlog and alert log 13 5 * * * root /opt/observium/housekeeping.php -ysel >> /dev/null 2>&1 # Run housekeeping script daily for rrds, ports, orphaned entries in the database and performance data 47 4 * * * root /opt/observium/housekeeping.php -yrptb >> /dev/null 2>&1
FINISH ! Maintenant que tout est en place, on peut laisser son PC de coté pour laisser pooler un peu les données pour les graphs et aller siroter sa bière 😉