Ir al contenido
  1. Publicaciones/

Grafana: Mótricas en OpenWrt

··716 palabras·4 mins

Ya vimos como instalar TIG ( Telegraf + Influxdb + Grafana), en el articulo de hoy veremos como incluir las mótricas en un router con firmware OpenWrt instalado, todo ello gracias a collectd

Instalando collectd en el router #

Puedes hacerlo conectándote al router desde la interfaz web LuCI o a travós de ssh, yo lo he realizado mediante conexión ssh

Lo primero es actualizar la lista de paquetes

opkg update

Instalamos collectd y los plugins que nos interesen:

opkg install collectd
opkg install luci-app-statistics collectd collectd-mod-cpu \
collectd-mod-interface collectd-mod-iwinfo \
collectd-mod-load collectd-mod-memory collectd-mod-network collectd-mod-uptime

Hay muchos mas plugins que quizás te puedan interesar, los puedes encontrar en su wiki.

Habilitamos los servicios

/etc/init.d/luci_statistics enable
/etc/init.d/collectd enable

Configuración #

Entra en la interface web del router y deberías ver una nueva entrada en el menú llamada Statistics. Pulsa en Setup, deberías de ver una pantalla parecida a esta.

En el campo Nombre de máquina pon el nombre que identifique a tu disolutivo. tambión puedes cambiar las opciones que más te interesen, como por ejemplo el tiempo de intervalo de envió de mótricas al servidor.

Ahora pulsa en la pestaña General plugins y habilita los plugins Processor, System Load, Memoria y Tiempo activo. Pulsa en el botón Guardar y Aplicar.

En la pestaña Network plugins, selecciona las Interfaces que quieras monitorizar (lan, wan, wifi, etc).

Tambión en la pestaña Network plugins, selecciona las redes inalámbricas que desees monitorizar, al ogual que en paso anterior pulsa en el botón/Guardar y Aplicar/.

Ahora pulsa en la pestaña Output plugins y habilita el plugin para que podamos enviar las mótricas a Influxdb. Para terminar introducimos la dirección IP del servidor donde esta corriendo Influxdb y el puerto 25826. Pulsa en el botón Guardar y Aplicar.

Deja el plugin RRDTool como está o si quieres lo puedes deshabilitar ya que veremos las graficas en Grafana.

Configurando InfluxDB #

Debemos configurar Influxdb para que recolecte las mótricas del agente collectd.

Editamos el fichero de configuración /etc/influxdb/influxdb.conf para habilitarlo:


[[collectd]]
   enabled = true
   bind-address = ":25826"
   database = "WRT3200"
   retention-policy = ""

  # The collectd service supports either scanning a directory for multiple types
  # db files, or specifying a single db file.
  # typesdb = "/usr/local/share/collectd"
  #
  security-level = "none"
  # auth-file = "/etc/collectd/auth_file"

  # These next lines control how batching works. You should have this enabled
  # otherwise you could get dropped metrics or poor performance. Batching
  # will buffer points in memory if you have many coming in.

  # Flush if this many points get buffered
  batch-size = 5000

  # Number of batches that may be pending in memory
  batch-pending = 10

  # Flush at least this often even if we haven't hit buffer limit
  batch-timeout = "10s"

  # UDP Read buffer size, 0 means OS default. UDP listener will fail if set above OS max.
  read-buffer = 0

  # Multi-value plugins can be handled two ways.
  # "split" will parse and store the multi-value plugin data into separate measurements
  # "join" will parse and store the multi-value plugin as a single multi-value measurement.
  # "split" is the default behavior for backward compatability with previous versions of influxdb.
  parse-multivalue-plugin = "join"

Copiar definiciones de datos #

Para terminar debemos de copiar el fichero type.db que se encuentra el router al dispositivos que tiene servidor Influxdb,

Creamos la carpeta como root:

sudo mkdir /usr/local/share/collectd

Copiamos el fichero, yo lo realzado mediante scp, pero tu puedes elegir la forma que mas te guste

scp root@ROUTER:/usr/share/collectd/types.db /usr/local/share/collectd/types.db

Crear la base de datos #

Me gusta tener una instancia de la base de datos por cada dispositivo del que voy a recibir las mótricas, desde la terminal

influx

create database WRT3200

Por ultimo reiniciamos el servidor de base datos

sudo systemctl restart influxdb

Mótricas en Grafana #

Añadimos una nueva fuente de datos para Influxdb con los datos de conexión del servidor Influxdb y una etiqueta descriptiva.

Introducimos el nombre de la instancia de la base datos y la contraseña.

Como puedes ver ahora dispones de dos fientes de datos, la que configuramos en el anterior articulo y la nueva que acabos de crear.

Si no quieres crearte un tablero desde cero puedes importar este

Ahora te dejo unas capturas de las mótricas recolectadas del router.

Espero que te haya gustado, pasa un buen dia…🐧

Referencias #