¿Que pasa en mis contenedores docker?

Este es uno de los capítulos del tutorial Self hosted, auto alojamiento y soberanía digital. Encontrarás los enlaces a todos los de capítulos, al final de este artículo.

Cuando el número de contenedores #Docker en #Linux que tienes levantados en tu VPS, en tu servidor virtual, en tu servidor físico o en tu Raspberry comienza a aumentar, llega un momento, que es necesario saber que es lo que sucede, ¿que pasa en mis docker?. ¿Están consumiendo muchos recursos?¿Hay alguno que haya disparado los consumos?. Existen multitud de herramientas en el mercado que nos permiten conocer que es lo que está sucediendo, y una de estas herramientas es precisamente Grafana, que en combinación con InfluxDB y Telegraf, te va a permitir tener una idea precisa de lo que está sucediendo en tus contenedores.

¿que pasa en mis contenedores Docker?

¿Que pasa en mis contenedores docker?

Grafana

Grafana es una herramienta de visualización de datos y métricas de código abierto que se utiliza para crear paneles, gráficos y alertas a partir de datos de diversas fuentes, como bases de datos, servicios en la nube y herramientas de monitoreo de infraestructura.

Con Grafana, los usuarios pueden crear visualizaciones interactivas y personalizadas para monitorear el rendimiento de aplicaciones, sistemas y redes. Grafana admite una amplia variedad de fuentes de datos, incluyendo bases de datos de series temporales como InfluxDB y Prometheus, bases de datos SQL como MySQL y PostgreSQL, y servicios en la nube como AWS CloudWatch y Google Cloud Monitoring.

Grafana se utiliza ampliamente en diversas áreas, incluyendo monitoreo de infraestructura, análisis de datos, análisis de negocios y monitoreo de aplicaciones, entre otros.

Grafana y Telegraf

elegraf es un agente de recolección de datos de código abierto que se puede utilizar para recopilar una amplia variedad de métricas de diferentes fuentes, incluyendo contenedores Docker.

Telegraf incluye un plugin de Docker que se puede configurar para recopilar métricas de tus contenedores Docker y enviarlas a una base de datos de series temporales, como InfluxDB. Una vez que hayas configurado Telegraf para recopilar estas métricas, podrás utilizar Grafana para crear paneles y visualizaciones personalizadas a partir de los datos recopilados.

Grafana también tiene soporte para InfluxDB como fuente de datos, lo que te permitirá utilizar Grafana para visualizar los datos de tus contenedores Docker que se han almacenado en InfluxDB a través de Telegraf.

En resumen, también puedes utilizar Telegraf para monitorear tus contenedores Docker y visualizar los datos en Grafana. Telegraf se puede utilizar en conjunto con InfluxDB y Grafana para crear una solución completa de monitoreo y visualización de contenedores Docker.

Telegraf e InfluxDB

InfluxDB es una base de datos de series temporales de código abierto que se utiliza comúnmente para el almacenamiento y la consulta de datos de series temporales. Las bases de datos de series temporales están diseñadas para manejar datos que se recopilan y se almacenan en intervalos regulares a lo largo del tiempo, como las métricas de rendimiento de sistemas y aplicaciones, los datos de sensores y las lecturas de dispositivos IoT.

InfluxDB se basa en un modelo de datos de series temporales y utiliza un lenguaje de consulta llamado InfluxQL para recuperar y manipular datos. InfluxDB tiene características que lo hacen especialmente adecuado para el monitoreo y la observabilidad, como la integración con herramientas de monitoreo y visualización como Grafana y la capacidad de escribir y consultar datos de alta frecuencia con baja latencia.

InfluxDB también incluye otras características que lo hacen útil para una variedad de casos de uso de series temporales, como la retención de datos basada en políticas, la replicación y el clustering, y la capacidad de agregar, dividir y transformar datos de series temporales.

En resumen, InfluxDB es una base de datos de series temporales de código abierto que se utiliza comúnmente para el almacenamiento y la consulta de datos de series temporales, especialmente en el ámbito del monitoreo y la observabilidad.

¿Como combinar Grafana, Telegraf e InfluxDB?

Si como te puedes imaginar, para combinar las tres herramientas y tener levantado un servicio que te permita monitorizar tus contenedores docker de forma sencilla y conocer lo que allí sucede, es utilizando Docker, y en concreto Docker Compose. Para ello, te recomiendo que te des un paseo por mi repositorio de Self Hosted en GitHub, donde encontrarás diferentes soluciones.

En concreto, para este caso concreto, te recomiendo la combinación de Grafana, InfluxDB y Telegraf, que vendría a ser algo como lo que te muestro a continuación,

version: '3.7'

services:

  influxdb:
    image: influxdb:1.8
    container_name: influxdb
    init: true
    environment:
      - GF_INSTALL_PLUGINS
      - GF_SECURITY_ADMIN_USER
      - GF_SECURITY_ADMIN_PASSWORD
      - GF_USERS_ALLOW_SIGN_UP
    volumes:
      - data_influxdb:/var/lib/influxdb
    networks:
      - internal

  telegraf:
    image: telegraf:latest
    container_name: telegraf
    init: true
    links:
      - influxdb
    volumes:
      - ./telegraf.conf:/etc/telegraf/telegraf.conf:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /usr/lib/sysstat:/usr/lib/sysstat
    networks:
      - internal

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    init: true
    environment:
      - INFLUXDB_DATA_ENGINE
      - INFLUXDB_REPORTING_DISABLED
    user: "0"
    links:
      - influxdb
    volumes:
      - data_grafana:/var/lib/grafana
    networks:
      - internal

volumes:
  data_influxdb: {}
  data_grafana: {}

networks:
  internal:

El vídeo,

Lo mismo que te he contado, pero en formato vídeo


Deja una respuesta

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