Observium, es una herramienta mas para monitorizar dispositivos como Nedi o Centreon. Lo bueno de Observium que es muy intuitiva y completa. Es muy fácil de agregar dispositivos por SNMP y puede llegar a monitorizar; memoria, CPU, Espacio, temperatura, voltaje… Incluso diferenciar sistemas operativos, dispositivos de red…
En este tutorial se va a instalar percona como servidor de base de datos por sus mejoras frente a mysql.
Instalación
Agregar repositorios de percona
vim /etc/apt/sources.list
deb http://repo.percona.com/apt jessie main deb-src http://repo.percona.com/apt jessie main
apt-key adv --keyserver keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A
aptitude update
Una vez agregados los repositorios instalar todos los paquetes necesarios
aptitude install libapache2-mod-php5 php5-cli php5-mysql php5-gd php5-mcrypt php5-json php-pear snmp fping libvirt-bin percona-server-server-5.6 percona-server-client-5.6 python-mysqldb rrdtool subversion whois mtr-tiny ipmitool graphviz imagemagick
A continuación crear la base de datos y el usuario
mysql -u root -p
mysql> CREATE DATABASE observium DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
mysql> CREATE USER 'observium'@'localhost' IDENTIFIED BY '<CONTRASEÑA>';
mysql> GRANT ALL PRIVILEGES ON observium . * TO 'observium'@'localhost';
mysql> FLUSH PRIVILEGES;
Crear la carpeta de observium
mkdir -p /opt/observium && cd /opt
Descargar observium
wget http://www.observium.org/observium-community-latest.tar.gz
Descomprimir la herramienta
tar zxvf observium-community-latest.tar.gz
Borrar el archivo comprimido
rm -f observium-community-latest.tar.gz
Configuración
Ir a la carpeta descomprimida
cd observium
Hacer un backup del archivo de configuración
cp config.php.default config.php
Editar el archivo de configuración de la siguiente manera
vim config.php
<?php ## Have a look in includes/defaults.inc.php for examples of settings you can set here. DO NOT EDIT defaults.inc.php! // Database config $config['db_extension'] = 'mysqli'; $config['db_host'] = 'localhost'; $config['db_user'] = 'observium'; $config['db_pass'] = '<CONTRASEÑA>'; $config['db_name'] = 'observium'; // Base directory $config['install_dir'] = "/opt/observium"; // Default community list to use when adding/discovering $config['snmp']['community'] = array("public"); // Authentication Model $config['auth_mechanism'] = "mysql"; // default, other options: ldap, http-auth, please see documentation for config help // Enable alerter (not available in CE) #$config['poller-wrapper']['alerter'] = TRUE; // Set up a default alerter (email to a single address) #$config['alerts']['alerter']['default']['descr'] = "Default Email Alert"; #$config['alerts']['alerter']['default']['type'] = "email"; #$config['alerts']['alerter']['default']['contact'] = "you@yourdomain.org"; #$config['alerts']['alerter']['default']['enable'] = TRUE; // End config.php
Actualizar la configuración
./discovery.php -u
Crear la carpeta rrd y hacer que su propietario sea www-data
mkdir rrd logs sudo chown www-data:www-data rrd logs
Crear el VirtualHost
echo > /etc/apache2/sites-available/000-default.conf vim /etc/apache2/sites-available/000-default.conf
<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 Require all granted 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>
Cargar los módulos necesarios y reiniciar apache
php5enmod mcrypt a2enmod rewrite apache2ctl restart
Crear el usuario administrador
cd /opt/observium ./adduser.php <usuario> <contraseña> 10
Para poder añadirlos por el nombre en vez de por la IP, si no se tiene un DNS hay que agregarlos en el archivo hosts
vim /etc/hosts
192.168.1.1 host1 192.168.1.2 host2 192.168.1.3 host3
Añadir un dispositivo por CLI (también se puede por web )
./add_device.php <hostname> <comunidad> v2c
Añadir al crontab las siguientes lineas para auto-escarnar la red cada cierto tiempo
vim /etc/cron.d/observium
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 5 >> /dev/null 2>&1
Extra
La nueva versión de Observium trae una opción que es conectarse por ssh a la máquina mediante el navegador. Para esto, hay que tener instalada la extensión FireSSH.
Configurar un cliente para que envié los datos SNMP
Fuente:
http://www.observium.org/wiki/Debian_Ubuntu_Installation
Reblogueó esto en BLOG DEL PROYECTO TIC – TACy comentado:
Observium, es una herramienta mas para monitorizar dispositivos como Nedi o Centreon. Pienso que es un buen sustituto o complemento para GLPI + OCS Inventory.
hola, sabes si se puede instalar como servidor y monitorear varias instalaciones? Cómo se podría hacer? Gracias!
Buenas,
No he entendido muy bien la pregunta. Observium es un sistema de monitorización por lo que si que se puede monitorizar diferentes recursos; estado de hosts, estado de servicios, redes… Utiliza SNMP.
Aquí tienes un post donde se añaden hosts:
https://www.itzgeek.com/how-tos/linux/how-to-monitor-linux-machines-with-observium.html
Un saludo