Introducción
Prometheus es un potente kit de herramientas de monitorización y alerta de código abierto, originalmente desarrollado en SoundCloud. Se ha convertido en un estándar para la monitorización en entornos cloud-native. Sus características principales incluyen un modelo de datos multidimensional, un lenguaje de consulta flexible (PromQL) y una variedad de opciones de visualización.
En este laboratorio, aprenderá la forma más sencilla de poner en marcha una instancia de Prometheus utilizando Docker. Este enfoque evita pasos de instalación complejos y le permite empezar a explorar Prometheus rápidamente. Descargará la imagen oficial de Docker, la ejecutará como un contenedor e interactuará con su interfaz web.
Descargar Imagen de Prometheus Docker
En este paso, descargará la imagen oficial de Docker de Prometheus desde Docker Hub. Docker Hub es un registro público de imágenes de Docker, y prom/prometheus es la imagen oficial mantenida por el equipo de Prometheus.
El comando docker pull descarga la imagen especificada a su máquina local, poniéndola a disposición para ser ejecutada como un contenedor.
Ejecute el siguiente comando en su terminal para descargar la última versión de la imagen de Prometheus:
docker pull prom/prometheus
Verá una salida que indica que las capas de la imagen se están descargando. Una vez completado, la imagen se almacenará localmente.
Salida esperada (los números de versión pueden variar):
Using default tag: latest
latest: Pulling from prom/prometheus
a4ca46b05734: Pull complete
542b5806d2b7: Pull complete
...
Digest: sha256:2c785d4e9af2224941598d142337931a5f8333065916938c6444294020b45f50
Status: Downloaded newer image for prom/prometheus
docker.io/prom/prometheus
Ejecutar Contenedor de Prometheus en el Puerto 9090
En este paso, ejecutará el contenedor de Prometheus utilizando la imagen que acaba de descargar. Usaremos el comando docker run para crear e iniciar el contenedor.
Aquí tiene un desglose de las opciones de comando que utilizaremos:
-d: Ejecuta el contenedor en modo "detached" (en segundo plano).-p 9090:9090: Mapea el puerto 9090 de la máquina anfitriona al puerto 9090 del contenedor. La interfaz web de Prometheus se ejecuta en el puerto 9090 por defecto.--name prometheus: Asigna un nombre fácil de recordar,prometheus, al contenedor para facilitar su referencia.prom/prometheus: Especifica la imagen a utilizar para crear el contenedor.
Ejecute el siguiente comando para iniciar su contenedor de Prometheus:
docker run -d -p 9090:9090 --name prometheus prom/prometheus
El comando mostrará un largo ID de contenedor, confirmando que el contenedor se ha iniciado.
Para verificar que el contenedor se está ejecutando, puede usar el comando docker ps, que lista todos los contenedores en ejecución.
docker ps
Debería ver el contenedor prometheus en la lista, con su estado como "Up".
Salida esperada:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a1b2c3d4e5f6 prom/prometheus "/bin/prometheus --c…" A few seconds ago Up a few seconds 0.0.0.0:9090->9090/tcp prometheus
Acceder a la Interfaz Web de Prometheus en localhost:9090
En este paso, accederá a la interfaz web de Prometheus, que ahora se está ejecutando y está expuesta en el puerto 9090. El entorno de LabEx proporciona una forma conveniente de acceder a los servicios web que se ejecutan dentro de la máquina virtual.
Haga clic en el botón + (Nueva pestaña) ubicado en la parte superior de la interfaz del laboratorio.
Seleccione la opción Web Service e introduzca 9090 como puerto.

Esto abrirá una nueva pestaña del navegador conectada a los servicios que se ejecutan en su entorno de laboratorio.
Dado que hemos mapeado el puerto 9090, la interfaz de usuario de Prometheus estará disponible. Debería ver el Navegador de Expresiones de Prometheus (Prometheus Expression Browser), que es la página principal. Esta interfaz le permite escribir y ejecutar consultas PromQL para explorar métricas.

La presencia de esta página confirma que su contenedor de Prometheus se está ejecutando correctamente y es accesible.
Verificar el Estado del Servicio Prometheus
En este paso, utilizará la interfaz de usuario de Prometheus para verificar el estado y la información de ejecución del propio servicio Prometheus.
En la interfaz de usuario web de Prometheus que abrió en el paso anterior, navegue a la página de estado haciendo clic en el menú Status en la barra de navegación superior y luego seleccionando Runtime & Build Information.
Esta página muestra información detallada sobre la instancia de Prometheus en ejecución, incluida su versión, fecha de compilación y la versión de Go con la que se compiló. Esta es una buena manera de confirmar que el servicio está completamente operativo.
Otra forma de comprobar el estado y las métricas del servidor Prometheus es accediendo a su endpoint /metrics. Este endpoint expone una gran cantidad de métricas internas sobre el propio Prometheus. Puede ver estos datos utilizando curl en su terminal.
curl http://localhost:9090/metrics
La salida será una larga lista de métricas en formato de exposición de Prometheus. Busque una métrica como prometheus_build_info para confirmar que el endpoint está funcionando.
Salida esperada parcial:
## HELP prometheus_build_info A metric with a constant '1' value labeled with the version, revision, branch, and goversion from which prometheus was built.
## TYPE prometheus_build_info gauge
prometheus_build_info{branch="HEAD",goversion="go1.19.5",revision="233d305681c0da67c694b01d832131d173a0552b",version="2.41.0"} 1
...
Explorar los Destinos Predeterminados en la Interfaz de Prometheus
En este paso, explorará el concepto de "objetivos" (targets) en Prometheus. Un objetivo es un endpoint del que Prometheus extrae (scrape) métricas. Por defecto, el servidor Prometheus está configurado para monitorizarse a sí mismo.
En la interfaz de usuario web de Prometheus, navegue a la página de objetivos haciendo clic en el menú Status y luego seleccionando Targets.
En esta página, verá una lista de todos los objetivos de extracción (scrape targets) configurados. Debería ver un grupo de objetivos llamado prometheus con un único endpoint: http://localhost:9090/metrics. Este es el endpoint de métricas del propio servidor Prometheus.

Preste atención a la columna State. Debería mostrar UP en verde. Esto indica que Prometheus se está conectando correctamente al objetivo y extrayendo sus métricas. Si hubiera un problema al conectarse al objetivo, el estado sería "DOWN". Esta página es crucial para diagnosticar problemas con la recopilación de métricas.
Resumen
¡Felicitaciones! Ha instalado y ejecutado correctamente una instancia de Prometheus utilizando Docker. Este laboratorio le ha proporcionado una introducción práctica para comenzar con una de las herramientas de monitorización más populares de la industria.
En este laboratorio, ha aprendido a:
- Descargar la imagen oficial de Docker de Prometheus desde Docker Hub.
- Ejecutar un contenedor de Prometheus y mapear su puerto al host.
- Acceder y navegar por la interfaz de usuario web de Prometheus.
- Verificar el estado del servicio a través de la interfaz de usuario y el endpoint de métricas.
- Explorar la configuración del objetivo de monitorización predeterminado.
Ahora tiene una comprensión fundamental de cómo desplegar Prometheus. Los próximos pasos en su camino podrían implicar aprender a crear un archivo de configuración personalizado para monitorizar otras aplicaciones y servicios.



