Monitorización con Grafana en Docker
Pila de monitoreo de Docker con Grafana, Prometheus, Node-Exporter, cAdvisor y tableros prediseñados.
¿Para que sirve?
Cada uno de lo servicios de este stack estan definidos para la monitorización de rendimiento y la alerta de problemas del servidor:
Grafana:
Grafana es una plataforma de código abierto para la visualización y análisis de datos. Es altamente personalizable y admite una variedad de fuentes de datos, incluidas bases de datos de series temporales como Prometheus, bases de datos de series temporales relacionales, bases de datos SQL y muchos otros servicios de almacenamiento de datos.
Características clave:
Visualización de datos en forma de gráficos, tablas, diagramas de dispersión, etc.
Creación de paneles personalizados para mostrar múltiples métricas y datos.
Alertas basadas en umbrales y condiciones definidas.
Integraciones con una variedad de fuentes de datos y servicios.
Prometheus:
Prometheus es un sistema de monitoreo y alerta de código abierto diseñado para monitorear métricas y series temporales. Fue construido originalmente en SoundCloud y es altamente escalable y confiable. Prometheus recopila métricas de los servicios y aplicaciones monitoreadas a través de un modelo de recolección de datos basado en rascado (scraping) y proporciona capacidades avanzadas de consulta y alerta.
Características clave:
Recolección de métricas a través de la técnica de rascado (scraping) de puntos de acceso HTTP expuestos por los servicios monitoreados.
Almacenamiento de series temporales de métricas de forma eficiente.
Consulta de datos a través de su lenguaje de consulta PromQL.
Configuración de reglas de alerta y generación de alertas basadas en condiciones definidas.
Node Exporter:
Node Exporter es un colector de métricas de host para sistemas basados en Linux y UNIX. Recolecta una amplia variedad de métricas del sistema operativo, como el uso de CPU, memoria, almacenamiento, red y muchos otros indicadores de rendimiento. Estas métricas son expuestas a Prometheus para su posterior almacenamiento, consulta y visualización en Grafana.
Características clave:
Recolección de métricas del sistema operativo y del hardware del host.
Exposición de métricas a través de un punto de acceso HTTP para ser recolectadas por Prometheus.
Métricas detalladas sobre el rendimiento del sistema, incluyendo CPU, memoria, almacenamiento, red y más.
cAdvisor (Container Advisor):
cAdvisor es un agente de monitoreo de contenedores de código abierto desarrollado por Google. Está diseñado para proporcionar métricas y estadísticas detalladas sobre contenedores Docker y otros sistemas de contenedores. cAdvisor recopila información sobre el uso de recursos, el rendimiento y el estado de los contenedores, y la expone a Prometheus para su posterior análisis y visualización.
Características clave:
Recolección de métricas de rendimiento de contenedores Docker, como el uso de CPU, memoria, E/S de disco, red, etc.
Integración con Docker para recolectar métricas de contenedores en tiempo real.
Exposición de métricas a través de un punto de acceso HTTP para ser recolectadas por Prometheus.
Stack de Github
Al terminar de clonar el repositorio, deberás ejecutar el docker-compose.yml
:
El output del docker ps
será este:
Para entrar en grafana deberás ir al navegador y poner http://IP/3000
Configuración manual
Para configurar una pila de monitoreo de Docker con Grafana, Prometheus, Node Exporter y cAdvisor, junto con paneles prediseñados, puede seguir estos pasos:
Ejecuta Prometheus: Inicie un contenedor de Prometheus ejecutando el siguiente comando:
Ejecuta Node Exporter: inicie un contenedor Node Exporter para recopilar métricas a nivel de host con el siguiente comando:
Ejecute cAdvisor: inicie un contenedor de cAdvisor para recopilar métricas a nivel de contenedor ejecutando el siguiente comando:
Instala Grafana: configure un contenedor de Grafana con el siguiente comando:
Acceda a Grafana: abra un navegador web y vaya a `
http://localhost:3000
` para acceder a la interfaz web de Grafana.Configure Prometheus como fuente de datos: en la interfaz web de Grafana, vaya a Configuración > Fuentes de datos > Agregar fuente de datos. Seleccione "Prometheus" como tipo y proporcione `
http://localhost:9090
` como URL. Guarde y pruebe la configuración.Importe tableros preconstruidos: Grafana tiene un repositorio impulsado por la comunidad de tableros preconstruidos llamado Grafana Dashboards. Puede explorar los paneles disponibles, encontrar uno adecuado para sus necesidades e importarlo a Grafana. Para importar un tablero, vaya a la interfaz web de Grafana, haga clic en el ícono "+" en la barra lateral izquierda, seleccione "Importar" y proporcione el ID del tablero o el archivo JSON.
Personalice y supervise Docker: una vez que se importa el tablero, puede personalizarlo aún más según sus requisitos. Los paneles preconstruidos generalmente brindan métricas relacionadas con el estado del contenedor, la utilización de recursos, la actividad de la red y más.
Al seguir estos pasos, puede configurar una pila de monitoreo de Docker con Grafana, Prometheus, Node Exporter y cAdvisor, además de utilizar tableros prediseñados para visualizar las métricas recopiladas de los contenedores de Docker y el sistema host subyacente.
Última actualización