Observium: un completo sistema de supervisión y gestión de redes para RHEL/CentOS


Observium es una aplicación de monitoreo y observación de red impulsada por PHP/MySQL, que admite una amplia gama de sistemas operativos/plataformas de hardware, incluidos Linux, Windows, FreeBSD, Cisco, HP, Dell, NetApp y muchos más. Busca presentar una interfaz web robusta y simple para monitorear el estado y el rendimiento de su red.

Observium recopila datos de dispositivos con la ayuda de SNMP y muestra esos datos en un patrón gráfico a través de una interfaz web. Hace un uso considerable del paquete RRDtool. Tiene una serie de objetivos de diseño de núcleo delgado, que incluyen recopilar la mayor cantidad de información histórica sobre dispositivos, ser totalmente autodescubierto con una interrupción manual leve o nula, y tener una interfaz muy simple pero poderosa.

Tenga una demostración rápida en línea del Observium implementado por el desarrollador en la siguiente ubicación.

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

Este artículo lo guiará sobre cómo instalar Observium en RHEL, CentOS y Scientific Linux; la versión compatible es EL (Enterprise Linux) 6.x. Actualmente, Observium no es compatible con las versiones 4 y 5 de EL, respectivamente. Por lo tanto, no utilice las siguientes instrucciones en estas versiones.

Paso 1: Agregar repositorios RPM Forge y EPEL

RPMForge y EPEL es un repositorio que proporciona muchos paquetes de software rpm adicionales para RHEL, CentOS y Scientific Linux. Instalemos y habilitemos estos dos repositorios comunitarios usando los siguientes comandos.

# 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
# 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

Paso 2: Instale los paquetes de software necesarios

Ahora instalemos los paquetes de software necesarios para 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

Si desea monitorear máquinas virtuales, instale el paquete "libvirt".

# yum install libvirt

Paso 3: descarga de Observium

Para su información, Observium tiene dos ediciones siguientes

  1. Community/Open Source Edition : esta edición se puede descargar gratuitamente con menos funciones y pocas correcciones de seguridad.
  2. Edición de suscripción : esta edición viene con funciones adicionales, funciones/correcciones rápidas, soporte de hardware y un mecanismo de liberación basado en SVN fácil de usar.

Primero navega directamente a/opt, aquí instalaremos Observium por defecto. Si desea instalar en otro lugar, modifique los comandos y la configuración en consecuencia. Le recomendamos encarecidamente que primero realice la implementación en el directorio/opt. Una vez que verifique que todo funciona perfectamente, puede instalarlo en la ubicación deseada.

Si tiene una suscripción activa a Observium, puede usar los repositorios SVN para descargar la versión más reciente. Una cuenta de suscripción válida solo es válida para una instalación única y dos instalaciones de prueba o desarrollo con parches de seguridad diarios, nuevas funciones y correcciones de errores.

Para descargar la versión estable y actual más reciente de Observium, debe tener un paquete svn instalado en el sistema para poder extraer los archivos del repositorio SVN.

# yum install svn
# svn co http://svn.observium.org/svn/observium/trunk observium
# svn co http://svn.observium.org/svn/observium/branches/stable observium

No tenemos una suscripción válida, por lo que vamos a probar Observium usando la Community/Open Source Edition. Descargue la última versión estable de "observium-community-latest.tar.gz" y descomprímala como se muestra.

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

Paso 4: Creación de la base de datos Observium MySQL

Esta es una instalación limpia de MySQL. Entonces, vamos a establecer una nueva contraseña de root con la ayuda del siguiente comando.

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

Ahora inicie sesión en mysql shell y cree la nueva base de datos de Observium.

# mysql -u root -p

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

Paso 5: configurar Observium

Configurar SELinux para que funcione con Observium está más allá del alcance de este artículo, por lo que deshabilitamos SELinux. Si está familiarizado con las reglas de SELinux, puede configurarlo, pero no hay garantía de que Observium funcione con SELinux activo. Entonces, mejor desactívelo permanentemente. Para hacerlo, abra el archivo "/ etc/sysconfig/selinux" y cambie la opción de "permisivo" a "deshabilitado".

# vi /etc/sysconfig/selinux
SELINUX=disabled

Copie el archivo de configuración predeterminado "config.php.default" en "config.php" y modifique la configuración como se muestra.

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

Ahora abra el archivo "config.php" e ingrese los detalles de MySQL, como el nombre de la base de datos, el nombre de usuario y la contraseña.

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

Luego agregue una entrada para la ubicación binaria de fping en config.php. En la distribución RHEL, la ubicación es diferente.

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

A continuación, ejecute el siguiente comando para configurar la base de datos MySQL e inserte el esquema de archivo predeterminado de la base de datos.

# php includes/update/update.php

Paso 6: configurar Apache para Observium

Ahora cree un directorio "rrd" en el directorio "/ opt/observium" para almacenar RRD.

# /opt/observium
# mkdir rrd

A continuación, conceda la propiedad de Apache al directorio "rrd" para escribir y almacenar RRD en este directorio.

# chown apache:apache rrd

Cree una directiva de Apache Virtual Host para Obervium en el archivo "/etc/httpd/conf/httpd.conf".

# vi /etc/httpd/conf/httpd.conf

Agregue la siguiente directiva de host virtual en la parte inferior del archivo y habilite la sección Virtualhost como se muestra en la captura de pantalla a continuación.

<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>

Para mantener los registros de Observium, cree un directorio de "registros" para Apache en "/ op/observium" y aplique la propiedad de Apache para escribir registros.

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

Después de todas las configuraciones, reinicie el servicio Apache.

# service httpd restart

Paso 7: crear un usuario administrador de Observium

Agregue un primer usuario, otorgue el nivel 10 para administrador. Asegúrese de reemplazar el nombre de usuario y la contraseña con su elección.

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

User tecmint added successfully.

A continuación, agregue un nuevo dispositivo y ejecute los siguientes comandos para completar los datos del nuevo dispositivo.

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

A continuación, configure trabajos cron, cree un nuevo archivo "/etc/cron.d/observium" y agregue el siguiente contenido.

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

Vuelva a cargar el proceso cron para tomar nuevas entradas.

# /etc/init.d/cron reload

El paso final es agregar los servicios httpd y mysqld en todo el sistema, para que se inicien automáticamente después del inicio del sistema.

# chkconfig mysqld on
# chkconfig httpd on

Finalmente, abra su navegador favorito y apunte a http:// Your-Ip-Address.

A continuación se muestran las capturas de pantalla de mediados de 2013, extraídas del sitio web de Observium. Para obtener una vista actualizada, consulte la demostración en vivo.

Conclusión

Observium no significa eliminar por completo otras herramientas de monitoreo como Cacti, sino más bien agregarlas con un conocimiento excelente de ciertos dispositivos. Por esta razón, es importante implementar Observium con Naigos u otros sistemas de monitoreo para proporcionar alertas y Cacti para producir gráficos personalizados de sus dispositivos de red.

Enlaces de referencia:

  1. Página de inicio de Observium
  2. Documentación de Observium