¡Esta es una revisión vieja del documento!
Tabla de Contenidos
Grafana
Instalación
Docker
version: '3' services: app: container_name: grafana image: grafana/grafana ports: - 3000:3000
Consideraciones
La mayoría de los paneles de Grafana esperan series temporales. Para estos casos, al hacer escribir consultas SQL, se deben incluir una columna llamada time. La siguiente consulta:
SELECT 10 AS VALUE FROM tabla
Fallará al no haber ningún dato temporal.
Found no column named time or time_sec
Macros
$__timeGroup(dateColumn, '5m', 0)$__unixEpochGroup(dateColumn, '5m', 0)
El último parámetro es el valor con el que rellenar el intervalo. Útil cuando se necesitan valores para todos los intervalos. Es decir, si no tenemos datos para cierto intervalo, los anteriores macros añadirán un 0.
SELECT $__time(TIME), SUM(opened) AS "Abiertas", SUM(closed) AS "Cerradas" FROM activity WHERE $__unixEpochFilter(TIME) GROUP BY 1
Uso
Credenciales por defecto:
- Usuario:
admin - Contraseña:
admin
La primera vez que iniciamos nos pide que cambiemos la contraseña del administrador.
Alertas
Antes de poder crear alertas hay que crear un canal de notificación: Alerting → Notification channels → New Channel.
Elegimos el tipo de canal (medio por el que se enviará la alerta), cubrimos la configuración solicitada y podemos hacer una prueba antes de guardarlo para confirmar su correcto funcionamiento.
Completar la explicación sobre configuración y uso de alertas.
Dashboards
Cuadros de mando ya configurados. Importar, elegir el origen de datos y listo.
Algunos interesantes:
- https://grafana.com/grafana/dashboards/928: Telegraf: system dashboard
- https://grafana.com/grafana/dashboards/10578: Raspberry Pi monitoring
- https://grafana.com/grafana/dashboards/10581: Host Dashboard
Para cambiar el nombre, dentro del panel, pulsamos en el botón de Settings (el de la rueda dentada), vamos a la pestaña General y modificamos el valor del campo Name.
Plugins
Grafana e InfluxDb
Es habitual montar ambas herrmientas para tener un sistema de monitorización: grafana para la visualización e influxdb para el almacenamiento de las métricas.
Docker
Creamos una red docker previamente:
docker network create monitoring
Esto nos permite agrupar los contenedores en una misma red y que puedan “verse” mediante el nombre de los contenedores.
version: '3' services: app: container_name: grafana image: grafana/grafana ports: - 3000:3000 user: "1000" restart: always volumes: - ./grafana-data:/var/lib/grafana influxdb: image: influxdb container_name: influxdb restart: always ports: - 8086:8086 volumes: - ./influxdb-data:/var/lib/influxdb networks: default: external: name: monitoring
