Métricas de nuestro servidor con CollectD, InfluxDB y Grafana

Vamos a continuar hablando de Grafana. En el artículo anterior vimos en que consistía y cómo trabajaba conjuntamente con InfluxDB, como origen de datos. En esta ocasión añadimos un tercer actor, que se encargará de recolectar los datos del sistema operativo, llamado CollectD.

¿Qué es CollectD y cómo se instala en CentOS 7?

Se trata de un servicio que recolecta datos del sistema operativo y de las aplicaciones, generando métricas periódicas y suministrando mecanismos para almacenar dichos datos, en registros o arrays. Un ejemplo son los ficheros RRD.

El programa ya está disponible en los repositorios principales, por lo que sólo tenemos que escribir:

  1. yum update
  2. yum install collectd

Añadimos el servicio al inicio, además de encenderlo:

  1. systemctl enable collectd.service
  2. systemctl start collectd.service

De esta manera ya lo tenemos listo y funcionando.

Recibiendo métricas

Para que las tres partes funcionen y se comuniquen entre sí, debemos realizar algunos pasos. Por lo que editamos el fichero de configuración ubicado en /etc/collect.conf, habilitando el plugin de red:

  1. LoadPlugin network
    
  2. #Añadiendo, si no estuviera
    
  3. <Plugin "network">
    
  4.     Server "ip-o-nombre-de-servidor" "25826"
    
  5. </Plugin>

Para recibir correctamente los datos en InfluxDB, debemos modificar su fichero de configuración principal, ubicado en /etc/influxdb/influxdb.conf, y modificar:

  1. #La siguiente parte original
  2. [[collectd]]
  3.   enabled = false
  4. #Tiene que quedar así:
  5. [[collectd]]
  6.   enabled = true
  7.   bind-address = ":25826" # el puerto de escucha
  8.   database = "collectd" # En mi caso sería 'testdb' Name of the database that will be written to
  9.   retention-policy = ""
  10.   batch-size = 5000 
  11.   batch-pending = 10 
  12.   batch-timeout = "10s"
  13.   read-buffer = 0 
  14.   typesdb = "/usr/share/collectd/types.db"

Al guardar el fichero de configuración, recuerda reiniciar el servicio.

  1. systemctl restart influxdb.service

Y continuamos. Ahora nos iremos a la interfaz web de Grafana. Recuerda que en el anterior artículo comentamos que utilizaba el puerto 3000. Es importante que recordemos el nombre de la base de datos y las credenciales, que creamos en el artículo anterior. Una vez realizcemos todos los cambios hasta aquí, debemos reiniciar el servicio ‘influxdb’ y ‘collectd’, para recoja la configuración. Para comprobar que efectivamente la base de datos ha cargado los parámetros, accedemos a su consola, en mi caso con las credenciales que he creado:

  1. [root@centos7 collectd]# influx -database testdb -username testuser -password testuser
  2. Connected to http://localhost:8086 version 1.3.2
  3. InfluxDB shell version: 1.3.2
  4. > show measurements
  5. name: measurements
  6. name
  7. ----
  8. load_longterm
  9. load_midterm
  10. load_shortterm
  11. >exit

Por lo que hasta aquí vamos bien. Ahora sí, desde la web, nos iremos a «Panel» , después «New Dashboard» y por último «Add Panel» y «Graph» Una vez en la vista de la gráfica, marcamos con el ratón sobre el título «Panel Title», y en el menú desplegable que nos aparecerá, indicamos que queremos ir al menú de edición, en inglés «Edition» Desde allí podemos configurar la gráfica a nuestro gusto:

En la imagen anterior podemos ver el menú de edición, con la base de datos «test» seleccionada.

Desde la pestaña de «Metrics» vamos a realizar varios cambios, el primero de todo será cambiar el FROM, a continuación de «default» que dejaremos tal cual, modificamos la siguiente casilla, dejando la SELECT llamada «load_longterm». Señalamos sobre el símbolo de sumar, de esta manera indacamos el valor para WHERE, que será seleccionar el host. Por último cambiamos el ALIAS por ‘long‘.

Nos hemos finalizdo todavía, ahora añadiremos los ALIASmid‘ y ‘short‘, utilizando el botón de «Add Query» Los cambios son mínimos, a ver si os sale bien 😉

Si hemos seguido todos los pasos nos tendría que quedar cómo en la imagen:

De momento lo dejamos por hoy, más adelante continuaremos, añadiendo nuevas gráficas. Estad atentos ^.^

Fuentes | jansipke.nl| wiki.opnfv.org