InfluxDB y Grafana para monitorear Proxmox y PfSense

Hoy vamos a ver como instalar un contenedor de Proxmox (o una VM) con InfluxDB y Grafana para llevar las metricas de Proxmox y de PfSense. Será un tutorial básico, asi que luego podrán ir agregándole cosas a cada Dashboard a su gusto. Empezamos creando un CT nuevo con Debian Buster. En mi caso, con 1G de RAM y 8G de HDD. Eso es suficiente. Si luego van a usar Graylog o algo más ahí, entonces el espacio puede que no baste.

Una vez instalado, actualizamos los repositorios y upgradeamos el sistema

Luego, vamos a empezar a instalar los paquetes necesarios:

Puede que ya tengamos alguno pero no importa.

InfluxDB

Para quien no lo conozca, influxDB es una base de datos de series de tiempo. Esto nos permite guardar varios tipos de metricas que pueden ser consultadas por herramientras como Grafana, asi que vamos a instalarlo de la siguiente forma:

Ahora vamos a editar el archivo de configuracion de Influxdb para permitir el acceso por HTTP (Para PfSense):

Bajamos a la seccion HTTP y descomentamos: “enabled”, “bind-address= ‘:8086’”, y listo. Salvamos y salimos. Luego reiniciamos el servicio

Ahora ya está listo el influxDB para pfsense, pero vamos a crear la base de datos. Ejecutamos:

Esto nos abre el editor de consultas, como si fuera MySQL o SQLite

Con esto, ya creamos la BD del PfSense.

Grafana

Grafana es un software libre basado en licencia de Apache 2.0, que permite la visualización y el formato de datos métricos. Permite crear cuadros de mando y gráficos a partir de múltiples fuentes. Para instalarlo, vamos a ejecutar los siguientes comandos:

Iniciamos el servicio y podremos acceder a la web de Grafana http://ipgrafana:3000
Usuario y Password: admin
Y te pedirá cambiar la clave.

Grafana Login

PfSense

Ahora vamos a parar aquí, y vamos al pfsense, puesto que va a ser el primer Dashboard que configuremos. Nos logueamos en el pfsense y vamos al Package Manager, donde instalaremos Telegraf.

pfSense Telegraf

Una vez instalado, vamos a Services->Telegraf y vamos a llenar los datos necesarios:

Telegraf Config

  1. Habilitar el servicio
  2. Telegraf Output: InfluxDB
  3. InfluxDB Server: http://containerip:8086
  4. InfluxDB Database: firewall
  5. InfluxDB Username: firewall_write
  6. InfluxDB Password:  ‘mipanzuzuzu’

Y dejamos el resto sin marcar y vacio. Salvamos y salimos.

Volvemos a Grafana y en la pantalla inicial vemos que nos dice Data Sources. Entramos ahi y vamos a seleccionar nuestro origen de Datos (DATA SOURCES)

El origen de datos: InfluxDB

Nombre: PfSense (Marcar como default si se quiere)

HTTP:

URL: http://localhost:8086

InfluxDB Details:

Database: firewall

User: firewall_read

Password: mipaaaaaaaan

HTTP Method: GET

Save & Test

Si todo esta bien, entonces, ahora podemos en el menu de la izquierda, seleccionar el Signo + y en lugar de crear un nuevo Dashboard, pues vamos a dar en Importar

Y vamos a seleccionar Subir Archivo JSON. El JSON a subir lo pueden obtener desde aquí. Seleccionan el origen de datos pfsense y el nombre de la interfaz WAN del pfsense.

En el Pfsense vemos el nombre de la interfaz WAN en este caso em0

Y listo. Cuando le den salvar, van a tener el Dashboard lindo y bonito como ven en la imagen.

Proxmox

Para el caso del Proxmox, el procedimiento es mucho más facil, puesto que haremos lo siguiente. Accedemos por ssh al Proxmox y Dentro:

Dentro del archivo pondremos el siguiente contenido:

NOTA: Este fichero es sensible a la Indentación. Puede que tenga que forzar al proxmox a ver el cambio

Guardamos y salimos. Y no, no hemos terminado, pero al menos en el proxmox si. Pues como dice la Wiki de PVE, con solo eso, pues estamos diciendole al Proxmox que envie los datos de estado a esa IP por ese puerto (UDP).

Ahora vamos a nuestro contenedor una vez mas y editamos de nuevo el archivo de influxdb

Buscamos el apartado UPD que se encuentra asi [[udp]]:

  • Y lo habilitamos descomentando el enabled y cambiandolo a true,
  • descomentamos tambien el bind-address y lo dejamos como esta por el puerto 8089.
  • database “proxmox”,
  • batch-size y lo cambiamos a 1000
  • descomentamos tambien el batch-timeout y lo dejamos tal cual.

Quedando algo como esto:

Guardamos y salimos.

Entramos al sistema

Y creamos la base de datos:

Y volvemos a reiniciar el servicio

En Grafana, vamos a Opciones (El engranaje que esta en el menu de la izquierda) y seleccionamos Origen de Datos para agregar uno nuevo que igual será de tipo InfluxDB
Le ponemos nombre “Proxmox” y tanto la URL como el Puerto es el mismo

Y en la parte de los detalles, pues solo pondremos la BD que es “proxmox” como definimos en el apartado de UDP del servidor

Y vamos de nuevo a importar un JSON como mismo hicimos antes para el Dashboard del PfSense, pero en este caso para Proxmox, el cual podremos descargar de aquí.

Vean que esta vez la fuente de los datos abajo es Proxmox y no PfSense. Una vez importado, veremos lo siguiente:

Donde vemos que tenemos un error de que nos falta un plugin. Este plugin, lo que nos da es la hora que tiene el proxmox, y si bien podemos quitarlo, es un buen momento para enseñar como poner un plugin de forma manual.

Grafana esta disponible para Cuba a la hora de instalar. Pero para descargar no. Por tanto ni los dashboard ni los plugins podremos bajarlos sin VPN. En mi caso, yo lo baje desde mi PC usando una VPN y se lo puse al servidor. Y es lo que les voy a explicar ahora. Recuerden que se explica todo el proceso, pero los archivos van a estar disponibles al finalizar el tutorial en un archivo comprimido. Usando una VPN de su eleccion, bajamos el archivo:

Clock-Panel

El cual es un archivo zip que contiene el plugin. Este archivo lo vamos a ubicar en nuestro servidor en la carpeta /var/lib/grafana/plugins

Usando el comando unzip lo descomprimimos o bien usando el MC entramos en el comprimido y con F5 copiamos el contenido del comprimido fuera en la carpeta

El resultado es el mismo

Ahora salimos del MC y renombramos la carpeta quitando todo lo que esta despues del nombre “grafana-clock-panel”

Y reiniciamos el servicio de Grafana

Ahora actualizamos la pagina y veremos como ya aceptó el plugin y nos muestra los datos correctamente:

Ahora les dejo unas imagenes de como se ven los dashboard de forma integra, pusto que aqui solo les muestro el inicio

Proxmox:

PfSense

Sino pudo descargar los dashboard por problemas de conexión o estar cerrado para su país, puede descargar los archivos de configuración desde aquí

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 4.9 / 5. Recuento de votos: 12

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Please follow and like us:

3 comentarios

  1. Google Chrome 83.0.4103.97 Google Chrome 83.0.4103.97 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36

    como pudiera llevarlo al escenario de squid o zimbra o mta relay??

  2. Google Chrome 85.0.4183.127 Google Chrome 85.0.4183.127 Android 10 Android 10
    Mozilla/5.0 (Linux; Android 10; SM-A505FN) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.127 Mobile Safari/537.36

    Saludos, cómo haría para monitorear más de un servidor Proxmox?

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*