Compartir comentarios
Las respuestas se generan en base a la documentación.

Monitorea una aplicación Golang con Prometheus y Grafana

Aprende a contenedorizar una aplicación Golang y a monitorizarla con Prometheus y Grafana.
Tiempo estimado 45 minutos

Esta guía te enseña cómo contenedorizar una aplicación Golang y monitorizarla con Prometheus y Grafana.

Agradecimiento

Docker quiere agradecer a Pradumna Saraf por su contribución a esta guía.

Descripción general

Para asegurarte de que tu aplicación funcione según lo previsto, el monitoreo es importante. Una de las herramientas de monitoreo más populares es Prometheus. Prometheus es un conjunto de herramientas de alerta y monitoreo de código abierto diseñado para la confiabilidad y la escalabilidad. Recopila métricas de los objetivos monitoreados extrayendo (scraping) métricas de los endpoints HTTP en estos objetivos. Para visualizar las métricas, puedes usar Grafana. Grafana es una plataforma de código abierto para el monitoreo y la observabilidad con la que puedes consultar, visualizar, configurar alertas y comprender tus métricas sin importar dónde estén almacenadas.

En esta guía, crearás un servidor Golang con algunos endpoints para simular una aplicación del mundo real. Luego, expondrás métricas desde el servidor usando Prometheus. Finalmente, visualizarás las métricas usando Grafana. Contenedorizarás la aplicación Golang y, utilizando el archivo Docker Compose, conectarás todos los servicios: Golang, Prometheus y Grafana.

¿Qué aprenderás?

  • Crear una aplicación Golang con métricas personalizadas de Prometheus.
  • Contenedorizar una aplicación Golang.
  • Utilizar Docker Compose para ejecutar múltiples servicios y conectarlos entre sí para monitorear una aplicación Golang con Prometheus y Grafana.
  • Visualizar las métricas mediante tableros (dashboards) de Grafana.

Requisitos previos

  • Se asume que tienes un buen conocimiento de Golang.
  • Debes estar familiarizado con Prometheus y con la creación de tableros en Grafana.
  • Debes estar familiarizado con los conceptos de Docker, como contenedores, imágenes y Dockerfiles. Si eres nuevo en Docker, puedes comenzar con la guía de conceptos básicos de Docker.

Próximos pasos

Crearás un servidor Golang y expondrás métricas usando Prometheus.

Módulos

  1. Entender la aplicación

    Aprende cómo crear un servidor Golang para registrar métricas con Prometheus.

  2. Contenedorizar tu aplicación

    Aprende cómo contenedorizar una aplicación Golang.

  3. Conectar servicios con Docker Compose

    Aprende cómo conectar servicios con Docker Compose para monitorear una aplicación Golang con Prometheus y Grafana.

  4. Desarrollar tu aplicación

    Aprende cómo desarrollar la aplicación Golang con Docker.