Usa el Agente de operaciones y OpenTelemetry Protocol (OTLP)

En este documento, se describe cómo usar el agente de operaciones y el receptor del protocolo OpenTelemetry (OTLP) para recopilar métricas y seguimientos definidos por el usuario de aplicaciones instrumentadas con OpenTelemetry y que se ejecutan en Compute Engine.

Este documento se organiza de la siguiente manera:

Descripción general del uso del receptor OTLP

Con el receptor OTLP del Agente de operaciones, puedes hacer lo siguiente:

  • Instrumenta tu aplicación con uno de los SDK específicos para cada lenguaje para OpenTelemetry. Para obtener información de los lenguajes compatibles, consulta Instrumentación de OpenTelemetry. La combinación de los SDKs de OpenTelemetry y el agente de operaciones hace lo siguiente:
    • Recopila métricas de OTLP desde tu aplicación y las envía a Cloud Monitoring para su análisis.
    • Recopila intervalos de OTLP (datos de seguimiento) de la aplicación y, luego, los envía a Cloud Trace para analizarlos.
  • Recopila seguimientos de aplicaciones de terceros que tengan compatibilidad integrada en OTLP o complementos con aplicaciones compatibles, como Nginx. La OTLP en el Agente de operaciones puede recopilar esos seguimientos. Para ver un ejemplo, consulta OpenTelemetry nginx módulo.
  • Usa la instrumentación personalizada de OpenTelemetry.
  • Usa la instrumentación automática de OpenTelemetry.

Puedes usar el receptor para recopilar métricas, seguimientos o ambos. Una vez que el Agente de operaciones haya recopilado tus métricas, puedes usar las funciones de Cloud Monitoring, incluidos los gráficos, los paneles y las políticas de alertas, para supervisar tus métricas. Si tu aplicación también envía datos de seguimiento, puedes usar Cloud Trace para analizar esos datos.

Beneficios

Antes de que se encontrara disponible el complemento OTLP para el agente de operaciones, las principales formas de instrumentar tus aplicaciones para recopilar métricas y seguimientos definidos por el usuario incluían las siguientes:

  • Usar bibliotecas cliente que implementen la API de Monitoring la API de Trace.
  • Usar las bibliotecas anteriores de OpenCensus.

Usar OpenTelemetry con el receptor OTLP tiene varios beneficios métodos, como los siguientes:

  • OpenTelemetry es el reemplazo de OpenCensus. El proyecto de OpenCensus se está archivando. Para obtener más información, consulta ¿Qué es OpenTelemetry?.
  • La transferencia se controla a nivel del agente, por lo que no es necesario volver a implementar tus aplicaciones si la configuración del agente cambia.
  • Tus aplicaciones no necesitan configurar las credenciales de Google Cloud; toda la autorización se maneja a nivel del agente.
  • El código de tu aplicación no contiene una supervisión específica de Google Cloud. o el código de seguimiento. No es necesario que uses la API de Monitoring ni la API de Trace de forma directa.
  • Tu aplicación envía datos al Agente de operaciones y, si tu aplicación no se pierde ningún dato recopilado por el Agente de operaciones.

Limitaciones

El objeto de escucha de OTLP que expone el receptor del Agente de operaciones admite gRPC. transporte. No se admite HTTP, que se usa de forma principal para los clientes de JavaScript Para obtener más información del protocolo OpenTelemetry, consulta Detalles del protocolo.

El receptor OTLP no recopila registros. Puedes recopilar registros con el agente de operaciones y otros receptores. Además, puedes incluir información de registro en los intervalos de OTLP, pero el receptor de OTLP no admite la recopilación directa de registros. Si deseas obtener información del uso del agente de operaciones para recopilar registros, consulta Opciones de configuración del registro.

Requisitos previos

Para recopilar métricas y seguimientos de OTLP con el receptor de OTLP y el agente de operaciones, debes instalar el agente de operaciones versión 2.37.0 o posterior.

En este documento, se supone que ya tienes una aplicación basada en OpenTelemetry escrita con uno de los SDK de OpenTelemetry. En este documento, no se abarca el uso SDK de OpenTelemetry. Para obtener información de los SDK y los lenguajes compatibles, consulta Instrumentación de OpenTelemetry.

Configurar el agente de operaciones

Para configurar el agente de operaciones para que use el receptor de OTLP, haz lo siguiente:

  1. Modifica el archivo de configuración del usuario para que el agente de operaciones incluya el receptor de OTLP.
  2. Reinicia el Agente de operaciones.

En las siguientes secciones, se describe cada paso.

Modifica el archivo de configuración del usuario del Agente de operaciones

Agrega los elementos de configuración para el receptor OTLP al el archivo de configuración del usuario para el Agente de operaciones:

  • Para Linux: /etc/google-cloud-ops-agent/config.yaml
  • Para Windows: C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml

Para obtener información general sobre la configuración del agente, consulta Modelo de configuración.

El receptor OTLP presenta la sección de configuración combined para el Agente de operaciones. Para usar la app receptora, debes configurar servicios para métricas y seguimientos, aunque no uses ambos.

En las siguientes secciones, se describen los pasos de configuración para el receptor OTLP.

Agrega la sección del receptor combined

Coloca el receptor para las métricas y los seguimientos de OTLP en combined sección. No se permiten procesadores ni servicios en la sección combined. No debes configurar ningún otro receptor con el mismo nombre que un receptor en la sección combined. El siguiente ejemplo usa otlp como el nombre del receptor.

La configuración mínima de combined para OTLP es similar a la siguiente:

combined:
  receivers:
    otlp:
      type: otlp

El receptor otlp tiene las siguientes opciones de configuración:

  • type: Obligatorio. Debe ser otlp
  • grpc_endpoint: Opcional El extremo de gRPC en el que el receptor OTLP escucha. La configuración predeterminada es 0.0.0.0:4317.
  • metrics_mode: Opcional La configuración predeterminada es googlemanagedprometheus, lo que significa que el receptor envía métricas de OTLP como métricas con formato de Prometheus con la API de Prometheus que también usa el servicio administrado para Prometheus.

    Para enviar las métricas como métricas personalizadas de Cloud Monitoring mediante la API de Monitoring, configura la opción metrics_mode como el valor googlecloudmonitoring.

    Esta opción afecta la forma en que se transfieren tus métricas y cómo se miden. para la facturación. Para obtener más información de los formatos de las métricas, consulta Formatos de transferencia para métricas de OTLP.

Agrega canalizaciones de OTLP a tus servicios

El receptor OTLP puede recopilar métricas y seguimientos, por lo que debes definir un servicio para métricas y seguimientos. Si no vas a recopilar métricas o seguimientos, puedes crear servicios vacíos. Si ya tienes servicios con otras canalizaciones, puedes agregarles la canalización OTLP.

A continuación, se muestran los servicios metrics y traces con la OTLP incluido en las canalizaciones:

combined:
  receivers:
    otlp:
      type: otlp
metrics:
  service:
    pipelines:
      otlp:
        receivers: [otlp]
traces:
  service:
    pipelines:
      otlp:
        receivers: [otlp]

Si no deseas usar el servicio metrics o traces para OTLP, haz lo siguiente: y deja el receptor OTLP fuera de la canalización del servicio El servicio debe existir, incluso si no tiene canalizaciones. Si tu aplicación envía datos de un tipo determinado y no hay una canalización correspondiente que incluya el receptor, el agente de operaciones descarta los datos.

Reinicia el Agente de operaciones

Para aplicar los cambios de configuración, debes reiniciar el Agente de operaciones.

Linux

  1. Para reiniciar el agente, ejecuta el siguiente comando en tu instancia:
    sudo systemctl restart google-cloud-ops-agent
    
  2. Para confirmar que el agente se reinició, ejecuta el siguiente comando y verifica que los componentes “Agente de métricas” y “Agente de Logging” se iniciaron:
    sudo systemctl status "google-cloud-ops-agent*"
    

Windows

  1. Conéctate a tu instancia con RDP o una herramienta similar y accede a Windows.
  2. Haz clic con el botón derecho en el ícono de PowerShell y selecciona Ejecutar como administrador para abrir una terminal de PowerShell con privilegios de administrador.
  3. Para reiniciar el agente, ejecuta el siguiente comando de PowerShell:
    Restart-Service google-cloud-ops-agent -Force
    
  4. Para confirmar que el agente se reinició, ejecuta el siguiente comando y verifica que los componentes “Agente de métricas” y “Agente de Logging” se iniciaron:
    Get-Service google-cloud-ops-agent*
    

Recopila métricas de OTLP

Cuando usas el receptor OTLP para recopilar métricas de aplicaciones OpenTelemetry, la opción de configuración principal para el receptor es la API que quieres usar para transferir las métricas.

Esta elección se realiza con el cambio de la opción metrics_mode en la configuración del receptor otlp o con el valor predeterminado. La elección afecta cómo se transfieren tus métricas OTLP a Cloud Monitoring y cómo se miden esos datos para la facturación.

La opción metrics_mode no afecta la capacidad de crear gráficos, paneles y políticas de alertas en Monitoring.

En las siguientes secciones, se describen las diferencias en los formatos que usan los modos de métricas y cómo consultar los datos transferidos para usarlos en Monitoring.

Formatos de transferencia para métricas de OTLP

El receptor OTLP proporciona la opción metrics_mode, que especifica la API que se usa para transferir tus datos de métricas. De forma predeterminada, el receptor usa la API de Prometheus; el valor predeterminado para la opción metrics_mode es googlemanagedprometheus. Las métricas se transfieren con el mismo la API que usa Managed Service para Prometheus.

Puedes configurar el receptor para que envíe los datos de tus métricas al la API de Cloud Monitoring en su lugar. Para enviar datos a la API de Monitoring, establece el valor de la opción metrics_mode en googlecloudmonitoring, como como se muestra en el siguiente ejemplo:

combined:
  receivers:
    otlp:
      type: otlp
      metrics_mode: googlecloudmonitoring

El formato de transferencia que usas determina cómo se asignan las métricas OTLP en Cloud Monitoring. Puedes crear gráficos, paneles y alertas en Monitoring para métricas de cualquiera de los formatos, pero te refieres a las métricas de manera diferente en las consultas.

El formato de transferencia también determina el modelo de precios que se usa para los datos de datos.

En las siguientes secciones, se describen los precios, las diferencias estructurales una métrica transferida por la API de Prometheus y la misma métrica transferida por la API de Monitoring y cómo hacer referencia a las métricas en las consultas.

Precios y cuota

El formato de transferencia que usas determina cómo se cobran las métricas OTLP:

  • API de Prometheus: Cuando usas la API de Prometheus para transferir las métricas de tu aplicación, los datos están sujetos a precios basados en muestra, como si las métricas vinieran con Managed Service for Prometheus

  • API de Monitoring: Cuando usas la API de Monitoring para transferir tus métricas de la aplicación, los datos están sujetos a precios por volumen como datos de otras integraciones con el Agente de operaciones.

Las métricas transferidas con el receptor de OTLP se consideran tipos de métricas “personalizadas” cuando se transfieren a Cloud Monitoring y están sujetas a las cuotas y los límites de las métricas personalizadas.

Estructura de las métricas

Cloud Monitoring describe el formato de los datos de las métricas con un esquema llamado descriptor de métrica. El descriptor de métrica incluye el el nombre de la métrica, el tipo de datos de los valores de la métrica, cómo está relacionado cada valor a los valores anteriores y cualquier etiqueta asociada a ellos. Si configuras el receptor de OTLP para transferir métricas con la API de Prometheus, el descriptor de métricas que se crea difiere del descriptor de métricas creado cuando usas la API de Monitoring.

API de Prometheus: cuando usas la API de Prometheus para transferir el tráfico de cada métrica se transforma a través de la política Transformación de OpenTelemetry a Prometheus y asignados a un tipo de recurso supervisado de Cloud Monitoring.

  • La transformación incluye los siguientes cambios:
    • El nombre de la métrica OTLP tiene el prefijo de la cadena prometheus.googleapis.com/.
    • Cualquier carácter que no sea alfanumérico, como puntos (.) en el nombre de la métrica OTLP se reemplazan por guiones bajos (_).
    • El nombre de la métrica OTLP tiene sufijo con una cadena que indica tipo de métrica, como /gauge o /counter.
  • Las siguientes etiquetas, propagadas con valores del recurso OTLP, se agregan a la métrica:
    • instance_name: Es el valor del atributo de recurso host.name.
    • machine_type: Es el valor del atributo de recurso host.type.
  • El recurso supervisado registrado con las mediciones de la métrica se El tipo genérico prometheus_target La serie temporal de Prometheus generada incluye las siguientes etiquetas del recurso prometheus_target, propagados con valores del Recurso OTLP:

    • location: Es el valor del recurso cloud.availability_zone. .
    • namespace: Es el valor del atributo de recurso host.id.

    El tipo de recurso prometheus_target también incluye estas etiquetas:

    • project_id: El identificador del proyecto de Google Cloud, como my-project, en el que se ejecuta el Agente de operaciones
    • cluster: El valor siempre es __gce__ cuando se recopilan las métricas. por el Agente de operaciones.

Si a los datos de OTLP entrantes les faltan los atributos de recursos usados para los valores de etiquetas, los valores se toman de la información de la VM que ejecuta el agente de operaciones. Este comportamiento significa que los datos OTLP sin estos recursos aparezca con las mismas etiquetas que los datos recopilados por el Receptor de Prometheus del Agente de operaciones.

API de Monitoring: Cuando usas la API de Monitoring para transferir las métricas de tu aplicación, cada métrica se controla de la siguiente manera:

  • El nombre de la métrica de OTLP tiene el prefijo workload.googleapis.com/ con la string, a menos que el nombre de la métrica de OTLP ya contenga esta string o algún otro dominio de métrica válido, como custom.googleapis.com. Te recomendamos usar el dominio “carga de trabajo”.
  • El recurso supervisado registrado con las mediciones de la métrica se el tipo de máquina virtual de Compute Engine gce_instance.

En los siguientes ejemplos, se muestran los descriptores de métricas para un par de OpenTelemetry metrics. Las métricas se crean con una aplicación que usa la biblioteca de métricas de OpenTelemetry de Go. En la pestaña API de Prometheus, se muestra la descriptor de métrica creado cuando el receptor OTLP usa el valor predeterminado el modo de métricas de Prometheus. La pestaña API de Monitoring muestra el descriptor de métrica creado cuando el receptor OTLP usa el Modo de métrica googlecloudmonitoring.

No se produce ningún cambio en la aplicación que crea la métrica. el único cambio es el modo métrico usado por el receptor OTLP.

La aplicación crea una métrica de indicador de OTLP, otlp.test.gauge, que registra valores de punto flotante de 64 bits. Las siguientes pestañas muestran el descriptor de métrica que crea cada API de transferencia:

API de Prometheus

{
  "name": "projects/PROJECT_ID/metricDescriptors/prometheus.googleapis.com/otlp_test_gauge/gauge",
  "labels": [
    {
      "key": "instance_name"
    },
    {
      "key": "machine_type"
    }
  ],
  "metricKind": "GAUGE",
  "valueType": "DOUBLE",
  "type": "prometheus.googleapis.com/otlp_test_gauge/gauge",
  "monitoredResourceTypes": [
    "prometheus_target"
  ]
}

API de Monitoring

{
  "name": "projects/PROJECT_ID/metricDescriptors/workload.googleapis.com/otlp.test.gauge",
  "labels": [
    {
      "key": "instrumentation_source"
    }
  ],
  "metricKind": "GAUGE",
  "valueType": "DOUBLE",
  "type": "workload.googleapis.com/otlp.test.gauge",
  "monitoredResourceTypes": [
    "gce_instance",
    ...many other types deleted...
  ]
}

La aplicación crea una métrica de contador OTLP, otlp.test.cumulative, que registra valores cada vez más altos de punto flotante de 64 bits. Las siguientes pestañas muestran el descriptor de métrica que crea cada API de transferencia:

API de Prometheus

{
  "name": "projects/PROJECT_ID/metricDescriptors/prometheus.googleapis.com/otlp_test_cumulative/counter",
  "labels": [
    {
      "key": "instance_name"
    },
    {
      "key": "machine_type"
    }
  ],
  "metricKind": "CUMULATIVE",
  "valueType": "DOUBLE",
  "type": "prometheus.googleapis.com/otlp_test_cumulative/counter",
  "monitoredResourceTypes": [
    "prometheus_target"
  ]
}

API de Monitoring

{
  "name": "projects/PROJECT_ID/metricDescriptors/workload.googleapis.com/otlp.test.cumulative",
  "labels": [
    {
      "key": "instrumentation_source"
    }
  ],
  "metricKind": "CUMULATIVE",
  "valueType": "DOUBLE",
  "type": "workload.googleapis.com/otlp.test.cumulative",
  "monitoredResourceTypes": [
    "gce_instance",
    ...many other types deleted...
  ]
}

En la siguiente tabla, se resumen algunas de las diferencias de formato que imponen las APIs que se usan para transferir las métricas de OTLP:

  API de Prometheus API de Monitoring
Dominio de la métrica prometheus.googleapis.com workload.googleapis.com
Nombre de la métrica OTLP Modificado durante la transferencia Se usa tal como se proporciona
Recurso supervisado prometheus_target gce_instance

Formatos de transferencia y consultas

El modo de métricas usado en el receptor OTLP afecta la forma en que consultas el y las métricas resultantes en Cloud Monitoring cuando crees gráficos, paneles y las políticas de alertas.

Cuando configuras un gráfico, un panel o una política de alertas en Cloud Monitoring, la configuración incluye una consulta para los datos en los que opera el gráfico, el panel o la política de alertas.

Cloud Monitoring admite las siguientes herramientas para consultar métricas datos:

  • Una interfaz basada en el compilador de consultas, integrada en herramientas como el Explorador de métricas, la interfaz del compilador de paneles y la configuración de políticas de alertas interfaz de usuario.
  • Lenguaje de consulta de Monitoring (MQL): Un lenguaje de consulta basado en texto específico para Cloud Monitoring
  • Prometheus Query Language (PromQL): el lenguaje de consulta basado en texto que usan de Prometheus de código abierto.

Para obtener información para consultar las métricas de OTLP con estas herramientas, consulta los siguientes vínculos:

Consulta las métricas de OTLP transferidas con la API de Prometheus

En esta sección, se ilustra cómo consultar las métricas de OTLP transferidas con la API de Prometheus, que es el modo de métrica predeterminado para el receptor de OTLP.

Las consultas se basan en las métricas OTLP descritas en Métrica Estructural:

  • otlp.test.gauge: una métrica de indicador OTLP que registra valores de punto flotante de 64 bits.
  • otlp.test.cumlative: una métrica de contador de OTLP que registra valores de punto flotante de aumento de 64 bits.

Estas métricas se transfieren a Cloud Monitoring con lo siguiente: tipos de métricas, que funcionan como nombres:

  • prometheus.googleapis.com/otlp_test_gauge/gauge
  • prometheus.googleapis.com/otlp_test_cumulative/counter

Las métricas transferidas con la API de Prometheus se escriben en el tipo de recurso supervisado prometheus_target.

En las pestañas, se muestra cómo se ven las consultas básicas cuando se consultan las métricas con la consola de Google Cloud. En estos ejemplos, se usa el Explorador de métricas, pero los principios son los mismos para los paneles y las políticas de alertas.

Interfaz del compilador de consultas

Para usar una interfaz del compilador de consultas para consultar los datos de las métricas, especifica el tipo de métrica y el tipo de recurso supervisado con la escritura en los campos habilitados para la búsqueda. Hay muchos menos tipos de recursos que tipos de métricas, por lo que es más eficaz buscar el tipo de recurso y usar el menú de métricas asociadas para encontrar el tipo de métrica.

Si ingresas "prometheus" en el campo de búsqueda, los resultados incluyen prometheus_target recurso supervisado, que se muestra con el nombre visible “Prometheus Target” y el conjunto de métricas que escriben en el recurso. Las métricas son categorizada por nombre; Las dos métricas de ejemplo aparecen como la categoría Otlp. Puedes seleccionar Prometheus/otlp_test_specific/counter o Prometheus/otlp_test_gauge/gauge.

Para obtener más información del uso del compilador de consultas, visita Compila consultas con menús.

En la siguiente captura de pantalla, se muestra el resultado de la consulta Métrica de prometheus.googleapis.com/otlp_test_gauge/gauge:

Gráfico del Explorador de métricas basado en el compilador para la métrica del indicador OTLP transferida con la API de Prometheus.

En la siguiente captura de pantalla, se muestra el resultado de la consulta Métrica de prometheus.googleapis.com/otlp_test_cumulative/counter:

Gráfico del Explorador de métricas basado en compilador para la métrica de contador de OTLP transferida con la API de Prometheus.

MQL

Para consultar datos de métricas con MQL, usa una declaración fetch y especifica el tipo de métrica y el tipo de recurso supervisado, con :: entre ellos. Las consultas de MQL triviales para las métricas de ejemplo se ven de la siguiente manera: lo siguiente:

  • fetch prometheus.googleapis.com/otlp_test_gauge/gauge::prometheus_target
  • fetch prometheus.googleapis.com/otlp_test_cumulative/counter::prometheus_target

Para obtener más información para crear consultas de MQL, consulta Ejemplos de consultas de MQL.

En la siguiente captura de pantalla, se muestra el resultado de la consulta Métrica de prometheus.googleapis.com/otlp_test_gauge/gauge:

Gráfico del explorador de métricas de MQL para la métrica del indicador OTLP transferida con la API de Prometheus.

En la siguiente captura de pantalla, se muestra el resultado de la consulta Métrica de prometheus.googleapis.com/otlp_test_cumulative/counter:

Gráfico del Explorador de métricas de MQL para la métrica de contador de OTLP transferida con la API de Prometheus.

PromQL

Cuando usas PromQL para consultar datos de métricas que se transfirieron con la API de Prometheus, solo debes especificar el formato modificado del nombre de la métrica OTLP original. No es necesario que especifiques el prefijo la cadena prometheus.googleapis.com/ o el tipo postfijo.

Cuando la métrica se puede escribir en un solo tipo de recurso supervisado, no necesitas especificar el recurso. Como se describe en Estructura de métrica, las métricas de OTLP transferidas con la API de Prometheus se escriben solo en el tipo de recurso supervisado prometheus_target. Las consultas triviales de PromQL para las métricas de ejemplo se ven de la siguiente manera:

  • otlp_test_gauge
  • otlp_test_cumulative

Si deseas obtener más información para usar PromQL en Cloud Monitoring para consultar las métricas transferidas con la API de Prometheus, consulta Datos de Google Cloud Managed Service para Prometheus en Cloud Monitoring. Para obtener información del lenguaje PromQL, consulta Consulta Prometheus.

En la siguiente captura de pantalla, se muestra el resultado de la consulta Métrica de prometheus.googleapis.com/otlp_test_gauge/gauge:

Gráfico del Explorador de métricas de PromQL para la métrica del indicador OTLP transferida con la API de Prometheus.

En la siguiente captura de pantalla, se muestra el resultado de la consulta Métrica de prometheus.googleapis.com/otlp_test_cumulative/counter:

Gráfico del Explorador de métricas de PromQL para la métrica de contador de OTLP transferida con la API de Prometheus.

Consulta las métricas de OTLP que se transfieren con la API de Monitoring

En esta sección, se ilustra cómo consultar las métricas de OTLP transferidas con la API de Monitoring. Para seleccionar la API de Cloud Monitoring, configura el campo metrics_mode del receptor OTLP al valor googlecloudmonitoring

Las consultas se basan en las métricas OTLP descritas en Métrica Estructural:

  • otlp.test.gauge: una métrica de indicador OTLP que registra valores de punto flotante de 64 bits.
  • otlp.test.cumlative: una métrica de contador de OTLP que registra valores de punto flotante de aumento de 64 bits.

Estas métricas se transfieren a Cloud Monitoring con lo siguiente: tipos de métricas, que funcionan como nombres:

  • workload.googleapis.com/otlp.test.gauge
  • workload.googleapis.com/otlp.test.cumulative

Las métricas transferidas con la API de Monitoring se escriben en el tipo de recurso supervisado gce_instance.

En las pestañas, se muestra cómo se ven las consultas básicas cuando se consultan las métricas con la consola de Google Cloud. En estos ejemplos, se usa el Explorador de métricas, pero los principios son los mismos para los paneles y las políticas de alertas.

Interfaz del compilador de consultas

Para usar una interfaz del compilador de consultas para consultar los datos de las métricas, especifica el tipo de métrica y el tipo de recurso supervisado con la escritura en los campos habilitados para la búsqueda. Hay muchos menos tipos de recursos que tipos de métricas, por lo que es más eficaz buscar el tipo de recurso y usar el menú de métricas asociadas para encontrar el tipo de métrica.

Si ingresas “gce_instance” en el campo de búsqueda, los resultados te mostrarán recurso por su nombre visible, “Instancia de VM” y el conjunto de métricas escribir en el recurso. Las métricas se clasifican por nombre. Las dos métricas de ejemplo aparecen como la categoría Otlp. Puedes seleccionar Workload/otlp_test_cumulativa o Workload/otlp_test_gauge.

Para obtener más información del uso del compilador de consultas, visita Compila consultas con menús.

En la siguiente captura de pantalla, se muestra el resultado de la consulta Métrica de workload.googleapis.com/otlp.test.gauge:

Gráfico del Explorador de métricas basado en el compilador para la métrica del indicador OTLP transferida con la API de Monitoring.

En la siguiente captura de pantalla, se muestra el resultado de la consulta Métrica de workload.googleapis.com/otlp.test.cumulative:

Gráfico del Explorador de métricas basado en compilador para la métrica de contador de OTLP transferida con la API de Monitoring.

MQL

Para consultar datos de métricas con MQL, usa una declaración fetch y especifica el tipo de métrica y el tipo de recurso supervisado, con :: entre ellos. Se ven las consultas de MQL simples para las métricas de ejemplo. lo siguiente:

  • fetch workload.googleapis.com/otlp.test.gauge::gce_instance
  • fetch workload.googleapis.com/otlp.test.cumulative::gce_instance

Para obtener más información para crear consultas de MQL, consulta Ejemplos de consultas de MQL.

En la siguiente captura de pantalla, se muestra el resultado de la consulta Métrica de workload.googleapis.com/otlp.test.gauge:

Gráfico del Explorador de métricas de MQL para la métrica del indicador OTLP transferida con la API de Monitoring.

En la siguiente captura de pantalla, se muestra el resultado de la consulta Métrica de workload.googleapis.com/otlp.test.cumulative:

Gráfico del Explorador de métricas de MQL para la métrica de contador de OTLP transferida con la API de Monitoring.

PromQL

Cuando usas PromQL para consultar datos de métricas que se transfirieron con la API de Monitoring, debes asignar el nombre de la métrica a las convenciones de PromQL. Las reglas básicas de asignación incluyen lo siguiente:

  • Reemplaza el primer / por :.
  • Reemplaza todos los demás caracteres especiales (incluidos . y otros caracteres /) por _.

Para obtener más información de las reglas de asignación, consulta Asigna métricas de Cloud Monitoring a PromQL.

Los tipos de métricas de Monitoring para las métricas de ejemplo son asignado a PromQL de la siguiente manera:

  • workload_googleapis_com:otlp_test_gauge
  • workload_googleapis_com:otlp_test_cumulative

Cuando la métrica se puede escribir en un solo tipo de recurso supervisado, no necesitas especificar el recurso. Las métricas de ejemplo se escriben según el tipo de recurso supervisado gce_instance, pero como se describe en Estructura de las métricas, gce_instance es solo uno de los tipos de métricas posibles. Por lo tanto, el código de PromQL las consultas de estas métricas deben incluir un filtro para gce_instance el tipo de recurso. Para incluir el filtro, agrega la siguiente cadena al final de los nombres de las métricas asignadas: {monitored_resource="gce_instance"}

Para obtener más información del uso de PromQL en Cloud Monitoring, consulta PromQL en Cloud Monitoring. Para obtener información del lenguaje PromQL, consulta Consulta Prometheus.

Las consultas triviales de PromQL para las métricas de ejemplo se ven de la siguiente manera:

  • workload_googleapis_com:otlp_test_gauge{monitored_resource="gce_instance"}
  • workload_googleapis_com:otlp_test_cumulative{monitored_resource="gce_instance"}

En la siguiente captura de pantalla, se muestra el resultado de la consulta Métrica de workload.googleapis.com/otlp.test.gauge:

Gráfico del Explorador de métricas de PromQL para la métrica del indicador OTLP transferida con la API de Monitoring.

En la siguiente captura de pantalla, se muestra el resultado de la consulta Métrica de workload.googleapis.com/otlp.test.cumulative:

Gráfico del Explorador de métricas de PromQL para la métrica de contador de OTLP transferida con la API de Monitoring.

Visualiza el uso y el diagnóstico de las métricas en Cloud Monitoring

En la página Administración de métricas de Cloud Monitoring, se proporciona información que puede ayudarte a controlar el importe que inviertes en las métricas cobrables sin afectar la observabilidad. En la página Administración de métricas, se informa la siguiente información:

  • Los volúmenes de transferencia para la facturación basada en bytes y de muestra, en todos los dominios de métricas y para las métricas individuales.
  • Datos sobre etiquetas y cardinalidad de métricas.
  • Uso de métricas en políticas de alertas y paneles personalizados.
  • Tasa de errores de escritura de métricas.

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 de la página Administración de métricas, consulta Visualiza y administra el uso de métricas.

Recopila registros de OTLP

Si configuraste el agente de operaciones para que recopile seguimientos, pero no obtienes seguimientos en Cloud Trace cuando ejecutas tu aplicación, es posible que debas otorgar un rol adicional a la cuenta de servicio de Compute Engine que use el agente. De forma predeterminada, la cuenta de servicio obtiene los roles necesarios para escribir métricas y registros, pero no seguimientos.

En la siguiente sección, se describe cómo otorgar a la cuenta de servicio el la autorización necesaria de Cloud Trace.

Determina los roles otorgados a la cuenta de servicio

Para ver los roles otorgados a una cuenta de servicio, ejecuta el siguiente comando gcloud projects get-iam-policy:

gcloud projects get-iam-policy PROJECT_ID --format="table(bindings.role)" --flatten="bindings[].members" --filter="bindings.members:SERVICE_ACCT_NAME@PROJECT_ID.iam.gserviceaccount.com"

Es posible que veas un resultado como el siguiente:

ROLE
roles/logging.logWriter
roles/monitoring.metricWriter

Si el resultado incluye roles/cloudtrace.agent roles/cloudtrace.admin, la cuenta de servicio tiene suficiente permiso para escribir seguimientos. Para otorgar uno de estos roles a la cuenta de servicio, consulta la siguiente sección.

Otorga el rol de Cloud Trace a la cuenta de servicio

Para una cuenta de servicio, el rol de agente de Cloud Trace, roles/cloudtrace.agent, por lo general, es adecuada. Para otorgar este rol a la cuenta de servicio, Ejecuta el siguiente comando gcloud projects add-iam-policy-binding:

gcloud projects add-iam-policy-binding PROJECT_ID --member "serviceAccount:SERVICE_ACCT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role="roles/cloudtrace.agent"

Luego, puedes ejecutar el comando gcloud projects get-iam-policy para verificar de que se realizó el cambio:

gcloud projects get-iam-policy PROJECT_ID --format="table(bindings.role)" --flatten="bindings[].members" --filter="bindings.members:SERVICE_ACCT_NAME@PROJECT_ID.iam.gserviceaccount.com"

El resultado ahora incluye roles/cloudtrace.agent:

ROLE
roles/cloudtrace.agent
roles/logging.logWriter
roles/monitoring.metricWriter

Para obtener más información de la administración de roles de IAM, consulta Administra el acceso a proyectos, carpetas y organizaciones.

Luego de autorizar a la cuenta de servicio que usa el Agente de operaciones para escribir datos a Cloud Trace. Cuando ejecutas tu aplicación basada en OpenTelemetry, aparecerán en Cloud Trace:

En el panel de detalles de seguimiento, se muestra un seguimiento OTLP.

Inhabilita el receptor de OTLP

Si recopilas métricas y seguimientos de OTLP con el agente de operaciones y deseas inhabilitar la recopilación de métricas o de seguimientos, pero no ambos, haz lo siguiente:

  1. Inhabilita la recopilación de métricas o de seguimientos con uno de los siguientes cambios en el archivo de configuración del usuario, config.yaml:

    • Quita la canalización otlp del servicio metrics.
    • Quita la canalización otlp del servicio traces.
  2. Reinicia el Agente de operaciones.

Para inhabilitar la recopilación de métricas y seguimientos OTLP por parte del Agente de operaciones, haz lo siguiente:

  1. Quita la configuración de OTLP del archivo de configuración del usuario:

    • Borrar toda la sección combined, que incluye otlp receptor.
    • Quita la canalización otlp del servicio metrics.
    • Borra todo el servicio traces.
  2. Reinicia el Agente de operaciones.

¿Qué sigue?

Una vez que se hayan transferido las métricas y los seguimientos de tu aplicación, puedes usar la consola de Google Cloud para supervisar y analizar tus datos.