Introducción
Grafana es una plataforma líder de código abierto para monitoreo y observabilidad. Te permite consultar, visualizar, alertar y comprender tus métricas sin importar dónde estén almacenadas. Con Grafana, puedes crear, explorar y compartir dashboards con tu equipo y fomentar una cultura basada en datos.
En este laboratorio usarás Docker para configurar Grafana de forma rápida y sencilla. Iniciarás Prometheus como fuente de datos antes de iniciar Grafana. Las descargas de imágenes se muestran en Terminal para que puedas observar el progreso y reintentar los fallos. Tu objetivo es instalar Grafana en su propio contenedor y conectarlo a Prometheus, preparando futuras tareas de visualización.
Preparar Prometheus y descargar las imágenes de Grafana
En este paso, prepararás el servicio de métricas y descargarás Grafana. Prometheus recopila métricas; Grafana las consulta para visualizarlas. El archivo inicial de configuración de Prometheus ya está preparado. Tú iniciarás los contenedores.
Trabaja en el directorio del proyecto.
cd /home/labex/project
Cada etiqueta fija selecciona la versión utilizada en este laboratorio. Las descargas pueden tardar varios minutos. Espera a que cada comando devuelva el indicador. Si una descarga falla, repite ese mismo comando; Docker reutiliza las capas completadas. No continúes mientras una descarga esté incompleta.
docker pull prom/prometheus:v3.3.0
docker pull grafana/grafana:11.6.0
docker network create crea una red donde los contenedores pueden resolver sus nombres. docker run -d inicia un contenedor en segundo plano; --name lo nombra, --network lo conecta a esa red y -p asigna un puerto del host a uno del contenedor. El montaje de enlace de solo lectura (-v ...:ro) permite que Prometheus lea la configuración preparada.
docker network create monitoring
docker run -d --name prometheus --network monitoring -p 9090:9090 -v /home/labex/project/prometheus.yml:/etc/prometheus/prometheus.yml:ro prom/prometheus:v3.3.0
Las opciones de curl informan de fallos HTTP y reintentan los errores temporales de inicio hasta 30 veces, con dos segundos de intervalo. Un contenedor en ejecución aún puede estar inicializándose, por lo que debes esperar a que la comprobación de salud tenga éxito antes de continuar.
curl --fail --silent --show-error --retry 30 --retry-delay 2 --retry-connrefused --retry-all-errors http://localhost:9090/-/ready
Una respuesta correcta indica Prometheus Server is Ready.. La imagen de Grafana ya está disponible para el siguiente paso.
Ejecutar Grafana en el puerto 8080 del host
En este paso, ejecutarás la imagen de Grafana como un contenedor. Utilizaremos el comando docker run, que crea e inicia un nuevo contenedor a partir de una imagen especificada.
También utilizaremos varias banderas para configurar el contenedor:
-d: Ejecuta el contenedor en modo "detached" (en segundo plano).-p 8080:3000: Mapea el puerto 8080 de la máquina anfitriona al puerto 3000 del contenedor. Esto hace que la interfaz web de Grafana sea accesible desde tu navegador, evitando conflictos con servicios que ya utilicen el puerto 3000.--name grafana: Asigna un nombre personalizado al contenedor para facilitar su referencia.--network monitoring: Conecta el contenedor a la redmonitoring. Esto es crucial, ya que permite que este contenedor de Grafana se comunique con el contenedor de Prometheus (que está en la misma red) utilizando sus nombres de contenedor.
Ejecuta el siguiente comando para iniciar tu contenedor de Grafana:
docker run -d -p 8080:3000 --name grafana --network monitoring grafana/grafana:11.6.0
El comando mostrará una cadena larga, que es el ID único del contenedor recién creado.
a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6
Puedes verificar que el contenedor se está ejecutando con el comando docker ps.
docker ps
Deberías ver el contenedor grafana listado con el estado Up.
Las opciones de curl informan de fallos HTTP y reintentan los errores temporales de inicio hasta 30 veces, con dos segundos de intervalo. Un contenedor en ejecución aún puede estar inicializándose, por lo que debes esperar a que la comprobación de salud tenga éxito antes de continuar.
curl --fail --silent --show-error --retry 30 --retry-delay 2 --retry-connrefused --retry-all-errors http://localhost:8080/api/health
La respuesta debe contener "database": "ok".
Abrir la interfaz de Grafana
En este paso, abrirás el servicio que has iniciado. Selecciona la pestaña Grafana del laboratorio después de que la comprobación de salud tenga éxito. Si el navegador bloquea el inicio de sesión incrustado, usa el control para abrir esa pestaña en una nueva pestaña del navegador.
Deberías ver el formulario de inicio de sesión de Grafana. Esta interfaz abre Grafana dentro de la VM; localhost en tu propio navegador apuntaría a tu equipo, no a la VM. Mantén Terminal disponible para comprobar los contenedores.
Primer Inicio de Sesión y Configuración de Contraseña
En este paso, iniciarás sesión en Grafana por primera vez. Una instancia nueva muestra una pantalla de cambio de contraseña tras el primer inicio de sesión.
Las credenciales predeterminadas son usuario admin y contraseña admin. Introdúcelas en el formulario y pulsa Log in.
En la pantalla de cambio de contraseña, pulsa Skip. Conserva las credenciales predeterminadas en este laboratorio temporal, ya que las verificaciones las utilizan para inspeccionar tu fuente de datos. En producción, reemplaza las credenciales predeterminadas por una contraseña segura.
Ahora deberías ver la página principal de Grafana y estar listo para configurar su conexión con Prometheus.
Añadir Prometheus como Fuente de Datos en Grafana
En este paso, conectarás Grafana a la instancia de Prometheus que iniciaste en el primer paso. Esto permitirá que Grafana consulte métricas de Prometheus.
Sigue estas instrucciones dentro de la interfaz de usuario de Grafana:
En el menú de la izquierda, haz clic en el icono Connections (parece un enchufe o conector). En la página Connections, haz clic en Data sources. En la página Data sources, haz clic en el botón Add data source. De la lista de tipos de fuentes de datos disponibles, selecciona Prometheus.
Establece Name en Prometheus.
Ahora necesitas configurar los ajustes de conexión. El ajuste más importante es la URL.
- En el campo Prometheus server URL, introduce
http://prometheus:9090.
Esta URL funciona porque tanto los contenedores de Grafana como los de Prometheus están conectados a la misma red de Docker (monitoring). El DNS interno de Docker permite que los contenedores en la misma red se resuelvan entre sí por su nombre de contenedor (prometheus en este caso).
Después de introducir la URL, desplázate hasta la parte inferior de la página y haz clic en el botón Save & test.
Grafana intentará conectarse al servidor Prometheus. Si la conexión es exitosa, verás una notificación verde que dice "Successfully queried the Prometheus API".
Ahora puedes seguir la guía para explorar las funcionalidades de Grafana. Después de añadir Prometheus como fuente de datos, siéntete libre de hacer clic en Explore en el menú de la izquierda. Aquí, puedes ejecutar consultas contra tus datos de Prometheus y visualizar los resultados en tiempo real. ¡Prueba diferentes consultas para familiarizarte con cómo Grafana interactúa con tus métricas!
Resumen
¡Felicidades! Has completado con éxito este laboratorio.
En este laboratorio, has aprendido varias habilidades fundamentales para trabajar con Grafana y Docker:
- Cómo descargar una imagen oficial de Docker desde Docker Hub.
- Cómo ejecutar un contenedor Docker con configuraciones de red y puertos específicas.
- Cómo acceder a una aplicación web que se ejecuta dentro de un contenedor.
- Cómo realizar la configuración de seguridad inicial para una nueva instancia de Grafana.
- Cómo conectar Grafana a una fuente de datos Prometheus dentro de una red Docker compartida.
Ahora tienes una instancia de Grafana completamente funcional conectada a una fuente de datos, lista para que comiences a crear potentes e informativas visualizaciones (dashboards) para tus datos.



