Observium: un sistema completo de monitoreo y gestión de redes para RHEL/CentOS
Observium es una aplicación de monitoreo y observación de redes 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 los muestra 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 los dispositivos, ser totalmente descubierto automáticamente con una interrupción manual leve o nula y tener una interfaz muy simple pero potente.
Demostración del Observatorio
Tenga una demostración rápida en línea de Observium implementado por el desarrollador en la siguiente ubicación.
- http://demo.observium.org/
Este artículo le guiará sobre cómo instalar Observium en RHEL, CentOS y Scientific Linux; la versión compatible es EL (Linux empresarial) 6.x. Actualmente, Observium no es compatible con las versiones EL 4 y 5 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 complementarios para RHEL, CentOS y Scientific Linux. Instalemos y habilitemos estos dos repositorios comunitarios utilizando los siguientes comandos.
En sistemas i386
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
En sistemas x86_64
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: descargar Observium
Para su información, Observium tiene dos ediciones siguientes.
- Edición comunitaria/de código abierto: esta edición está disponible gratuitamente para descargar con menos funciones y pocas correcciones de seguridad.
- 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.
En primer lugar, navegue directamente a /opt, aquí instalaremos Observium de forma predeterminada. Si desea instalar en otro lugar, modifique los comandos y la configuración en consecuencia. Le recomendamos encarecidamente que primero implemente en el directorio /opt. Una vez que verifiques que todo funciona perfectamente, podrás instalarlo en la ubicación deseada.
Si tiene una suscripción activa a Observium, puede utilizar los repositorios SVN para descargar la versión más reciente. Una cuenta de suscripción válida solo es válida para una única instalación 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, necesita tener un paquete svn instalado en el sistema para poder extraer los archivos del repositorio SVN.
yum install svn
Versión de desarrollo
svn co http://svn.observium.org/svn/observium/trunk observium
Versión estable
svn co http://svn.observium.org/svn/observium/branches/stable observium
No tenemos una suscripción válida, así que vamos a probar Observium usando la edición Community/Open Source. Descargue la última versión estable '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 MySQL de Observium
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 configurarlas, pero no hay garantía de que Observium funcione con SELinux activo. Entonces, será mejor desactivarlo 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' a '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 fping en config.php. En la distribución de 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 insertar 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, otorgue a Apache la propiedad del 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 Virtual Host 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 'logs' 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 realizar todas las configuraciones, reinicie el servicio Apache.
service httpd restart
Paso 7: Crear usuario administrador de Observium
Agregue un primer usuario, proporcione 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.
Luego 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 último paso 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 seleccione http://Su-dirección-IP.
Tour de captura de pantalla de Observium
A continuación se muestran capturas de pantalla de mediados de 2013, tomadas del sitio web de Observium. Para una vista actualizada, consulte la demostración en vivo.
Conclusión
Observium no pretende eliminar por completo otras herramientas de monitoreo como Nagios o Cacti, sino más bien agregarles un excelente conocimiento 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:
- Página de inicio del Observatorio
- Documentación del Observatorio