Monitorización del sistema con Cacti y Arduino (parte 1): Instalación

Cacti es un sistema de monitorización de sistemas basado en RRDtool, una herramienta de Tobias Oetiker. El funcionamiento es bastante simple: cada X tiempo se ejecuta la recogida de datos y se insertan en la base de datos RRD (se trata de colas circulares), y cuando se lo solicitamos, nos muestra los datos de forma gráfica. La recogida se puede hacer por SNMP, o por scripts.

Manos a la obra. ¿Cómo lo instalamos? Muy fácil:

Durante la instalación también nos instalará el servidor de bases de datos MySQL y nos pedirá dos veces la contraseña que queramos ponerle al usuario root de MySQL. También nos pedirá que le digamos que servidor web vamos a usar: apache2, y si queremos que nos autoconfigure la base de datos para cacti con la herramienta dbconfig-common, a lo que le responderemos que sí. Al hacerlo nos solicitará la contraseña del usuario root de MySQL, y la que queremos ponerle al usuario cacti que creará para usar la base de datos.

Una vez tenemos todo instalado la configuración inicial de cacti se lleva a cabo accediendo a su web: http://ip_servidor/cacti, donde veremos las siguientes pantallas:

cacti1

cacti2

cacti3

Entramos la primera vez con admin/admin y nos forzará a cambiar la contraseña del usuario admin:

cacti4 login

cacti5 pass

Antes de nada y después de los pasos anteriores, hay que configurar el demonio snmpd para que podamos obtener toda la información disponible del sistema local. Para ello vamos al fichero de configuración /etc/snmp/snmpd.conf y modificamos las lineas SysLocation y SysContact con la ubicación del sistema y nuestro correo electrónico. Además para que desde cacti podamos leer cualquier información que nos proporcione el demonio snmp debemos añadir la linea:

Reiniciamos el servicio:

 

Edición básica de un dispositivo

Hecho esta ya tenemos el sistema listo para ser monitorizado. Ahora debemos editar el host local y lo hacemos haciendo clic en Devices y luego en Localhost (que es el nombre que le da por defecto al sistema local):

Console -> Devices marcado

Editamos el host de forma que las opciones marcadas con los recuadros queden como en la imagen siguiente:

Console -> Devices -> (Edit) marcado

Si todo ha funcionado correctamente, nos lo indicará en la siguiente pantalla con un Save successful, mostrándonos algo más de información del host, y varios tipos más de gráficas que podremos usar:

Console -> Devices -> (Edit) host guardado

 

Primeras gráficas

Ahora vamos a crear alguna gráfica con los datos que cacti obtendrá mediante snmp del host local. El uso de CPU, la carga, el uso de memoria, las estadśticas de red, y el espacio libre de disco.

En la parte superior de la pantalla, a la derecha, en azul tenemos la opcion Create Graphs for this Host, hacemos clic en ella, y nos aparecerá una nueva ventana para que marquemos las nuevas gráficas que queremos crear:

Console -> Create New Graphs

En cuanto pulsemos en create, empezará el sistema a recopilar la información cada 5 minutos, y transcurridos unos minutos podremos visualizarlas con los primeros datos. Si tido ha ido bien en la parte superior de la pantalla deberíamos tener el siguiente mensaje de estado como resultado de la creación de las gráficas:

Console -> Create New Graphs (guardado)

Cambiando el recolector de datos

Por defecto, en la instalación de cacti, la recolección de los datos que luego se mostrarán en las gráficas se hace con un script en PHP, que no es muy eficiente si tenemos mucha información que procesar. Como mejora existe un recolector (poller) programado en C que se llama spine y que funciona mucho mas rápido. Para usarlo debemos ir a Settings -> Poller y cambiarlo a spine:

Console -> Cacti Settings

Tras unas horas funcionando, tenemos estas gráficas de uso en una Odroid U3:

Graphs -> Tree Mode

Espero que os haya gustado, yo le veo muchísima utilidad a este sistema. Si tenéis un servidor de descargas, os será útil para ver el consumo de espacio en disco, por ejemplo. En otras entradas os iré explicando como generar gráficas para cualquier información que podamos conseguir con un script, como el nivel de señal de un router 3G, la temperatura del procesador, o cualquier cosa que se os ocurra. Además existen utilidades para Android para ver las gráficas que generemos con el móvil como CactiViewer, vamos que el saber ya no ocupa lugar.

Comentarios

  1. Por Andu

    Responder

    • Por José María

      Responder

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *