En este documento, se proporciona una descripción general de los servicios que proporciona Cloud Monitoring. Estos servicios pueden ayudarte a comprender el comportamiento, el estado y el rendimiento de tus aplicaciones y de otros servicios de Google Cloud. Cloud Monitoring recopila y almacena automáticamente la información de rendimiento de la mayoría de los servicios de Google Cloud. Puedes recopilar métricas de Prometheus mediante Google Cloud Managed Service para Prometheus. Si instalas el Agente de operaciones en tus máquinas virtuales (VMs) de Compute Engine, puedes recopilar métricas y registros de tus aplicaciones y de aplicaciones de terceros.
Los servicios de alertas, pruebas y visualización 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 asistencia de la API y de la consola de Google Cloud para la mayoría de sus servicios. Algunos servicios también admiten
Google Cloud CLI o Terraform. Las páginas de referencia de la API de Cloud Monitoring, como la página alertPolicies.list
, te permiten experimentar con llamadas a la API directamente desde la página de referencia.
Servicios de Cloud Monitoring
Cloud Monitoring proporciona servicios diferentes que puedes usar para comprender el estado y el rendimiento de tus aplicaciones y de los demás servicios de Google Cloud que usas.
Alertas y notificaciones
Para recibir una notificación cuando el valor de una métrica de rendimiento cumpla con los criterios que definiste, crea una política de alertas. La política de alertas incluye la lista de personas o grupos que recibirán notificaciones. Monitoring admite canales de notificación comunes, incluidos el correo electrónico, Cloud Mobile App y servicios como PagerDuty o Slack. Por ejemplo, puedes crear una política de alertas para recibir notificaciones cuando el uso de CPU de una VM supere el 80%.
Cada notificación incluye información relevante sobre una falla y un vínculo a un incidente. Un incidente es un registro persistente que almacena información que puedes usar para solucionar la falla. Por lo general, en un registro se enumera el estado del incidente, los vínculos a los registros, un gráfico de los datos de métricas registrados, las etiquetas y la duración.
El servicio de alertas está integrado en muchos servicios de Google Cloud. Cuando existen estas integraciones, es posible que veas un panel que enumera las alertas recomendadas o un botón en un gráfico que te permita crear una política de alertas. En ambos casos, las políticas de alertas están preconfiguradas; solo debes especificar la lista de personas o grupos a los que se notificará.
Puedes crear y administrar políticas de alertas con la consola de Google Cloud, la API de Cloud Monitoring, Google Cloud CLI o Terraform.
Supervisión y validación proactivas
Para probar la disponibilidad, la coherencia y el rendimiento de los servicios, las aplicaciones, las páginas web y las APIs, crea supervisores sintéticos. Por ejemplo, puedes sondear los extremos HTTP, HTTPS y TCP para determinar si son de respuesta con verificaciones de tiempo de actividad y, luego, recibir notificaciones cuando un extremo no responda. También puedes crear un verificador de vínculos rotos para rastrear una página web y, luego, notificarte cuando se detecten vínculos rotos.
Puedes crear y administrar monitores sintéticos con la consola de Google Cloud, la API de Cloud Monitoring, Google Cloud CLI o Terraform.
Visualización de datos
Si deseas visualizar tus datos para ver tendencias, identificar valores atípicos y ver otros detalles sobre tus datos, puedes usar los servicios de panel y gráficos:
El servicio de panel crea de forma automática un panel administrado por Google Cloud cuando agregas un recurso a tu proyecto de Google Cloud. Por ejemplo, se crea un panel cuando creas una instancia de Compute Engine, una política de alertas o un monitor sintético. Puedes usar estos paneles para ver información de rendimiento y configuración, como el uso del disco o la dirección IP, y ver eventos.
Para controlar qué datos ves y el formato de visualización de esos datos, crea un panel personalizado. Por ejemplo, puedes importar un panel de Grafana o instalar un panel a partir de una plantilla. Los paneles personalizados pueden mostrar gráficos, tablas, registros y grupos de errores, alertas de incidentes y políticas, y texto. También puedes compartir paneles personalizados con personas o grupos de la organización y configurar estos paneles para mostrar eventos.
Puedes crear y administrar paneles mediante la consola de Google Cloud o la API.
El servicio de gráficos, Explorador de métricas, te permite visualizar y explorar rápidamente los datos de series temporales. La configuración del gráfico te permite comparar los datos actuales con los anteriores, mostrar valores atípicos y percentiles, y mostrar varias métricas. También puedes guardar gráficos en un panel personalizado.
Recopilación y almacenamiento de datos
Cloud Monitoring recopila y almacena los siguientes tipos de datos de métricas:
- Métricas del sistema generadas por los servicios de Google Cloud. Estas métricas proporcionan información sobre el funcionamiento de un servicio.
- Las métricas del sistema y de las aplicaciones que recopila el Agente de operaciones sobre los recursos del sistema y las aplicaciones que se ejecutan en instancias de Compute Engine. Puedes configurar el Agente de operaciones para 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 se crean mediante la API de Cloud Monitoring o una biblioteca como OpenTelemetry.
Métricas externas definidas por algunas bibliotecas de código abierto o proveedores de terceros.
Las métricas de Prometheus que se recopilan mediante Google Cloud Managed Service para Prometheus o mediante el Agente de operaciones y el receptor de Prometheus o el receptor de OTLP.
- Métricas basadas en registros que registran información numérica sobre los registros escritos en Cloud Logging. Las métricas basadas en registros definidas por Google incluyen recuentos de los errores que detecta el servicio y la cantidad total de entradas de registro que recibió tu proyecto de Google Cloud. También puedes definir métricas basadas en registros.
Lenguajes de consulta
Cuando creas una política de alertas o un gráfico, debes proporcionar una consulta que describa los datos que deseas supervisar o graficar:
Consola de Google Cloud: Puedes compilar tu consulta mediante selecciones de menús o puedes escribir una consulta. Los editores de consultas están disponibles para el lenguaje de consulta de Prometheus (PromQL) y el lenguaje de consulta de Monitoring (MQL). Los editores de consultas proporcionan sugerencias y verificaciones de sintaxis. También puedes escribir una expresión de filtro de supervisión.
API de Cloud Monitoring: La API admite el lenguaje de consulta de Prometheus (PromQL), las consultas de MQL y las expresiones de filtro de Monitoring.
Supervisa sistemas grandes
En esta sección, se describe cómo administrar recursos como una colección y cómo supervisar métricas almacenadas en varios proyectos de Google Cloud.
Administra recursos como una colección
Para administrar tus recursos como una colección en lugar de individualmente, 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, si agregas instancias de VM de Compute Engine a tu proyecto de Google Cloud), la membresía del grupo cambiará automáticamente. 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 la región 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, consulta Configura grupos de recursos.
Supervisa 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 un permiso de métricas de varios proyectos.
De forma predeterminada, las páginas de Cloud Monitoring en la consola de Google Cloud proporcionan acceso solo a las series temporales almacenadas en el proyecto de permisos. El proyecto de permisos es el que seleccionaste con el selector de proyectos de la consola de Google Cloud. El proyecto de permisos almacena las alertas, los supervisores sintéticos, los paneles y los grupos de supervisión que configuras.
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 métricas para incluir datos de series temporales de otros proyectos de Google Cloud y de cuentas de AWS. Si deseas obtener información para modificar un permiso de métricas, consulta Configura un permiso de métricas para varios proyectos.
Modelo de datos de Cloud Monitoring
En esta sección, se presenta el modelo de datos de Cloud Monitoring:
Un tipo de métrica describe algo que se mide. Los ejemplos de tipos 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, así como información sobre la fuente y el significado de esas mediciones.
Estos son algunos detalles sobre lo que contiene una serie temporal:
El array
points
contiene las medidas con marca de tiempo.El siguiente es un ejemplo de un array
points
con 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.
El campo
resource
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 instancias de Compute Engine y aplicaciones de App Engine. Para obtener una lista de los recursos supervisados, consulta la Lista de recursos supervisadosEl siguiente es un ejemplo de un campo
resource
:"resource": { "type": "gce_instance", "labels": { "instance_id": "2708613220420473591", "zone": "us-east1-b", "project_id": "sampleproject" } }
El campo
type
enumera el recurso supervisado comogce_instance
, lo 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.
El campo
metric
describe lo que se mide.El siguiente es un ejemplo de un campo
metric
:"metric": { "labels": { "instance_name": "test" }, "type": "compute.googleapis.com/instance/cpu/utilization" },
Para los servicios de Google, el campo
type
especifica el servicio y qué se supervisa. En este ejemplo, el servicio de Compute Engine mide el uso de CPU. Cuando el campotype
comienza concustom
oexternal
, la métrica es 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 deMetricDescriptor
, que es una estructura de datos que define los atributos de los datos medidos. ElMetricDescriptor
de la métricacompute.googleapis.com/instance/cpu/utilization
incluye la etiquetainstance_name
.
El campo
metricKind
describe la relación entre las mediciones adyacentes dentro de una serie temporal:Las métricas de
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 de
DELTA
almacenan el cambio en el valor del elemento que se mide durante un período especificado; por ejemplo, un resumen de acciones que muestra las ganancias o pérdidas de la acción.
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 de cada instancia de VM es una serie temporal única. Estas son algunas de las formas en que puedes mostrar estos datos:
- Puedes 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 para un solo valor de la etiqueta
instance_id
. Puedes agrupar por instancias de VM según la etiqueta
machine_type
y, luego, mostrar el uso de CPU promedio. En la siguiente captura de pantalla, se muestra un gráfico con esta configuración:
Precios
En general, las métricas del sistema de Cloud Monitoring son gratuitas y las métricas de los sistemas, los agentes o las aplicaciones externos no lo son. Las métricas facturables se facturan según la cantidad de bytes o de muestras transferidas.
Para obtener más información sobre los precios de Cloud Monitoring, consulta los siguientes documentos:
¿Qué sigue?
- Si quieres explorar Cloud Monitoring, prueba la Guía de inicio rápido para supervisar una instancia de Compute Engine.
- Si quieres obtener información sobre cómo configurar nuestro proyecto de Google Cloud para ver las métricas de varios proyectos de Google Cloud y cuentas de AWS, consulta la Descripción general de los permisos de las métricas.
Para obtener información sobre el modelo de datos de Cloud Monitoring, consulta Métricas, series temporales y recursos.
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.