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:
- Una descripción general que describe los casos de uso del receptor OTLP.
- Requisitos previos para usar el receptor OTLP
- Configura el agente para que use el receptor OTLP.
- Usa el receptor para recopilar métricas Esta sección se describe cómo consultar las métricas de OpenTelemetry en Cloud Monitoring.
- Usar el receptor para recopilar seguimientos. En esta sección, se describe cómo autorizar una cuenta de servicio para escribir datos a Cloud Trace.
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:
- Modifica el archivo de configuración del usuario para que el agente de operaciones incluya el receptor de OTLP.
- 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 serotlp
grpc_endpoint
: Opcional El extremo de gRPC en el que el receptor OTLP escucha. La configuración predeterminada es0.0.0.0:4317
.metrics_mode
: Opcional La configuración predeterminada esgooglemanagedprometheus
, 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 valorgooglecloudmonitoring
.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
- Para reiniciar el agente, ejecuta el siguiente comando en tu instancia:
sudo systemctl restart google-cloud-ops-agent
- 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
- Conéctate a tu instancia con RDP o una herramienta similar y accede a Windows.
- 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.
- Para reiniciar el agente, ejecuta el siguiente comando de PowerShell:
Restart-Service google-cloud-ops-agent -Force
- 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.
- Para obtener información sobre cómo crear gráficos y paneles, consulta Descripción general de los paneles y los gráficos.
- Para obtener información de las políticas de alertas, consulta Descripción general de alertas.
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
- Para conocer los precios actuales, consulta Precios de Cloud Monitoring resumen.
- Para obtener más información sobre cómo contar muestras y calcular los costos, consulta Ejemplos de precios basados en muestras transferidas.
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.
- Para conocer los precios actuales, consulta Precios de Cloud Monitoring resumen.
- Para obtener más información del volumen de transferencia y la estimación de costos, consulta Ejemplos de precios basados en bytes transferidos.
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
.
- El nombre de la métrica OTLP tiene el prefijo de la cadena
- Las siguientes etiquetas, propagadas con valores del recurso OTLP,
se agregan a la métrica:
instance_name
: Es el valor del atributo de recursohost.name
.machine_type
: Es el valor del atributo de recursohost.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 recursoprometheus_target
, propagados con valores del Recurso OTLP:location
: Es el valor del recursocloud.availability_zone
. .namespace
: Es el valor del atributo de recursohost.id
.
El tipo de recurso
prometheus_target
también incluye estas etiquetas:project_id
: El identificador del proyecto de Google Cloud, comomy-project
, en el que se ejecuta el Agente de operacionescluster
: 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, comocustom.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
- Consulta las métricas de OTLP transferidas con la API de Monitoring
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
:
En la siguiente captura de pantalla, se muestra el resultado de la consulta
Métrica de prometheus.googleapis.com/otlp_test_cumulative/counter
:
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
:
En la siguiente captura de pantalla, se muestra el resultado de la consulta
Métrica de prometheus.googleapis.com/otlp_test_cumulative/counter
:
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
:
En la siguiente captura de pantalla, se muestra el resultado de la consulta
Métrica de prometheus.googleapis.com/otlp_test_cumulative/counter
:
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
:
En la siguiente captura de pantalla, se muestra el resultado de la consulta
Métrica de workload.googleapis.com/otlp.test.cumulative
:
MQL
Para consultar datos de métricas con MQL, usa una declaraciónfetch
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
:
En la siguiente captura de pantalla, se muestra el resultado de la consulta
Métrica de workload.googleapis.com/otlp.test.cumulative
:
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
:
En la siguiente captura de pantalla, se muestra el resultado de la consulta
Métrica de workload.googleapis.com/otlp.test.cumulative
:
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:
-
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.
- 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:
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:
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 serviciometrics
. - Quita la canalización
otlp
del serviciotraces
.
- Quita la canalización
Para inhabilitar la recopilación de métricas y seguimientos OTLP por parte del Agente de operaciones, haz lo siguiente:
Quita la configuración de OTLP del archivo de configuración del usuario:
- Borrar toda la sección
combined
, que incluyeotlp
receptor. - Quita la canalización
otlp
del serviciometrics
. - Borra todo el servicio
traces
.
- Borrar toda la sección
¿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.
- Para obtener información de los paneles y los tipos de gráficos que puedes crear, consulta Paneles y gráficos.
- Para obtener información de las políticas de alertas, consulta Usa políticas de alertas.
- Para obtener más información sobre el análisis de datos de seguimiento, consulta Busca y explora seguimientos.