Información general sobre Cloud Monitoring

En este documento se ofrece una descripción general de los servicios que proporciona Cloud Monitoring. Estos servicios pueden ayudarte a entender el comportamiento, el estado y el rendimiento de tus aplicaciones y de otros servicios de Google Cloud . Cloud Monitoring recoge y almacena automáticamente información sobre el rendimiento de la mayoría de los Google Cloud servicios. Puede recoger métricas de Prometheus mediante Google Cloud Managed Service para Prometheus. Si instalas el Agente de operaciones en tus máquinas virtuales de Compute Engine, puedes recoger métricas y registros de tus aplicaciones y de aplicaciones de terceros.

Los servicios de alertas, pruebas y visualización que ofrece Cloud Monitoring te ayudan a responder preguntas importantes como las siguientes:

  • ¿Cuál es la carga de mi servicio?
  • ¿Responde correctamente mi sitio web?
  • ¿Mi servicio funciona correctamente?
  • ¿Cuál es el estado de mi aplicación App Hub?

Cloud Monitoring ofrece compatibilidad con la Google Cloud consola y la API 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 ofrece diferentes servicios que puedes usar para conocer el estado y el rendimiento de tus aplicaciones y de otros Google Cloud servicios que utilices.

Incidentes y notificaciones

Para recibir una notificación cuando el valor de una métrica de rendimiento cumpla los criterios que definas, crea una política de alertas. La política de alertas incluye la lista de personas o grupos que deben recibir notificaciones. Monitoring admite canales de notificación habituales, como el correo electrónico, la aplicación móvil Cloud y servicios como PagerDuty o Slack. Por ejemplo, puedes crear una política de alertas para recibir una notificación cuando la utilización de la CPU de una VM supere el 80%.

Cada notificación incluye información relevante sobre un fallo y un enlace a un incidente. Un incidente es un registro persistente que almacena información que puedes usar para solucionar el problema. Normalmente, un registro muestra el estado del incidente, enlaces a los registros, un gráfico de los datos de métricas registrados, etiquetas y la duración.

El servicio de alertas está integrado con muchos servicios Google Cloud . Cuando estas integraciones estén disponibles, puede que veas un panel con una lista de 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, por lo que solo tienes que especificar la lista de personas o grupos a los que se les enviarán las notificaciones.

Puedes crear y gestionar políticas de alertas mediante la Google Cloud consola, la API Cloud Monitoring, la CLI de Google Cloud o Terraform.

Monitorización y validación proactivas

Para probar la disponibilidad, la coherencia y el rendimiento de tus servicios, aplicaciones, páginas web y APIs, crea monitores sintéticos. Por ejemplo, puedes sondear endpoints HTTP, HTTPS y TCP para comprobar su capacidad de respuesta con comprobaciones de tiempo de actividad y, a continuación, recibir una notificación cuando un endpoint no responda. También puedes crear un comprobador de enlaces rotos para rastrear una página web y, después, avisarte cuando se detecten enlaces rotos.

Puedes crear y gestionar monitores sintéticos mediante la Google Cloud consola, la API Cloud Monitoring, la CLI de Google Cloud o Terraform.

Visualización de datos

Cuando creas instancias de Google Cloud recursos o registras aplicaciones en App Hub, el servicio de panel de control crea automáticamente paneles de control gestionados porGoogle Cloud. Estos paneles muestran información seleccionada que te ayuda a conocer el estado de tus recursos y aplicaciones. Por ejemplo, en el caso de una aplicación de App Hub, se crean paneles de control para la aplicación y para cada uno de sus servicios y cargas de trabajo. Estos paneles muestran información como los datos de registro o de métricas de una aplicación, así como el número de alertas abiertas.

Los paneles creados por Google Cloud pueden proporcionarle suficiente información para completar una investigación. Sin embargo, es posible que no proporcionen los datos exactos que necesitas para ver tendencias, identificar valores atípicos o consultar otros detalles sobre tus datos. Para completar estas tareas, puedes usar los servicios de panel de control y gráficos:

  • Para controlar los datos que ve y el formato de visualización de esos datos, cree un panel de control personalizado. Por ejemplo, puedes importar un panel de Grafana o instalar un panel a partir de una plantilla.

    Tus paneles de control personalizados pueden mostrar lo siguiente.

    • Gráficos y tablas que muestran datos de métricas
    • Datos de registro y grupos de errores
    • Gráficos de políticas de alertas
    • Información sobre las alertas
    • Texto
    • Eventos, como un reinicio o un fallo, que afectan al funcionamiento de un sistema.

    Puedes crear y gestionar paneles de control mediante la consola o la API.Google Cloud

  • El servicio de gráficos Explorador de métricas te permite visualizar y explorar rápidamente datos de series temporales. Los ajustes del gráfico te permiten comparar los datos actuales con los anteriores, mostrar los valores atípicos y los percentiles, y mostrar varias métricas. También puede guardar gráficos en un panel de control personalizado.

Recogida y almacenamiento de datos

Cloud Monitoring recoge y almacena los siguientes tipos de datos de métricas:

  • 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 el número de errores que detecta tu servicio y el número total de entradas de registro que recibe 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 quieres monitorizar o representar en un gráfico:

  • Google Cloud Consola: puedes crear tu consulta seleccionando opciones de los menús o escribiendo una consulta. Los editores de consultas están disponibles para Prometheus Query Language (PromQL). El editor de consultas ofrece comprobaciones de sintaxis y sugerencias. También puedes escribir una expresión de filtro de monitorización.

  • API Cloud Monitoring: la API admite el lenguaje de consulta de Prometheus (PromQL) y expresiones de filtro de Monitoring.

Monitorizar sistemas grandes

En esta sección se describe cómo puedes gestionar recursos como una colección y cómo puedes monitorizar métricas almacenadas en varios proyectos de Google Cloud .

Gestionar recursos como una colección

Para gestionar tus 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 los criterios que usted proporciona. A medida que añades y quitas recursos (por ejemplo, instancias de VM de Compute Engine a tuGoogle Cloud proyecto), la pertenencia al grupo cambia automáticamente. Estos son algunos ejemplos de grupos de recursos:

  • Instancias de Compute Engine cuyos nombres empiecen por la cadena prod-.
  • Recursos con la etiqueta test-cluster.
  • Instancias de Amazon EC2 en la región A o en la región B.

Después de definir un grupo de recursos, puedes monitorizar el grupo como si fuera un solo recurso. Por ejemplo, puedes configurar una comprobación de disponibilidad para monitorizar un grupo de recursos. En el caso de los gráficos y las políticas de alertas, también puede filtrar por nombre de grupo.

Para obtener más información, consulta Configurar grupos de recursos.

Monitorizar métricas de varios Google Cloud proyectos

Para ver y monitorizar los datos de serie temporal de variosGoogle Cloud proyectos y cuentas de AWS a través de una sola interfaz, configura un ámbito de métricas de varios proyectos.

De forma predeterminada, las páginas de Cloud Monitoring de la consola Google Cloud solo proporcionan acceso a las series temporales almacenadas en el proyecto de ámbito. El proyecto de ámbito es el que has seleccionado con elGoogle Cloud selector de proyectos de la consola. El proyecto de ámbito almacena las alertas, los monitores sintéticos, los paneles de control y los grupos de monitorización que configures.

El proyecto de ámbito también incluye un ámbito de métricas. El ámbito de las métricas define los proyectos y las cuentas cuyas métricas son visibles para el proyecto de ámbito. Puede configurar el ámbito de las métricas para incluir datos de series temporales de otros proyectos y de cuentas de AWS. Google Cloud Para obtener información sobre cómo modificar un ámbito de métricas, consulta Configurar un ámbito 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. Entre los tipos de métricas se incluyen la utilización de la CPU de una VM y el porcentaje de un disco que se utiliza.

  • Una serie temporal es una estructura de datos que contiene mediciones de una métrica con marca de tiempo e información sobre la fuente y el significado de esas mediciones.

A continuación, se indican algunos detalles sobre el contenido de una serie temporal:

  • La matriz points contiene las mediciones con marca de tiempo.

    A continuación, se muestra 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 entender el significado de un valor, debes consultar los demás datos incluidos en la serie temporal y las definiciones de esos datos.

  • El campo resource describe el componente de hardware o software que se está monitorizando. En Cloud Monitoring, el componente de hardware o software se denomina recurso monitorizado. Entre los recursos monitorizados se incluyen las instancias de Compute Engine y las aplicaciones de App Engine. Para ver una lista de los recursos monitorizados, consulta la lista de recursos monitorizados.

    A continuación, se muestra un ejemplo de un campo resource:

      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "2708613220420473591",
          "zone": "us-east1-b",
          "project_id": "sampleproject"
        }
      }
    
    • El campo type muestra el recurso monitorizado como gce_instance, lo que indica que estas mediciones se toman en una instancia de VM de Compute Engine.

    • El campo labels contiene pares clave-valor que proporcionan información adicional sobre el recurso monitorizado. En el caso del tipo gce_instance, las etiquetas identifican la instancia de VM que se está monitorizando.

  • El campo metric describe lo que se está midiendo.

    A continuación, se muestra un ejemplo de un campo metric:

      "metric": {
        "labels": {
          "instance_name": "test"
        },
        "type": "compute.googleapis.com/instance/cpu/utilization"
      },
    
    • En el caso de los servicios Google Cloud , el campo type especifica el servicio y lo que se está monitorizando. En este ejemplo, el servicio de Compute Engine mide la utilización de la CPU. Si el campo type empieza por custom o external, la métrica es una métrica personalizada o una métrica 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 del MetricDescriptor, que es una estructura de datos que define los atributos de los datos medidos. El MetricDescriptor de la métrica compute.googleapis.com/instance/cpu/utilization incluye la etiqueta instance_name.
  • El campo metricKind describe la relación entre las mediciones adyacentes de una serie temporal:

    • Las métricas GAUGE almacenan el valor de lo que se mide en un momento dado; por ejemplo, un registro de temperatura por horas.

    • Las métricas CUMULATIVE almacenan el valor acumulado de lo que se mide en un momento dado, como el cuentakilómetros de un vehículo.

    • Las métricas DELTA almacenan el cambio en el valor del elemento que se mide durante un periodo específico. Por ejemplo, un resumen de las acciones que muestra las ganancias o las pérdidas de las acciones.

  • El campo valueType describe el tipo de datos de la medición: INT64, DOUBLE, BOOL, STRING o DISTRIBUTION.

Cloud Monitoring escribe una serie temporal por cada combinación de valores de etiqueta de métrica y de recurso. Puedes usar estas etiquetas para agrupar y filtrar series temporales. Por ejemplo, cuando un proyecto contiene varias instancias de VM de Compute Engine, la utilización de CPU de cada instancia de VM es una serie temporal única. Google Cloud Estas son algunas de las formas en las que puedes mostrar estos datos:

  • Puedes mostrar el uso de CPU de cada instancia de VM.
  • Para ver la utilización de la CPU de una instancia de VM específica, filtre la serie temporal por un solo valor de la etiqueta instance_id.
  • Puede agrupar las instancias de VM por la etiqueta machine_type y, a continuación, mostrar la utilización media de la CPU. En la siguiente captura de pantalla se muestra un gráfico con esta configuración:

    Uso medio de CPU agrupado por tipo de máquina.

Precios

Por lo general, las métricas del sistema de Cloud Monitoring son gratuitas, mientras que las métricas de sistemas, agentes o aplicaciones externos no lo son. Las métricas facturables se facturan según el número de bytes o el número de muestras ingeridas.

Para obtener más información, consulta las secciones de Cloud Monitoring de la página Precios de Google Cloud Observability.

Siguientes pasos