Brains4Cloud
ESEN
Practicar

Tema 8 de 10

D3 · Garantizar el funcionamiento de una solución en la nube

Cloud Monitoring

El apartado 3.4 del temario pide supervisar los recursos: crear alertas a partir de métricas, configurar métricas personalizadas, instalar el Ops Agent, usar Managed Service for Prometheus y apoyarse en Gemini Cloud Assist y Active Assist. Los registros se ven en el siguiente artículo.

Cloud Monitoring recoge, guarda y analiza métricas. Las de la mayoría de los servicios de Google Cloud se recogen automáticamente, sin instalar nada.

Tipo de métricaDe dónde viene
Métricas del sistemaGeneradas por los servicios de Google Cloud
Métricas del agenteEl Ops Agent en las VMs de Compute Engine, incluidas aplicaciones como Apache, Nginx, MongoDB o PostgreSQL
Definidas por el usuarioCreadas con la API de Cloud Monitoring o con bibliotecas como OpenTelemetry
PrometheusManaged Service for Prometheus, o el Ops Agent con el receptor de Prometheus u OTLP
Basadas en logsInformación numérica sacada de las entradas de Cloud Logging

Las consultas de gráficos y alertas se crean con menús, con PromQL o con expresiones de filtro de Monitoring. Metrics Explorer permite explorar series temporales rápidamente y guardar los gráficos en un panel.

Metrics scope: varios proyectos

Por defecto, un proyecto solo ve sus propias métricas. El metrics scope define qué proyectos (y cuentas de AWS) puede ver y monitorizar un proyecto. El proyecto que lo aloja es el proyecto de alcance (scoping project), y en él se guardan las políticas de alertas, las comprobaciones de disponibilidad, los paneles y los grupos.

Práctica recomendada

Usar como proyecto de alcance un proyecto nuevo o sin recursos. Si tiene VMs propias, sus métricas se mezclan con las de los proyectos monitorizados y hay que filtrar en cada gráfico y alerta.

Políticas de alertas

Una política de alertas describe cuándo avisar y a quién. Cuando los datos cumplen la condición, Monitoring crea una alerta (un registro persistente con el estado, enlaces a logs y un gráfico) y envía las notificaciones. Si la condición deja de cumplirse, cierra la alerta y lo notifica.

Basadas en métricas

Evalúan series temporales de Monitoring.

Basadas en logs

Avisan cuando aparece un mensaje concreto en una entrada de log.

Basadas en SQL

Evalúan el resultado de una consulta SQL sobre los logs (en vista previa).

CondiciónSe cumple cuando…
Umbral de métricaEl valor está por encima o por debajo de un umbral durante una ventana
Ausencia de métricaUna serie temporal no tiene datos durante una ventana (máximo 24 horas)
Valor previstoSe prevé que se cruzará el umbral dentro de la ventana de previsión (de 1 hora a 7 días)
PromQLUna expresión PromQL: ratios, varias métricas o umbrales dinámicos
  • Cada política tiene una condición, una lista de canales de notificación y una documentación opcional que aparece en la notificación (por ejemplo, un enlace al runbook).
  • Las integraciones (GKE, Compute Engine, Cloud SQL…) ofrecen alertas recomendadas ya configuradas: solo eliges el canal.
  • Una política no se puede limitar a ciertos horarios. Para pausarla en un mantenimiento se crea un snooze.
  • Con gcloud las políticas se crean a partir de un archivo JSON con su definición.
gcloud monitoring snoozes create --display-name="Maintenance Week" \
  --criteria-policies="projects/my-project/alertPolicies/12345" \
  --start-time="2026-11-01T03:00:00Z" --end-time="2026-11-01T07:00:00Z"

Canales de notificación

Correo electrónico, Cloud Mobile App, PagerDuty, SMS, Slack, webhooks y Pub/Sub. Una política puede tener varios canales.

  • Google recomienda varios tipos de canal por redundancia. Mobile App, PagerDuty, webhooks y Slack comparten el mismo servicio interno; si usas uno, añade correo o Pub/Sub como respaldo.
  • SMS no es totalmente fiable: úsalo siempre con otro canal.
  • Para automatizar acciones a partir de las notificaciones, usa webhooks o Pub/Sub; el formato de los demás puede cambiar.

Métricas personalizadas y basadas en logs

Definidas por el usuario (custom)

  • Datos propios de la aplicación que las métricas integradas no recogen.
  • Google recomienda instrumentar con OpenTelemetry; también Prometheus o la API de Monitoring.
  • El nombre usa el prefijo custom.googleapis.com/.
  • Se cobran.

Basadas en logs

  • Se calculan a partir del contenido de las entradas de log que cumplen un filtro.
  • Contador (cuántas entradas coinciden) o distribución (valores como latencias, en un histograma).
  • No son retroactivas: solo cuentan las entradas recibidas después de crearlas.
  • Pueden tener huecos; en sus alertas conviene configurar cómo tratar los datos ausentes.
gcloud logging metrics create high_severity_count \
  --description="Number of high severity log entries" \
  --log-filter="severity > WARNING"

Las métricas basadas en logs definidas por el usuario se calculan también con los logs excluidos; las del sistema, solo con los incluidos.

Es el agente principal para recoger telemetría de las VMs de Compute Engine: logs, métricas y trazas en un solo proceso. Usa Fluent Bit para los logs y OpenTelemetry Collector para métricas y trazas. Se configura con un archivo YAML.

  • Sin configurar nada recoge los logs del sistema (syslog, Windows Event Log) y métricas como CPU, disco, memoria, swap, red y procesos.
  • Integraciones con aplicaciones de terceros, métricas de Prometheus, métricas y trazas OTLP y métricas de GPU NVIDIA (DCGM).
  • Usa la cuenta de servicio de la VM, que necesita roles/logging.logWriter y roles/monitoring.metricWriter. Hay que tener habilitadas las APIs de Cloud Logging y Cloud Monitoring.
  • No debe convivir con los agentes heredados de Logging o Monitoring (duplicaría datos).
  • Con políticas de agentes se instala en toda una flota de VMs Linux, nuevas y existentes, con un solo comando.
  • No se admite en instancias EC2 de AWS ni en máquinas on-premises.
curl -sSO https://dl.google.com/cloudagents/add-google-cloud-ops-agent-repo.sh
sudo bash add-google-cloud-ops-agent-repo.sh --also-install

Managed Service for Prometheus

Servicio gestionado y multicloud para métricas de Prometheus y OpenTelemetry, sin operar servidores Prometheus. Se consulta con PromQL, así que siguen sirviendo los paneles de Grafana y las alertas existentes. Usa el mismo backend que Cloud Monitoring (Monarch) y guarda los datos 24 meses sin coste adicional.

Modo de recopilaciónCuándo
GestionadaOperador para Kubernetes (GKE y otros). Recomendada en todos los entornos Kubernetes
AutodesplegadaGestionas Prometheus como siempre, con el binario de sustitución de Google
OpenTelemetry CollectorUn solo agente para métricas, logs y trazas en cualquier entorno
Ops AgentVMs de Compute Engine

En Cloud Run se usa un sidecar de Prometheus u OpenTelemetry.

Comprobaciones de disponibilidad y paneles

Las comprobaciones de disponibilidad públicas (uptime checks) envían peticiones HTTP, HTTPS o TCP periódicas desde varias ubicaciones del mundo a una URL, una VM, una app de App Engine, un servicio de Kubernetes, una revisión de Cloud Run o una instancia EC2. Al crearlas puedes añadir una política de alertas. Para recursos en una red privada están las comprobaciones privadas.

  • No cargan recursos de la página ni ejecutan JavaScript, y por defecto no se autentican.
  • Si el recurso está detrás de un firewall, hay que permitir las IP de los servidores de comprobación.
  • Rol en la consola: roles/monitoring.editor.

Google Cloud crea paneles gestionados automáticamente para los recursos. Los paneles personalizados muestran gráficos de métricas, logs, grupos de errores, alertas, texto y eventos; se pueden importar desde Grafana o instalar desde plantillas.

Gemini Cloud Assist y Active Assist

  • Investigaciones: diagnostica problemas a partir de logs, errores o preguntas en lenguaje natural.
  • Investigaciones proactivas de alertas: una política de alertas puede lanzar Gemini Cloud Assist, que agrupa alertas relacionadas y genera un análisis preliminar de la causa raíz con próximos pasos.
  • Puede pasar la investigación a un caso de soporte de Google como contexto.

  • Cartera de herramientas que generan recomendaciones e insights mediante recomendadores.
  • Seis categorías: coste, seguridad, rendimiento, fiabilidad, gestionabilidad y sostenibilidad.
  • Ejemplos: VM inactivas, tipo de máquina, descuentos por compromiso de uso, instancias de Cloud SQL sobredimensionadas, recomendador de IAM, insights de firewall.
  • Se ven en Active Assist, en el contexto de cada servicio, en FinOps hub, en la página Optimization de Cloud Hub, con gcloud o con la API. Se aplican o descartan.

Antes de aplicar una recomendación

Google advierte que alguien de la organización debe evaluar su impacto: aplicarlas sin revisar puede afectar al rendimiento, a la fiabilidad o quitar permisos necesarios. Si se aplican sin revisión humana, hay que tener un plan de vuelta atrás.

Escenarios de examen

SituaciónRespuestaPor qué
Avisar al equipo cuando la CPU de una VM supere el 80 % durante 5 minutosPolítica de alertas con condición de umbral de métricaCondición + canal de notificación.
Ver la memoria usada de las VMs y los logs de ApacheInstalar el Ops AgentRecoge métricas del sistema y logs de terceros.
Un equipo de operaciones debe ver las métricas de 20 proyectos en un solo lugarMetrics scope en un proyecto de alcance sin recursosEs la práctica recomendada.
Contar cuántas veces aparece "payment failed" en los logs y alertarMétrica basada en logs (contador) y una alerta sobre ellaSolo cuenta entradas desde que se crea.
Avisar si el disco va a llegar al 80 % en las próximas 24 horasCondición de valor de métrica previstoVentana de previsión de 1 hora a 7 días.
Silenciar las alertas durante una ventana de mantenimientoCrear un snoozeLas políticas no se pueden limitar a ciertos horarios.
Monitorizar con PromQL las cargas de GKE sin gestionar servidores PrometheusManaged Service for Prometheus con recopilación gestionadaOpción recomendada en Kubernetes; guarda 24 meses.
Encontrar VMs inactivas para ahorrar costesRecomendaciones de Active Assist (Idle VM recommender)Categoría de coste.

Trampas frecuentes del examen

❓ ¿Hay que instalar algo para ver la CPU de una VM en Cloud Monitoring?

No. Las métricas del sistema de los servicios de Google Cloud se recogen automáticamente. El Ops Agent añade métricas del sistema operativo, como la memoria, y logs de aplicaciones.

❓ ¿Una métrica basada en logs recién creada incluye los logs de ayer?

No. Solo cuenta las entradas recibidas después de crearla.

❓ ¿Se puede configurar una política de alertas para que solo funcione en horario laboral?

No. Se evalúa siempre; para pausarla en un periodo concreto se crea un snooze.

❓ ¿Basta con un canal de Slack para alertas críticas?

No es lo recomendado. Slack, PagerDuty, webhooks y Mobile App comparten un punto de fallo; añade correo o Pub/Sub.

❓ ¿Dónde se guardan las alertas y paneles de un metrics scope con varios proyectos?

En el proyecto de alcance (scoping project), que conviene que no tenga recursos propios.

❓ ¿Se pueden tener a la vez el Ops Agent y el agente heredado de Logging?

No se debe: duplicaría los logs o generaría conflictos de métricas. Hay que desinstalar los heredados.

¿Entendiste este tema?

Pon a prueba lo que acabas de aprender

Quieres recibir un aviso cuando el uso de memoria de un grupo de VMs Linux supere el 90 %. En Metrics Explorer no aparece ninguna métrica de memoria para esas VMs. ¿Qué haces primero?

¿Listo para poner a prueba "Cloud Monitoring"?

Preguntas originales, cada una con su explicación.

Empezar un simulacro