Monitorización de Servidores con Pandora FMS

julio 26, 2007 at 8:53 pm (Servidores, Tips)

Pandora es un sistema de monitorización de servidores servicios ya sean en la maquina local o en otra de la red,eso si la maquina necesita un agente para ser monitorizada.

Captura:

Instalando Pandora FMS

Resolviendo Dependencias

  • MySQL v4.x (o superior)
  • Servidor SSH
  • Perl v5.8 o superior

Modulos de Perl

  • XML::Simple, funciones XML
  • Digest::MD5, generación de MD5
  • Time::Local, manipulación básica de fechas y tiempo
  • DBI, interfaz de base de datos con MySQL
  • Date::Manip, manipulación de entrada, salida y comparación de fechas y tiempo

Instalando desde los repos

# apt-get install mysql-server openssh-server

Instalando los modulos de Perl

Los modulos los puedes encontrar en la pagina http://www.cpan.org o instalarlo desde el sistema de instalacion de tu sistema

perl -MCPAN -e shell;

> install XML::Simple

Repetiriamos esto con todos los Modulos

Instalación

Descargar los paquetes Pandora Server que contiene Pandora Data Server, Pandora Network Server y Consola SNMP, agentes de Pandora y Pandora Web Console para la configuración de la base de datos y la Consola Web.

Base de datos

Es necesario crear una base de datos con nombre «pandora». Para crear la estructura de la base de datos de Pandora en MySQL Server utilizamos el script SQL pandoradb.sql que está dentro del fichero Pandora_console_1.2-beta3.tar.gz. Este fichero crea las tablas e índices necesarios para insertar información en la base de datos de Pandora.

El siguiente paso es llenar la base de datos con los datos del script pandoradb_data.sql, que se incluye en el mismo fichero (Pandora_console_1.2-beta3.tar.gz) y que inserta los datos necesarios para poder ejecutar la Consola Web y un usuario por defecto (login: admin, contraseña: pandora) para acceder a la consola.

Describimos un poco estos pasos, aunque estas líneas no pretenden ser un manual de MySQL y se aconseja familiarizarse con los comandos de MySQL leyendo la guía de instalación y administración de MySQL (http://dev.mysql.com/doc): primero creamos la base de datos «pandora» conectando a MySQL y desde la línea de comando de MySQL ejecutamos:

mysql> create database pandora;

A continuación ejecutamos los siguientes comandos para crear tablas e índices dentro de la base datos de Pandora en MySQL:

mysql> use pandora;
mysql> source <ruta_a_pandoradb.sql>
mysql> source <ruta_a_pandoradb_data.sql>

Este ejemplo es válido utilizando el usuario root de MySQL.

Si tenemos algún problema con estos comandos, desde la línea de comando del sistema operativo se puede ejecutar lo siguientes:

cat pandoradb.sql | mysql -D pandora -u root -p
cat pandoradb_data.sql | mysql -D pandora -u root -p

Para crear ahora el usuario «pandora» y darle permisos sobre la base de datos desde el localhost ejecutamos:

mysql> grant all on pandora.* to 'pandora'@'localhost'
    -> identified by 'pandora';

Hay que considerar que si el acceso a la base de datos desde el Servidor Pandora y la Consola Web se hacen desde otra máquina habría que cambiar en la línea de comando el localhost por el nombre (o IP) de la otra máquina.

Si aparece el error «Warning: mysql_connect() [function.mysql-connect]: client does not support authentication protocol requested by server; consider upgrading» al entrar en la consola, hay que hacer un cambio en la forma en la que se almacena la contraseña del usuario (ver FAQ):

mysql> set password for 'pandora'@'localhost' = old_password('pandora');

Cabe destacar que este usuario será el usuario empleado por los diferentes subcomponentes de Pandora (Pandora Server, Consola Web) para acceder a la base de datos.

Servidor Pandora

Creamos el directorio /opt/pandora y descomprimimos y desempaquetamos el fichero PandoraServer_12-beta3.tar.gz.

Creamos un usuario pandora en el Sistema Operativo. En GNU/Linux usamos los comandos:

useraddd pandora -d /home/pandora
mkdir /home/pandora
chown pandora /home/pandora

Este usuario es el que se va a utilizar para las transferencias SSH al servidor, se recomienda que tenga una contraseña muy robusta.

En el fichero /home/pandora/.ssh/authorized_keys añadimos la clave pública de cada agente desde el que se envían los datos al servidor de Pandora. Estas claves serán de tipo SSH v2, OpenSSH DiffieHellman (DF) o RSA. Para convertir claves se puede utilizar la herramienta ssh-keygen.

El servidor de Pandora verificará y analizará los ficheros XML enviados por los agentes e insertará los datos en la base de datos.

Editamos el fichero de configuración del servidor de Pandora, situado generalmente en /opt/pandora/conf/pandora_server.conf y prestamos especial atención a las siguientes lineas:

dbuser pandora
dbpass pandora
dbhost localhost

Colocamos a la derecha de las opciones de configuración los valores elegidos para el acceso a la base de datos. Se recomienda no utilizar los valores por defecto por seguridad.

Consola Web

Para instalar la Consola Web simplemente hay que descomprimir y desempaquetar el fichero Pandora_console_1.2-beta3.tar.gz en un directorio del servidor Web.

Configuración y ejecución

Servidor Pandora

Antes que ejecutar el servidor Pandora es necesario que esté ejecutándose la base de datos. Para configurar la base de datos en el servidor hay que editar el fichero de configuración ./conf/pandora_server.conf y cambiar los parámetros siguientes parametros (están todos juntos, en las primeras líneas de código):

servername localhost
basepath /opt/pandora_server
incomingdir /opt/pandora_server/data_in
log_file /opt/pandora_server/pandora_server.log
errorlog_file /opt/pandora_server/pandora_server_error.log
dbuser pandora
dbpass pandora
dbhost 127.0.0.1

Estos son los valores por defecto y deben ser válidos (los directorios deben existir y los datos de los usuarios deben ser correctos).

NOTA: es necesario asegurarse de que existe el directorio /opt/pandora_server/data_in (o similar) que va a ser el directorio donde el servidor Pandora leerá y escribirá los datos enviados por los agentes vía SSH/SCP.

Se puede ejecutar el servidor Pandora con un usuario sin privilegios, lo único que se necesita es que puede ejecutar /usr/bin/perl y acceder los directorios /opt/pandora_server y /opt/pandora_server/data_in (o similares).

Esto sirve para los diferentes componentes, excepto para la Consola SNMP, ya que tiene que crear un demonio escuchando en el puerto 161/UDP (se podria solucionar estableciendo SUID0 al binario snmptrapd) y ejecutando el resto del sistema con un usuario sin privilegios.

De igual forma, Pandora Network Server puede ejecutarse con usuario sin privilegios, pero el tipo GENERIC_ICMP_DATA no funcionará ya que requiere privilegios de root para obtener tiempos de latencia ICMP.

El archivo comprimido de la distribución del servidor Pandora incluye un script de inicio/parada para Posix/System V de forma que se puede ejecutar como «demonio». Puede que sea necesario cambiar algo para otros sistemas, pero funciona correctamente en GNU/Linux (Debian, Suse) y Solaris 8. Por defecto tiene los parámetros start|stop|restart de inicio|parada|reinicio para incluir en el nivel de inicio y deja un registro en el archivo definido en el par&aacuete;metro del script $log_file (por defecto es /opt/pandora_server/pandora.log):

/etc/init.d/pandora_server start

Consola Web

El único fichero que hay que modificar es include/config.php, en el directorio de instalación, donde vamos a cambiar las variables del código PHP con las que tengamos en nuestro sistema:

$dbname="pandora";
$dbuser="pandora";
$dbpassword="pandora";
$dbhost="pandora";

Si la base de datos se definió e instaló correctamente, se puede acceder a la consola web con la URL:

http://<hostname_consolaweb&gt;:<port>/<directorio_instalacion>/index.php

Al finalizar la instalación existe sólo un usuario administrador, con login «admin» y contraseña «pandora». No es necesario decir que conviene cambiar al contraseña o crear otro usuario y deshabilitar este.

Actualización: Es posible integrar Pandora con Jabber utilizando la Consola Web. Más información en el Wiki de Pandora y el Foro.

Agentes de Pandora para Unix

Veamos un pequeño ejemplo de configuración de estos agentes.

Existen dos ficheros de configuración:

pandora_agent.conf
pandora_user.conf (sólo en Unix)

Los agentes de Pandora utilizan el fichero pandora_agent.conf para cargar los datos de inicio y los módulos. Los módulos son los que se encargan de obtener los datos.

Más información en los documentos oficiales o la Guía rápida de configuración de los agentes.

pandora_user.conf tiene la configuración a bajo nivel y se ejecuta a cada iteración de script pandora_agent.sh. Para más información de cómo funciona es mejor leer el código.

Pueden existir más de un script que se cargen en pandora_agent.sh en el momento del arranque, depende de que tipo de Unix se tiene. Uno de ellos es pandora_agent_daemon_generic que es un shell script multiplataforma que inicia/para (start/stop) el script pandora_agent.sh.

En este documento he copiado algunas cosas tal qual del manual haciendo aclaraciones en instalación para debian

About these ads

1 Comentario

  1. Edgar Enriquez said,

    Excelente tutorial, claro y preciso sobre el manejo de esta herramienta de gestion de red

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: