Migrar Cacti a Pandora FMS

Cualquier entorno informático necesita de un sistema de monitorización pero, ¿cuál debemos utilizar? Podemos optar por sistemas tradicionales y más limitados, o por sistemas de monitorización actuales como Pandora FMS.

Con el fin de facilitar la tarea a cualquier usuario que lo necesite, desde el equipo de Pandora FMS hemos desarrollado un método para migrar Cacti, en concreto los datos de monitorización SNMP, a Pandora FMS de forma rápida y sencilla.

A diferencia de Pandora FMS, Cacti tiene 2 formas de recolectar datos:

  1. Tomar los datos vía SNMP (usando métodos internos de Cacti).
  2. Tomar los datos vía scripts (algunos incluidos en la instalación de Cacti y otros personalizados por el usuario).
banner full pandora fms free demo
banner tablet pandora fms free demo
banner mobile pandora fms free demo

Dada esta situación, los mecanismos de monitorización simples y estándar en Cacti (por ejemplo un chequeo para medir la latencia de un ping) se deben realizar mediante scripts o plugins en lugar de venir integrados en el sistema.

En Pandora FMS este tipo de chequeos básicos vienen integrados en la propia herramienta, permitiendo dejar los scripts o plugins para monitorizaciones más avanzadas. Por lo tanto, y a diferencia de Cacti, contamos con más opciones directamente integradas para recolectar datos:

  1. Tomar los datos de latencia y de respuesta a un ping.
  2. Monitorizar el estado y la latencia de puertos TCP e incluso obtener algún valor de la conexión con los mismos.
  3. Tomar datos vía SNMP (tanto realizando peticiones snmpget como recibiendo traps).
  4. Tomar datos vía WMI de sistemas Windows.
  5. Recolectar información de un sistema operativo usando comandos del propio sistema operativo.
  6. Monitorizar el estado de una web, tomar datos de la misma e incluso simular la experiencia de navegación de un usuario en busca de fallos (solo con Pandora FMS Enterprise).
  7. Monitorizar transacciones de proceso de negocio (solo con Pandora FMS Enterprise).
  8. Realizar operaciones aritméticas en base a los valores de otros chequeos realizados.
  9. Tomar datos vía scripts o plugins personalizados.

Como vemos existe una gran diferencia entre ambos sistemas de monitorización, y es por ello que inicialmente este script solo migrará aquellos chequeos que toman datos vía SNMP en Cacti, es decir, aquellos que usan los métodos de recolección (Data Input Methods) “Get SNMP Data” o “Get SNMP Data (Indexed)”.

migrar cacti

Asimismo, solo podremos migrar de Cacti los chequeos SNMP que estén recolectando datos, ya que el propósito de esta utilidad es poder conservar todo el histórico de datos obtenido hasta el momento.

Por lo tanto, siguiendo este proceso de migración conseguiremos conservar toda la monitorización SNMP obtenida hasta el momento en un sistema con muchas más posibilidades, lo cual implica una mayor facilidad de uso a la hora de añadir nuevos chequeos y gestionar los ya existentes.

Requisitos

Vistas y explicadas las diferencias entre los dos sistemas de monitorización y el propósito del script, pasemos a explicar cómo lograr nuestro objetivo: migrar de Cacti la monitorización SNMP a Pandora FMS.

Para funcionar correctamente, este script debe cumplir los siguientes requisitos:

  1. El script debe ejecutarse desde el equipo donde se alojará el servidor de Pandora FMS.
  2. Este equipo debe contar con acceso a la base de datos de Cacti según lo configurado en el fichero de configuración del plugin (puedes ver toda la documentación detallada del script en la librería de Pandora FMS).
  3. El equipo desde donde lanzamos el script debe contar con acceso HTTP desde el servidor de Pandora FMS hasta la ruta donde se alojen los ficheros RRD de Cacti o bien transferir los ficheros RRD a un directorio en el servidor de Pandora. Los ficheros RRD de Cacti son aquellos que almacenan los datos de la monitorización.
  4. El equipo desde donde lanzamos el script debe contar con la herramienta “rrd2csv”, la cual se puede descargar desde este enlace.
  5. El equipo desde donde lanzamos el script debe contar con el módulo de perl “RRD::Simple” instalado.

Funcionamiento del script para migrar de Cacti a Pandora FMS

El script realizará la migración de la monitorización SNMP de Cacti en 3 pasos.

1. Creación de agentes en Pandora FMS

En primer lugar, se realiza una consulta a la base de datos de Cacti tomando así todos los dispositivos que se están monitorizando.

Se crea entonces en Pandora FMS un agente por cada dispositivo, usando el campo “Description” de Cacti como “Agent name” en Pandora FMS y el campo “Hostname” de Cacti como “IP Address” en Pandora FMS. Si ya existe un agente con el “Agent name” correspondiente, el agente no se crea ni se modifica.

migrar cacti

migrar cacti

Al crear los agentes si detecta que la dirección IP del dispositivo es “localhost” o “127.0.0.1”, esta sería cambiada por la dirección IP definida en el fichero de configuración del script, ya que no tendría sentido hacer referencia al servidor de Pandora FMS en el agente que corresponde al servidor de Cacti.

Todos los agentes creados como fruto de la migración contarán con el texto “Migrated from cacti” en su descripción para localizarlos más fácilmente.

2. Creación de módulos SNMP

En segundo lugar, para cada dispositivo detectado como agente de Pandora FMS (tanto si ya existía como si se ha creado) se generan los módulos SNMP correspondientes.

Para ello se realiza una consulta en la base de datos de Cacti con el fin de obtener los siguientes datos:

  • Versión SNMP del dispositivo.
  • Comunidad SNMP del dispositivo.
  • OID del chequeo realizado.
  • Nombre de la gráfica que muestra los datos en Cacti.
  • Ruta al fichero RRD que almacena los datos.
  • Nombre de la información recolectada (Data source name).
  • Tipo de dato recogido.

En base a esta información el script crea los módulos de la siguiente manera:

  • Comprueba si el OID monitorizado forma parte del árbol IF-MIB para construir el nombre del módulo acorde a la nomenclatura usada por Pandora FMS (_ – por ejemplo: enp0s3_ifInOctets).

El árbol IF-MIB es estándar para los dispositivos SNMP y cuenta con la información de las interfaces de red.

Con esta información Pandora FMS es capaz de mostrar gráficas de tráfico de una interfaz de red (entrada y salida) y de representar las conexiones entre dispositivos usando una interfaz de red concreta, para lo cual necesita que ciertos módulos cumplan una nomenclatura específica.

migrar cacti

En caso de no ser un OID del árbol IF-MIB, se utiliza el nombre del origen de datos (Data source name) como nombre para el módulo en Pandora FMS:

migrar cacti

migrar cacti

El script determina cual es el tipo de dato para el módulo en Pandora FMS tomando en cuenta el tipo de dato recolectado en Cacti siguiendo la siguiente tabla:

Tipo de dato en Cacti Tipo de dato en Pandora FMS
GAUGE remote_snmp
COUNTER remote_snmp_inc
DERIVE remote_snmp_inc
ABSOLUTE remote_snmp_inc
COMPUTE remote_snmp_inc
  • El script comprueba si la IP del equipo que se monitoriza es “localhost” o “127.0.0.1”. En ese caso la IP es modificada tal y como se hace a la hora de crear los agentes.
  • Finalmente crea el módulo correspondiente en Pandora FMS siempre y cuando no exista previamente. Si el módulo ya existe no lo modifica.

Para poder localizarlos fácilmente, los módulos creados en Pandora FMS tienen como descripción el nombre de la gráfica en la que se representaban estos datos en Cacti:

migrar cacti

migrar cacti

Hay que tener en cuenta que Cacti puede representar en una misma gráfica los datos de distintos chequeos, mientras que Pandora FMS crea un módulo independiente para cada dato distinto:

migrar cacti

migrar cacti

3. Último paso para migrar de Cacti a Pandora FMS: Importación de los datos

Por último, para aquellos módulos SNMP creados por la migración (se excluyen los que ya existían previamente) se importan los datos recolectados por Cacti para conservar el histórico actual. Para ello el script puede proceder de dos formas:

  • Usar los ficheros RRD localizados en un directorio del servidor donde se aloja Pandora FMS.
  • Descargar los ficheros RRD directamente del servidor donde se aloja Cacti vía HTTP.

En cualquiera de los dos casos toma los datos correspondientes para cada uno de los módulos creados y los importa en la base de datos de Pandora FMS.

Tras realizar la migración del entorno y si no ha habido errores, el script devolverá como salida un sumario con la cantidad de agentes y módulos migrados, la cantidad de módulos que ha creado y aquellos que no se han creado porque ya existían.

A partir de ese momento tendremos el servidor de Pandora FMS recolectando nuevos datos, además de ser capaz de mostrar el histórico de datos SNMP que se tuviesen en Cacti:

migrar cacti

migrar cacti

Con Pandora FMS tenemos muchas más opciones de monitorización directamente integradas en el sistema, permitiéndonos añadir nuevos elementos o gestionar los ya existentes de una forma más sencilla a como lo haríamos en Cacti, y con una interfaz web mucho más amigable.

Shares