Componentes del modelo de métricas

El modelo de Cloud Monitoring para supervisar los datos consta de tres conceptos principales:

  • Tipos de recursos supervisados
  • Tipos de métricas
  • Series temporales

En el documento Modelo de métricas, se describen estas Conceptos de Cloud Monitoring en términos generales. Si estos conceptos son nuevos para lee esa página primero.

En esta página, se describen los tipos de métricas, los recursos supervisados y el tiempo junto con algunos conceptos relacionados con más detalle. Estos subyacentes son la base de todas las métricas de Monitoring.

Debes comprender la información de esta página si quieres realizar alguna de las lo siguiente:

Para obtener más información sobre estos conceptos y cómo se asignan a la API de Cloud Monitoring, consulta Estructura de series temporales, sobre todo si planean usar la API de Monitoring o las métricas personalizadas.

Información sobre las etiquetas

Los tipos de recursos supervisados y los tipos de métricas admiten etiquetas que permiten clasificar los datos durante el análisis. Por ejemplo:

  • Un tipo de recurso supervisado para una máquina virtual puede incluir etiquetas la ubicación de la máquina y el ID del proyecto asociado con ella. Cuando se registra información sobre el recurso supervisado, esa información incluye los valores de las etiquetas. Un recurso supervisado también puede tener metadatos proporcionados por el sistema o el usuario etiquetas de recurso, además de las etiquetas definidas para el tipo de recurso supervisado.
  • Un tipo de métrica que cuenta las solicitudes a la API podría tener etiquetas para registrar el nombre del método invocado y el estado de la solicitud.

El uso de etiquetas se analiza con más detalle en Etiquetas.

Tipos de recursos supervisados

Un recurso supervisado es un recurso del que se capturan los datos de las métricas. Cloud Monitoring admite alrededor de 270 tipos de recursos supervisados.

Los tipos de recursos supervisados incluyen tareas y nodos genéricos, tareas de arquitectura componentes en Google Kubernetes Engine, tablas en Bigtable, varios recursos de AWS y mucho más.

Cada tipo de recurso supervisado se describe formalmente en una estructura de datos llamado descriptor de recursos supervisados. Para obtener más información, consulta Descriptores de recursos supervisados.

Cada uno de los tipos de recursos supervisados admitidos tiene una entrada en el Lista de recursos supervisados. Se crean las entradas de la lista de los descriptores de recursos supervisados. En esta sección, se describe la información capturado en un descriptor de recursos supervisados y muestra cómo se presenta en la lista.

Un muestra de tipo de recurso supervisado

En la siguiente imagen, se muestra la entrada en la lista de un bucket de Cloud Storage:

Lista para el bucket de Cloud Storage

Todas las entradas de la lista incluyen la siguiente información:

  • Tipo: El encabezado de la entrada muestra el tipo de recurso supervisado, gcs_bucket en el ejemplo.
  • Nombre visible: una descripción breve del recurso supervisado.
  • Descripción: Una descripción más larga del recurso supervisado.
  • Etiquetas: Es un conjunto de dimensiones para clasificar datos. Para obtener más información, consulta Etiquetas.

Tipos de métricas

Un tipo de métrica describe las mediciones que se pueden recopilar de un recurso. Un tipo de métrica incluye una descripción de lo que se mide y cómo se interpretan las mediciones. Cloud Monitoring admite alrededor de 6,500 tipos de métricas y te permite definir nuevos tipos.

Los tipos de métricas incluyen recuentos de llamadas a la API, estadísticas de uso del disco, almacenamiento el consumo de datos y mucho más.

Cada tipo de métrica se describe formalmente en una estructura de datos llamada descriptor de métrica. Para obtener más información, consulta Descriptores de métricas.

Cada uno de estos tipos de métricas integradas tiene una entrada Lista de métricas páginas. Las entradas en estas tablas se crean a partir de los descriptores de métricas. En esta sección, se describe la información capturada en un tipo de métrica y muestra cómo se presenta en el material de referencia.

Un tipo de métrica de muestra

En la siguiente imagen, se muestra una entrada para un tipo de métrica de Cloud Storage:

Un extracto de la lista de métricas para Cloud Storage.

Los tipos de métricas se muestran en una tabla, y el encabezado de la tabla explica el diseño de la información. En esta sección, se usa una entrada como ejemplo, pero todas las tablas usan el mismo formato.

La entrada de la tabla de muestra de Cloud Storage te brinda la siguiente información sobre un tipo de métrica:

  • Tipo de métrica: Un identificador para el tipo de métrica, storage.googleapis.com/api/request_count en el ejemplo.

    El prefijo storage.googleapis.com actúa como un espacio de nombres para en Google Cloud Storage. Todos los tipos de métricas asociados de recurso supervisado usan el mismo espacio de nombres.

    Los espacios de nombres se omiten en las entradas en las tablas.

    Todos los tipos de métricas asociados con Cloud Storage se enumeran en la tabla de métricas de Cloud Storage.

  • Fase de lanzamiento: Un bloque de color que indica la etapa de lanzamiento del tipo de métrica con un valor como Alfa, Beta y GA.

  • Nombre visible: una string breve que describe el tipo de métrica, “Request count” en el ejemplo.

  • Clase, tipo, unidad: Esta línea proporciona información para interpretar los valores de datos. El ejemplo muestra una métrica delta registrada como un número entero de 64 bits sin unidad (ese es el valor 1).

    • Kind: Este ejemplo es una métrica delta, que registra un cambio en un período. Es decir, cada dato registra la cantidad de llamadas a la API desde se escribió el dato anterior. Para obtener más información sobre los tipos, consulta Tipos de valores y tipos de métricas.

    • Tipo: En este ejemplo, se registran sus valores como números enteros de 64 bits. Más información sobre tipos, consulta Tipos de valores y tipos de métricas.

    • Unidad: Esta métrica no necesita una unidad explícita porque representa un recuento, el dígito 1 se usa para indicar que no se necesita ninguna unidad.

  • Recursos supervisados: Los recursos supervisados para los que esta métrica de red está disponible. Estos valores son los mismos que los descritos en Tipos de recursos supervisados.

  • Descripción: información más detallada sobre lo que se registra y cómo. Configura las cursivas para distinguirla de las etiquetas.

  • Etiquetas: Es un conjunto de dimensiones para clasificar datos. Para obtener más información, consulta Etiquetas.

Cuando accedes a los datos de supervisión a través de la API de Cloud Monitoring, incluyes un proyecto de Google Cloud en la llamada a la API. Puedes recuperar solo los datos que se visibles para ese proyecto de Google Cloud. Por ejemplo, si solicitas los datos de tu proyecto para el tipo de métrica storage.googleapis.com/api/request_count, verás los recuentos de API solo para los buckets de Cloud Storage en tu proyecto. Si tu proyecto no usa ningún buckets de Cloud Storage, entonces no hay métricas para que se muestren los datos.

Tipos de métricas integradas

Los servicios de Google Cloud definen los tipos de métricas integradas, como Cloud Monitoring Estos tipos de métricas describen medidas estándar para una amplia gama de valores comunes infraestructura y están disponibles para que todos los usen.

En la Lista de métricas, se muestra el conjunto completo de tipos de métricas integradas. Las métricas que aparecen en la página Lista de métricas externas son especiales subconjunto de métricas integradas definidas por Cloud Monitoring asociaciones con proyectos de código abierto o proveedores externos. Por lo general, estos las métricas tienen un prefijo de external.googleapis.com.

Métricas personalizadas

Cuando compiles tu aplicación, es posible que tengas ciertas propiedades queremos medir, cosas para las que no se incorporan métricas Cloud Monitoring Con Cloud Monitoring, puedes definir tus tipos de métricas o importar tipos de métricas de fuentes externas. Estos tipos de métricas se denominan métricas personalizadas. Si una métrica tiene un prefijo de custom.googleapis.com o prometheus.googleapis.com, es una métrica personalizada. Por lo general, las últimas métricas provienen de Google Cloud Managed Service para Prometheus.

Por ejemplo, si deseas hacer un seguimiento del número de widgets vendidos de tus tiendas, debes usar una métrica personalizada. Para obtener más información, consulta Descripción general de las métricas definidas por el usuario.

Etiquetas

Una etiqueta es un par clave-valor que se puede usar para proporcionar información sobre un valor de datos.

Etiquetas de métricas y recursos supervisados

Las definiciones de los tipos de métricas y recursos supervisados incluyen etiquetas. Las etiquetas son clasificadores para los datos que se recopilan. ayudan a categorizar los datos para un análisis más profundo. Por ejemplo:

  • El tipo de métrica de Cloud Storage storage.googleapis.com/api/request_count tiene dos etiquetas, response_code y method.
  • El tipo de recurso supervisado de Cloud Storage gcs_bucket tiene tres etiquetas: project_id, bucket_name y location. Las etiquetas identifican instancias específicas del tipo de recurso.

Por lo tanto, todos los datos recopilados para las solicitudes a la API desde un Cloud Storage bucket se clasifica según el método que se llamó, el código de respuesta de la llamada, el nombre, la ubicación y el proyecto del bucket. El conjunto de etiquetas varía según la métrica o el tipo de recurso supervisado. el las etiquetas disponibles se documentan en la lista de métricas y Páginas de lista de recursos supervisados.

Si realizas un seguimiento del código de respuesta, el nombre del método y la ubicación cuando se cuentan las llamadas a la API, puedes recuperar la cantidad de llamadas a un método de API en particular, la cantidad de llamadas fallidas a cualquier método o la cantidad de llamadas a un método específico en una ubicación específica.

Se hace referencia a la cantidad de etiquetas y de valores que cada una puede suponer. como cardinalidad. La cardinalidad es la cantidad de series temporales posibles podría recopilarse para un par de tipos de métricas y recursos supervisados: hay una serie temporal para cada combinación de valores de sus etiquetas. Para obtener más información, consulta Cardinalidad: Series temporales y etiquetas.

Etiquetas de metadatos de recursos

Además de las etiquetas definidas en los tipos de recursos supervisados y métricas, La supervisión interna recopila información adicional sobre recursos supervisados y almacena esta información en etiquetas de metadatos del sistema. Estas etiquetas de metadatos del sistema están disponibles para los usuarios como valores de solo lectura. Algunos recursos también permiten que los usuarios creen sus propias etiquetas de metadatos de recursos. cuando configures recursos como instancias de VM en la consola de Google Cloud.

Las etiquetas de metadatos del sistema y del usuario se denominan, en conjunto, metadatos de recursos etiquetas. Puedes usar estas etiquetas, como las definidas en la métrica tipos de recursos supervisados en filtros de series temporales. Para obtener más información consulta Filtros de supervisión.

Series temporales: Datos de un recurso supervisado

En esta sección, se analiza qué son los datos de supervisión y cómo están organizados en series temporales. Aquí es donde los componentes conceptuales del de métricas en artefactos concretos.

Cloud Monitoring almacena mediciones regulares en el tiempo para pares de tipos de métricas y recursos supervisados. Las mediciones se recopilan en series temporales y cada una de ellas contiene los siguientes elementos:

  • El nombre del tipo de métrica al que pertenece la serie temporal una combinación de valores para las etiquetas de la métrica.

  • Una serie de pares (marca de tiempo, valor). El valor es la medición y la marca de tiempo es la hora en la que se realizó la medición.

  • El recurso supervisado que es la fuente de los datos de la serie temporal. una combinación de valores para las etiquetas del recurso.

Se crea una serie temporal para cada combinación de etiquetas de métricas y recursos que genera datos.

Ejemplo estilizado: el tipo de métrica storage.googleapis.com/api/request_count podría tener muchas series temporales para el Cloud Storage buckets. En la siguiente ilustración, se muestran algunas series temporales posibles.

En la ilustración, el valor bucket: xxxx representa el valor de la etiqueta bucket_name en el tipo de recurso supervisado, mientras que response_code y method son etiquetas en el tipo de métrica. Hay una serie temporal para cada combinación de valores en las etiquetas de recursos y métricas. Las ilustraciones muestran algunos casos:

Imágenes que muestran varias series temporales en una métrica

Cloud Monitoring no registra series temporales “vacías”. En la Ejemplo de buckets de Cloud Storage, si no usas un bucket en particular o nunca llamar a un método de la API determinado, entonces no se recopilan datos para ese una etiqueta y, en ninguna serie temporal, se menciona. Esto significa que, si el proyecto no tiene ningún dato para una métrica en particular, nunca verás el tipo de métrica.

Los tipos de métricas no indican qué tipos de recursos supervisados se encuentran en las métricas series temporales. Para Cloud Storage, solo hay una tipo de recurso supervisado: gcs_bucket. Algunos tipos de métricas se vinculan con más de un recurso supervisado.

Ejemplo real: Si tienes un proyecto de Google Cloud, puedes probar el widget del Explorador de APIs, ubicado en la página de referencia de la timeSeries.list en la API de Monitoring.

  1. Abre la página de referencia de timeSeries.list.

  2. En el panel Prueba este método, ingresa lo siguiente:

    • name: projects/PROJECT_ID Reemplaza PROJECT_ID con el ID de tu proyecto de Google Cloud.
    • filter: metric.type="logging.googleapis.com/log_entry_count" resource.type="gce_instance"
    • interval.start_time: Ingresa la hora de inicio y asegúrate de que sea 20 minutos antes de la hora de finalización.
    • interval.end_time: Ingresa la hora de finalización.

Si la solicitud se realiza correctamente, se mostrarán los datos de series temporales que coincidan con la solicitud. Se verán como el siguiente fragmento:

{
  "timeSeries": [
    {
      "metric": {
        "labels": {
          "severity": "INFO",
          "log": "compute.googleapis.com/activity_log"
        },
        "type": "logging.googleapis.com/log_entry_count"
      },
      "resource": {
        "type": "gce_instance",
        "labels": {
          "instance_id": "0",
          "zone": "us-central1",
          "project_id": "your-project-id"
        }
      },
      "metricKind": "DELTA",
      "valueType": "INT64",
      "points": [
        {
        "interval": {
            "startTime": "2024-03-29T13:53:00Z",
            "endTime": "2024-03-29T13:54:00Z"
          },
          "value": {
            "int64Value": "0"
          }
        },
        ...
      ]
    },
    ...
  ]
}

Para obtener más información sobre el uso del widget del Explorador de APIs, consulta y solución de problemas, consulta Explorador de APIs.

Cardinalidad: series temporales y etiquetas

Cada serie temporal se asocia con un par específico de métrica y tipos de recursos supervisados. Los tipos de recursos supervisados y de métricas y cada uno proporciona un número de etiquetas. En Cloud Monitoring, la cantidad de las combinaciones únicas de valores para el conjunto de etiquetas es la cardinalidad de el tipo de métrica o el tipo de recurso supervisado. Estos valores se denominan la cardinalidad de las métricas y la cardinalidad de los recursos, y determinan posibles series temporales, la cardinalidad total,

Métrica, recursos y cardinalidad total

Supongamos que tienes un tipo de métrica que especifica dos etiquetas. color y zone. La cardinalidad de las métricas depende de la cantidad posible valores que tienen esas etiquetas:

  • Si solo hay tres colores posibles, “rojo”, “verde” y “azul”, entonces la etiqueta color puede pueden tener hasta tres valores distintos.
  • Si solo hay dos zonas posibles, “este” y “oeste”, la etiqueta zone puede tener hasta dos valores distintos.

La cardinalidad de esta métrica es 6 (3 × 2). Si hay 1,000 posibles valores para la etiqueta color y, si todos los colores pueden aparecer en cada zona, entonces la cardinalidad de la métrica es 2,000 (1,000 × 2). Se aplica el mismo cálculo si son etiquetas de un tipo de recurso supervisado y no de un tipo de métrica.

Este valor de cardinalidad es un máximo en función de la cantidad de combinaciones de posibles valores de etiquetas. El valor real y efectivo podría ser significativo menor cuando en realidad no ocurren todas las combinaciones de valores de etiquetas. Por ejemplo: si cada color aparece en una sola zona, no en ambas zonas, entonces, la cantidad máxima de series temporales que ves en el sistema en ejecución es 1,000. Pero la utilidad de la cardinalidad efectiva depende de las razones que ciertas combinaciones no aparecen y si podrían hacerlo en el futuro.

La cardinalidad depende de los valores que puede tener cualquier etiqueta.

Cuando se escriben datos de series temporales, se clasifican por métrica y tipos de recursos supervisados. Para cualquier par de tipos de métricas y recursos, La cardinalidad total es el producto de la cardinalidad de la métrica y el recurso cardinalidad. Si tienes una métrica con cardinalidad de 1,000 y un recurso con una cardinalidad de 100. Si aparece cada valor de etiqueta, entonces tienes 100,000. series temporales (1,000 × 100).

Cuando diseñes tus propias métricas, asegúrate de que el conjunto de de salida para cualquier etiqueta está restringida. Un pequeño conjunto de valores discretos (como “rojo”, “verde” y “azul”) es el enfoque preferido. Si, por ejemplo, usas valores RGB de 8 bits para una color, puedes tener más de 16 millones de salida. No uses valores de alta resolución, como marcas de tiempo cualquier tipo de identificador único, ID de usuario, direcciones IP, direcciones IP URLs, etc., para etiquetas de métricas.

Rendimiento y cardinalidad de las consultas

Cuando realizas una consulta de datos, el volumen de datos que solicitas el factor más importante en el rendimiento de la consulta: una consulta por una hora de datos suele ser más rápida que la misma consulta, que cubre seis meses. Pero el volumen de los datos que muestra una solicitud también es sensible a la cantidad de series temporales en una solicitud. Una consulta que recupera dos meses de datos para una baja cardinalidad es probable que esta métrica sea más rápida que otra consulta que recupera dos meses de datos para una métrica de cardinalidad muy alta, debido a la cantidad de datos que se recuperan.

La cardinalidad depende principalmente de la cantidad de valores que pueden tener no en el número de etiquetas. En general, no tienes control sobre el cardinalidad de los recursos, como cuando cambia la cantidad de Pods o VMs según las necesidades de la empresa. Pero cuando se transfieren métricas a Cloud Monitoring, en lugar de usar métricas del sistema, a menudo tienes algo de control sobre la cardinalidad de las métricas. Por ejemplo, con métricas personalizadas definidas por el usuario determinas las etiquetas y sus posibles valores. Si eres mediante la transferencia de métricas de Prometheus, puedes usar el reetiquetado para modificar el conjunto de etiquetas y las series temporales que no quieres transferir.

Puedes usar la página Administración de métricas de Cloud Monitoring para hacer lo siguiente: identificar métricas que podrían tener problemas de cardinalidad. Para ver la página Administración de métricas, haz lo siguiente:

  1. En la consola de Google Cloud, ve a la página  Administración de métricas:

    Ir a Administración de métricas

    Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.

  2. En la barra de herramientas, selecciona tu período. De forma predeterminada, la página Administración de métricas muestra información sobre las métricas recopiladas en el día anterior.

Para obtener más información sobre la página Administración de métricas, consulta Visualiza y administra el uso de métricas.

Para obtener conocimientos técnicos sobre la forma en que Cloud Monitoring almacena y recupera datos de series temporales; consulta Monarch: Google's Planet-Scale Base de datos de series temporales en la memoria.

Para obtener información sobre los límites de las métricas definidas por el usuario en Cloud Monitoring, consulta Métricas definidas por el usuario.