En este documento, se proporciona una descripción general de Cloud Monitoring, que forma parte del operations suite de Google Cloud. Cloud Monitoring se integra en la mayoría de los servicios de Google Cloud y recopila y almacena automáticamente información sobre el rendimiento de esos servicios. También puede recopilar métricas de sistemas y aplicaciones de aplicaciones de terceros. Las herramientas de visualización y análisis de datos que proporciona Cloud Monitoring te ayudan a responder preguntas importantes, como las siguientes:
- ¿Cuál es la carga de mi servicio?
- ¿Mi sitio web responde correctamente?
- ¿Mi servicio funciona bien?
Cloud Monitoring proporciona compatibilidad con la consola y la API de Google Cloud para la mayoría de sus servicios, y las páginas de referencia de la API de Cloud Monitoring, como la página alertPolicies.list
, te permiten experimentar con las llamadas a la API directamente desde la página de referencia.
Este documento está dirigido a desarrolladores y administradores de sistemas que necesitan supervisar el rendimiento de un servicio o sistema.
Supervise la carga de un servicio
Para comprender la carga actual de un servicio o ver los datos de rendimiento de tu servicio del mes pasado, usa las herramientas de gráficos. Puedes graficar y supervisar los datos de métricas (numéricos) que recopila tu proyecto de Google Cloud, incluidos los siguientes:
Métricas del sistema generadas por los servicios de Google Cloud. Estas métricas proporcionan información sobre el funcionamiento del servicio. Por ejemplo, Compute Engine informa más de 25 métricas únicas para cada instancia de máquina virtual (VM). Para obtener una lista completa de las métricas, consulta Métricas de Google Cloud.
Métricas del sistema y de la aplicación que recopilan los agentes de Google Cloud's operations suite. Estas métricas proporcionan información adicional sobre los recursos del sistema y las aplicaciones que se ejecutan en instancias de Compute Engine. De manera opcional, puedes configurar el agente de modo que recopile métricas de complementos de terceros, como los servidores web Apache o Nginx, o las bases de datos de MongoDB o PostgreSQL.
Métricas definidas por el usuario que tu servicio escriba mediante la API de Cloud Monitoring o una biblioteca como OpenTelemetry.
Métricas basadas en registros, que recopilan información numérica sobre los registros escritos en Cloud Logging. Las métricas basadas en registros definidas por Google incluyen recuentos de errores que tu servicio detecta y la cantidad total de entradas de registro que recibió tu proyecto de Google Cloud. También puedes definir métricas basadas en registros. Por ejemplo, puedes crear una métrica que cuente la cantidad de errores
404 Not Found
de una aplicación implementada en App Engine.
Para visualizar tus datos y ver las tendencias, identificar valores atípicos y ver otros detalles sobre tus datos, puedes usar las siguientes herramientas:
Paneles de Google Cloud: Cloud Monitoring crea automáticamente estos paneles según los recursos que usa tu proyecto de Google Cloud.
Por ejemplo, cuando un proyecto de Google Cloud contiene instancias de VM de Compute Engine, los paneles para esas instancias de VM y discos se crean automáticamente. Mediante el panel Instancias de VM, puedes ver detalles como el uso del disco y la memoria, identificar direcciones IP y, además, identificar qué VM están descartando paquetes de red. En este panel, también se muestra información sobre tu uso del agente de Cloud Monitoring y se proporcionan sugerencias para la instrumentación.
Paneles personalizados: Puedes crear o instalar estos paneles. Los paneles personalizados te permiten definir qué datos quieres ver y cómo verlos. Por ejemplo, puedes mostrar datos de métricas, políticas de alertas y registros almacenados en tu proyecto de Google Cloud. Puedes mostrar datos de series temporales en un gráfico, con un indicador o cuadro de evaluación, o en formato tabular. Los paneles también admiten widgets de texto. Puedes crear un panel personalizado con la API de Dashboards o la consola de Google Cloud.
Gráficos: Puedes agregar gráficos a un panel personalizado o puedes usar el Explorador de métricas, una herramienta de gráficos diseñada para permitirte crear gráficos y explorar datos de series temporales con rapidez. Puedes guardar gráficos creados con el Explorador de métricas en un panel personalizado.
Cuando creas un gráfico, debes seleccionar los datos de serie temporal que deseas ver. Por ejemplo, puedes configurar un gráfico para que muestre datos de instancias de VM de Compute Engine que se encuentran en la zona us-east-1d.
La configuración del gráfico te permite comparar los datos actuales con los datos anteriores, mostrar valores atípicos y percentiles, y mostrar varias métricas. Por ejemplo, la siguiente captura de pantalla muestra un gráfico que muestra la cantidad de bytes leídos y escritos por una sola VM:
Para obtener más información sobre cómo ver datos de series temporales, consulta Usa paneles y gráficos.
Supervisa la disponibilidad del sitio web
Para supervisar si un sitio web responde, configura una verificación de tiempo de actividad. Estas verificaciones sondean periódicamente el servicio de un modo que imita la forma en que los clientes acceden a él y, luego, registran el éxito y la latencia del sondeo.
Para ver información sobre tus verificaciones de tiempo de actividad, Cloud Monitoring proporciona un panel que resume el estado de cada verificación de tiempo de actividad y un panel con información detallada de cada una. En la vista de detalles de una verificación de tiempo de actividad, se muestra el éxito o el fracaso de la respuesta y la latencia de la respuesta, junto con los detalles sobre la verificación del tiempo de actividad:
Para obtener más información sobre este tema, consulta Administra verificaciones de tiempo de actividad.
Recibe notificaciones cuando un servicio no tenga un buen rendimiento
Si deseas recibir una notificación cuando el rendimiento de un servicio cumpla con los criterios que definiste, crea una política de alertas.
Por ejemplo, puedes crear una política de alertas que notifique a tu equipo de guardia cuando el percentil 90 de la latencia de las respuestas HTTP 200
de tu servicio supere los 100 ms. De manera similar, puedes recibir una notificación cuando falla una verificación de tiempo de actividad.
Las políticas de alertas te permiten configurar si una sola serie temporal puede hacer que se cumpla una condición o si varias series temporales deben satisfacerla antes de que se cumpla. Las políticas de alertas pueden ser simples o complejas. Por ejemplo:
Notificarme cuando falle una verificación de tiempo de actividad del dominio
example.com
durante al menos tres minutos.Notifica al equipo de guardia cuando el percentil 90 de las respuestas HTTP
200
supere una latencia de 100 ms para 3 servidores web o más en 2 ubicaciones de Google Cloud, siempre que haya menos de 15 QPS en el servidor.Notificarme cuando la carga de CPU de cualquier instancia de VM en mi proyecto de Google Cloud sea mayor que un umbral de 0.6
Cloud Monitoring proporciona un panel que resume el estado de tus políticas de alertas y, para cada una, proporciona información detallada. Como se muestra en la siguiente captura de pantalla, el panel detallado de una alerta muestra los datos que se supervisan, el umbral de alerta, los canales de notificaciones, una lista de incidentes y cualquier documentación definida por el usuario que se incluya en una notificación:
Las condiciones son el componente central de una política de alertas. Una condición describe un posible problema con el sistema que quieres que Cloud Monitoring supervise. Por ejemplo, puedes describir condiciones como las siguientes:
- Cualquier verificación de tiempo de actividad al dominio
example.com
falla durante al menos tres minutos. - El espacio libre de cualquier instancia de VM supervisada es inferior al 10%.
Cuando se cumplen las condiciones de una política de alertas, por ejemplo, cuando cada verificación de tiempo de actividad del dominio example.com
falla durante tres minutos, Cloud Monitoring abre un incidente y emite notificaciones.
Un incidente es un registro persistente que almacena información sobre el recurso que se supervisa. Por ejemplo, una política de alertas que supervisa el uso de CPU almacenará información sobre la VM cuyo uso hace que se cumpla la condición. Cuando la condición deja de cumplirse, el incidente se cierra automáticamente. Puedes ver todos los incidentes, tanto abiertos como cerrados, mediante el panel de alertas.
Tú especificas quién recibirá una notificación cuando configures una política de alertas. Monitoring admite canales comunes de notificaciones, incluidos el correo electrónico, Cloud Mobile App y servicios como PagerDuty o Slack. Para obtener una lista completa de los canales de notificaciones, consulta Cómo crear y administrar canales de notificaciones.
Para obtener más información sobre las políticas de alertas, consulta Descripción general de las alertas.
Supervisar sistemas grandes
En esta sección, se describe cómo puedes administrar los recursos como una colección y cómo supervisar las métricas que se almacenan en varios proyectos de Google Cloud.
Administra recursos como una colección
Para administrar los recursos como una colección en lugar de hacerlo de forma individual, crea un grupo de recursos. Un grupo de recursos es una colección dinámica de recursos que cumplen con algunos criterios que proporcionas. A medida que agregas y quitas recursos, por ejemplo, cuando agregas instancias de VM de Compute Engine a tu proyecto de Google Cloud, la membresía del grupo cambia de forma automática. Los siguientes son ejemplos de grupos de recursos:
- Instancias de Compute Engine cuyos nombres comienzan con la string
prod-
. - Recursos con la etiqueta
test-cluster
. - Instancias de Amazon EC2 en la región A o B.
Después de definir un grupo de recursos, puedes supervisarlo como si fuera un solo recurso. Por ejemplo, puedes configurar una verificación de tiempo de actividad para supervisar un grupo de recursos. Para los gráficos y las políticas de alertas, también puedes filtrar según el nombre del grupo.
Para obtener más información sobre este tema, consulta Configura grupos de recursos.
Supervisar las métricas de varios proyectos de Google Cloud
Para ver y supervisar los datos de series temporales de varios proyectos de Google Cloud y cuentas de AWS a través de una sola interfaz, configura el alcance de las métricas de varios proyectos.
De forma predeterminada, las páginas de Cloud Monitoring en Google Cloud Console proporcionan acceso solo a las series temporales almacenadas en el proyecto de permisos. El proyecto de permisos es el que seleccionaste mediante el selector de proyectos de la consola de Google Cloud. El proyecto de alcance almacena las alertas, verificaciones de tiempo de actividad, paneles y grupos de supervisión que configures.
El proyecto de permisos también aloja un permiso de métricas. El permiso de métricas define los proyectos y las cuentas cuyas métricas son visibles para el proyecto de permisos. Puedes configurar el permiso de las métricas para incluir datos de series temporales de otros proyectos de Google Cloud y de cuentas de AWS. Si quieres obtener información para modificar el alcance de las métricas, consulta Configura el alcance de las métricas para varios proyectos.
Modelo de datos de Cloud Monitoring
En esta sección, se presenta el modelo de datos de Cloud Monitoring:
Una métrica describe algo que se mide. Los ejemplos de métricas incluyen el uso de CPU de una VM y el porcentaje de un disco que se usa.
Una serie temporal es una estructura de datos que contiene mediciones de una métrica con marca de tiempo y la información sobre la fuente y el significado de esas mediciones.
Por ejemplo, a continuación se muestra una serie temporal:
"timeSeries": [ { "points": [ { "interval": { "startTime": "2020-07-27T20:20:21.597143Z", "endTime": "2020-07-27T20:20:21.597143Z" }, "value": { "doubleValue": 0.473005 } }, { "interval": { "startTime": "2020-07-27T20:19:21.597239Z", "endTime": "2020-07-27T20:19:21.597239Z" }, "value": { "doubleValue": 0.473025 } }, ], "resource": { "type": "gce_instance", "labels": { "instance_id": "2708613220420473591", "zone": "us-east1-b", "project_id": "sampleproject" } }, "metric": { "labels": { "device": "sda1", "state": "free" }, "type": "agent.googleapis.com/disk/percent_used" }, "metricKind": "GAUGE", "valueType": "DOUBLE", },
Estos son algunos detalles sobre el contenido de una serie temporal:
El array
points
contiene las medidas con marca de tiempo.En el ejemplo anterior, el array
points
contiene dos valores:"points": [ { "interval": { "startTime": "2020-07-27T20:20:21.597143Z", "endTime": "2020-07-27T20:20:21.597143Z" }, "value": { "doubleValue": 0.473005 } }, { "interval": { "startTime": "2020-07-27T20:19:21.597239Z", "endTime": "2020-07-27T20:19:21.597239Z" }, "value": { "doubleValue": 0.473025 } }, ],
Para comprender el significado de un valor, debes consultar los otros datos incluidos en las series temporales y las definiciones de esos datos.
En el campo
resource
, se describe el componente de hardware o software que se supervisa. En Cloud Monitoring, el componente de hardware o software se conoce como el recurso supervisado. Algunos ejemplos de recursos supervisados incluyen las instancias de Compute Engine y las aplicaciones de App Engine. Para obtener una lista completa de los recursos supervisados, consulta la Lista de recursos supervisados.En el ejemplo anterior, el campo
resource
es como se muestra a continuación:"resource": { "type": "gce_instance", "labels": { "instance_id": "2708613220420473591", "zone": "us-east1-b", "project_id": "sampleproject" }
En el campo
type
, se muestra el recurso supervisado como ungce_instance
, que indica que estas mediciones se realizan en una instancia de VM de Compute Engine.El campo
labels
contiene pares clave-valor que proporcionan información adicional sobre el recurso supervisado. Para un tipogce_instance
, las etiquetas identifican la instancia de VM que se supervisa.
En el campo
metric
, se describe lo que se mide.En el ejemplo anterior, el campo
metric
es como se muestra a continuación:"metric": { "labels": { "device": "sda1", "state": "free" }, "type": "agent.googleapis.com/disk/percent_used" },
En los servicios de Google, el campo
type
especifica el servicio y lo que se supervisa. En este ejemplo, el agente de Cloud Monitoring es el servicio y mide el porcentaje del disco que se usa. Cuando el campotype
comienza concustom
oexternal
, la métrica es una métrica personalizada o una definida por un tercero.El campo
labels
contiene pares clave-valor que proporcionan información adicional sobre la medición. Estas etiquetas se definen como parte delMetricDescriptor
, que es una estructura de datos que define los atributos de los datos medidos. ElMetricDescriptor
de la métricaagent.googleapis.com/disk/percent_used
incluye las etiquetasdevice
ystate
.
El campo
metricKind
describe la relación entre las mediciones adyacentes dentro de una serie temporal:Las métricas
GAUGE
almacenan el valor de lo que se mide en un momento determinado, por ejemplo, un registro de temperatura por hora.Las métricas
CUMULATIVE
almacenan el valor acumulado de lo que se mide en un momento determinado, por ejemplo, un odómetro en un vehículo.Las métricas
DELTA
almacenan el cambio en el valor de lo que se mide durante un período específico, por ejemplo, un resumen de acciones que muestra las ganancias o pérdidas de las acciones.
El campo
valueType
describe el tipo de datos para la medición:INT64
,DOUBLE
,BOOL
,STRING
, oDISTRIBUTION
.
Cloud Monitoring escribe una serie temporal para cada combinación de valores de etiquetas de recursos y métricas. Puedes usar estas etiquetas para agrupar y filtrar series temporales. Por ejemplo, cuando un proyecto de Google Cloud contiene varias instancias de VM de Compute Engine, el uso de CPU para cada instancia de VM es una serie temporal única. Estas son algunas de las maneras en las que puedes mostrar estos datos:
- Puede mostrar el uso de CPU de cada instancia de VM.
- Puedes mostrar el uso de CPU de una instancia de VM específica si filtras las series temporales por un valor único de la etiqueta
instance_id
. Puedes agrupar por instancias de VM según la etiqueta
machine_type
y, luego, mostrar el uso promedio de CPU. En la siguiente captura de pantalla, se muestra un gráfico con esta configuración:
¿Qué sigue?
Para explorar Cloud Monitoring, prueba la Guía de inicio rápido para supervisar una instancia de Compute Engine.
Para obtener información sobre cómo configurar nuestro proyecto de Google Cloud a fin de ver métricas de varios proyectos de Google Cloud y cuentas de AWS, consulta Descripción general de los alcances de las métricas.
Para obtener información sobre la API de Cloud Monitoring, consulta API y referencia.
Para obtener listas de métricas y recursos supervisados, consulta la Lista de métricas y la Lista de recursos supervisados.
Para obtener información sobre los precios, las cuotas y los límites, consulta Recursos.