GSP1026

Descripción general
En este lab, usarás Managed Service para Prometheus para recopilar métricas de otras fuentes de infraestructura a través de exportadores.
Objetivos
En este lab, aprenderás a hacer lo siguiente:
- Implementar una instancia de GKE
- Configurar el recurso personalizado
PodMonitoring
y la herramienta node-exporter
- Compilar el objeto binario de GMP de forma local y, luego, implementarlo en la instancia de GKE
- Aplicar una configuración de Prometheus para comenzar a recopilar métricas
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
- Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago.
A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- El botón para abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debes usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
-
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}}
También puedes encontrar el nombre de usuario en el panel Detalles del lab.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}}
También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud.
Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
-
Haz clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar.
Activa Cloud Shell
Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
-
Haz clic en Activar Cloud Shell
en la parte superior de la consola de Google Cloud.
-
Haz clic para avanzar por las siguientes ventanas:
- Continúa en la ventana de información de Cloud Shell.
- Autoriza a Cloud Shell para que use tus credenciales para realizar llamadas a la API de Google Cloud.
Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu Project_ID, . El resultado contiene una línea que declara el Project_ID para esta sesión:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud
es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.
- Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
- Haz clic en Autorizar.
Resultado:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project
Resultado:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Nota: Para obtener toda la documentación de gcloud
, en Google Cloud, consulta la guía con la descripción general de gcloud CLI.
Tarea 1: Implementa un clúster de GKE
- Ejecuta el siguiente comando para implementar un clúster de GKE básico:
gcloud beta container clusters create gmp-cluster --num-nodes=1 --zone {{{project_0.default_zone | Zone}}} --enable-managed-prometheus
gcloud container clusters get-credentials gmp-cluster --zone={{{project_0.default_zone | Zone}}}
Tarea 2: Configura un espacio de nombres
- Crea el espacio de nombres de Kubernetes
gmp-test
para los recursos que crees como parte de la aplicación de ejemplo:
kubectl create ns gmp-test
Revisar si se implementó Prometheus
Tarea 3: Implementa la aplicación de ejemplo
El servicio administrado proporciona un manifiesto para una aplicación de ejemplo que emite métricas de Prometheus en su puerto. La aplicación usa tres réplicas.
- Para implementar la aplicación de ejemplo, ejecuta el siguiente comando:
kubectl -n gmp-test apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.2.3/examples/example-app.yaml
Tarea 4: Configura un recurso PodMonitoring
Para transferir los datos de métricas que emite la aplicación de ejemplo, usa el scraping de objetivos. El scraping de objetivos y la transferencia de métricas se configuran con los recursos personalizados de Kubernetes. El servicio administrado usa recursos personalizados (CR) de PodMonitoring.
Un CR de PodMonitoring hace scraping de los objetivos solo en el espacio de nombres en el que se implementa el CR. Para recopilar objetivos en varios espacios de nombres, implementa el mismo CR de PodMonitoring en cada espacio de nombres. Para verificar que el recurso PodMonitoring esté instalado en el espacio de nombres deseado, ejecuta kubectl get podmonitoring -A
.
Para consultar la documentación sobre todos los CR de Managed Service para Prometheus, consulta la referencia de prometheus-engine/doc/api.
El siguiente manifiesto define un recurso PodMonitoring, prom-example
, en el espacio de nombres gmp-test
. El recurso usa un selector de etiquetas de Kubernetes para encontrar todos los Pods del espacio de nombres que tengan la etiqueta app
con el valor prom-example
. Los Pods coincidentes se extraen en un puerto llamado metrics
, cada 30 segundos, en la ruta HTTP /metrics
.
apiVersion: monitoring.googleapis.com/v1alpha1
kind: PodMonitoring
metadata:
name: prom-example
spec:
selector:
matchLabels:
app: prom-example
endpoints:
- port: metrics
interval: 30s
- Para aplicar este recurso, ejecuta el siguiente comando:
kubectl -n gmp-test apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/prometheus-engine/v0.2.3/examples/pod-monitoring.yaml
El recopilador administrado ahora hace scraping de los Pods coincidentes.
Para configurar la recopilación horizontal que se aplica a un rango de Pods en todos los espacios de nombres, usa el recurso ClusterPodMonitoring. El recurso ClusterPodMonitoring proporciona la misma interfaz que el recurso PodMonitoring, pero no limita los Pods detectados en un espacio de nombres determinado.
Nota: Un campo targetLabels adicional proporciona una configuración de reetiquetado de estilo Prometheus simplificada. Puedes usar el reetiquetado para agregar etiquetas de Pod como etiquetas en las series temporales transferidas. No puedes reemplazar las etiquetas de destino obligatorias. Para obtener una lista de estas etiquetas, consulta el recurso prometheus_target.
Si ejecutas recursos en GKE, puedes hacer lo siguiente:
- Para consultar las métricas transferidas por la aplicación de ejemplo, revisa Consulta datos del servicio de Prometheus.
- Si deseas obtener información para filtrar las métricas exportadas y adaptar tus recursos de operador prom, consulta Temas adicionales para la recopilación administrada.
Tarea 5: Descarga el objeto binario de Prometheus
- Descarga el objeto binario de Prometheus del siguiente bucket:
git clone https://github.com/GoogleCloudPlatform/prometheus && cd prometheus
git checkout v2.28.1-gmp.4
wget https://storage.googleapis.com/kochasoft/gsp1026/prometheus
chmod a+x prometheus
Tarea 6: Ejecuta el objeto binario de Prometheus
- Guarda el ID del proyecto en una variable:
export PROJECT_ID=$(gcloud config get-value project)
- Guarda tu zona en una variable. Estos valores se usarán cuando ejecutes tu objeto binario de Prometheus.
export ZONE={{{project_0.default_zone | Zone}}}
- Ejecuta el objeto binario de Prometheus en Cloud Shell con el siguiente comando:
./prometheus \
--config.file=documentation/examples/prometheus.yml --export.label.project-id=$PROJECT_ID --export.label.location=$ZONE
Después de que comience a ejecutarse el archivo binario de Prometheus, deberías poder ir a Prometheus administrado en la IU de la consola y ejecutar una consulta “up” en PromQL para ver que el archivo binario de Prometheus está disponible (mostrará localhost ejecutando uno como el nombre de la instancia).
Tarea 7: Descarga y ejecuta el exportador de nodos
-
Abre una nueva pestaña en Cloud Shell para ejecutar los comandos de node_exporter
.
-
Descarga y ejecuta el exportador en el cuadro de Cloud Shell:
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
tar xvfz node_exporter-1.3.1.linux-amd64.tar.gz
cd node_exporter-1.3.1.linux-amd64
./node_exporter
Nota: Usarás el puerto en el que se ejecuta la herramienta node_exporter
para modificar la configuración de Prometheus en los próximos pasos.
Deberías ver un resultado como este que indica que el exportador de nodos ahora se está ejecutando y exponiendo métricas en el puerto 9100:
ts=2023-03-01T10:27:17.262Z caller=node_exporter.go:199 level=info msg="Listening on" address=:9100
ts=2023-03-01T10:27:17.263Z caller=tls_config.go:195 level=info msg="TLS is disabled." http2=false
Crea un archivo config.yaml
- Detén el objeto binario de Prometheus en ejecución en la 1ª pestaña de Cloud Shell y crea un nuevo archivo de configuración que tomará las métricas del exportador de nodos:
vi config.yaml
- Crea un archivo
config.yaml
con la siguiente especificación:
global:
scrape_interval: 15s
scrape_configs:
- job_name: node
static_configs:
- targets: ['localhost:9100']
- Sube el archivo
config.yaml
que creaste para verificar:
export PROJECT=$(gcloud config get-value project)
gsutil mb -p $PROJECT gs://$PROJECT
gsutil cp config.yaml gs://$PROJECT
gsutil -m acl set -R -a public-read gs://$PROJECT
Revisar si config.yaml se configuró correctamente
- Vuelve a ejecutar Prometheus apuntando al nuevo archivo de configuración con el siguiente comando:
./prometheus --config.file=config.yaml --export.label.project-id=$PROJECT --export.label.location=$ZONE
Usa la siguiente estadística del exportador para ver su recuento en una consulta en PromQL.
- En Cloud Shell, haz clic en el ícono de vista previa en la Web.

- Establece el puerto en
9090
seleccionando Cambiar el puerto de vista previa y obtén una vista previa haciendo clic en Cambiar y obtener vista previa.
Escribe cualquier consulta en el editor de consultas de PromQL con el prefijo “node_”. Esto debería mostrar una lista de entrada de métricas que puedes seleccionar para visualizar en el editor gráfico.
- “node_cpu_seconds_total” proporciona datos gráficos.

Intenta seleccionar otras métricas que aparezcan para ver los datos exportados.
¡Felicitaciones!
En este lab, implementaste una instancia de GKE y configuraste node-exporter
. Luego, configuraste el objeto binario de GMP para transferir métricas desde node-exporter
y visualizaste las métricas.
Próximos pasos y más información
Puedes obtener más información sobre Google Cloud Managed Service para Prometheus.
Capacitación y certificación de Google Cloud
Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.
Última actualización del manual: 16 de abril de 2024
Prueba más reciente del lab: 27 de octubre de 2023
Copyright 2025 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.