En este documento se describe cómo puede usar el agente de operaciones y el receptor del protocolo OpenTelemetry (OTLP) para recoger métricas y trazas definidas 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 de los casos prácticos del receptor OTLP.
- Requisitos para usar el receptor OTLP.
- Configurar el agente para que use el receptor OTLP
- Usar el receptor para recoger métricas. En esta sección se describe cómo consultar las métricas de OpenTelemetry en Cloud Monitoring.
- Usar el receptor para recoger trazas. En esta sección se describe cómo autorizar una cuenta de servicio para escribir datos en Cloud Trace.
Información general sobre el uso del receptor OTLP
Con el receptor OTLP del agente de Ops, puedes hacer lo siguiente:
- Instrumenta tu aplicación con uno de los SDKs específicos para cada lenguaje de OpenTelemetry. Para obtener información sobre los idiomas admitidos, consulta Instrumentación de OpenTelemetry. La combinación de los SDKs de OpenTelemetry y el agente de operaciones te permite hacer lo siguiente:
- Recoge métricas de OTLP de tu aplicación y envíalas a Cloud Monitoring para analizarlas.
- Recoge intervalos de OTLP (datos de trazas) de tu aplicación y, a continuación, envíalos a Cloud Trace para analizarlos.
- Recoge trazas de aplicaciones de terceros que tengan compatibilidad integrada con OTLP o complementos con dicha compatibilidad, como Nginx. El receptor OTLP del agente de operaciones puede recoger esas trazas. Por ejemplo, consulta el módulo nginx de OpenTelemetry.
- Usa la instrumentación personalizada de OpenTelemetry.
- Usa la instrumentación automática de OpenTelemetry.
Puedes usar el receptor para recoger métricas, trazas o ambas. Una vez que el agente de Ops haya recogido las métricas, podrá usar las funciones de Cloud Monitoring, como gráficos, paneles de control y políticas de alertas, para monitorizarlas. Si tu aplicación también envía datos de traza, puedes usar Cloud Trace para analizarlos.
Ventajas
Antes de que estuviera disponible el complemento OTLP para el agente de operaciones, las principales formas de instrumentar tus aplicaciones para recoger métricas y trazas definidas por el usuario eran las siguientes:
- Usar bibliotecas de cliente que implementen la API Monitoring o la API Trace.
- Usar las bibliotecas OpenCensus anteriores.
Usar OpenTelemetry con el receptor OTLP ofrece varias ventajas con respecto a estos métodos, entre las que se incluyen las siguientes:
- OpenTelemetry sustituye a OpenCensus. El proyecto OpenCensus se va a archivar. Para obtener más información, consulta el artículo ¿Qué es OpenTelemetry?
- La ingestión se controla a nivel de agente, por lo que no tienes que volver a desplegar tus aplicaciones si cambia la configuración del agente.
- Tus aplicaciones no necesitan configurar credenciales de Google Cloud , ya que toda la autorización se gestiona a nivel del agente.
- El código de tu aplicación no contiene código de monitorización ni de seguimiento específicos de Google Cloud. No es necesario que uses directamente la API Monitoring ni la API Trace.
- Tu aplicación envía datos al agente de operaciones y, si falla, no se pierden los datos que haya recogido el agente.
Limitaciones
El receptor de Agente de operaciones expone el receptor OTLP, que admite el transporte gRPC. No se admite HTTP, que se usa principalmente para clientes JavaScript. Para obtener más información sobre el protocolo OpenTelemetry, consulte Detalles del protocolo.
El receptor OTLP no recoge registros. Puede recoger registros mediante el agente de operaciones y otros receptores, e incluir información de registro en los intervalos de OTLP, pero el receptor de OTLP no admite la recogida directa de registros. Para obtener información sobre cómo usar el agente de Ops para recoger registros, consulta Configuraciones de registro.
Requisitos previos
Para recoger métricas y trazas de OTLP mediante el receptor de OTLP y el agente de operaciones, debes instalar el agente de operaciones versión 2.37.0 o una posterior.
En este documento se da por hecho que ya tienes una aplicación basada en OpenTelemetry escrita con uno de los SDKs de OpenTelemetry. En este documento no se explica cómo usar los SDKs de OpenTelemetry. Para obtener información sobre los SDKs y los idiomas admitidos, consulta Instrumentación de OpenTelemetry.
Configurar el agente de operaciones
Para configurar el agente de operaciones de forma que use el receptor OTLP, haz lo siguiente:
- Modifica el archivo de configuración de usuario del agente de operaciones para incluir el receptor OTLP.
- Reinicia el agente de operaciones.
En las siguientes secciones se describe cada paso.
Modificar el archivo de configuración de usuario del agente de operaciones
Añada los elementos de configuración del receptor OTLP al archivo de configuración del usuario del agente de operaciones:
- En Linux:
/etc/google-cloud-ops-agent/config.yaml - En Windows:
C:\Program Files\Google\Cloud Operations\Ops Agent\config\config.yaml
Para obtener información general sobre cómo configurar el agente, consulta Modelo de configuración.
El receptor OTLP introduce la sección de configuración combined para el agente de operaciones. Para usar el receptor, debes configurar los servicios de métricas y de trazas, aunque no uses ambos.
En las siguientes secciones se describen los pasos de configuración del receptor OTLP.
Añade la sección del receptor combined
Coloca el receptor de métricas y trazas de OTLP en la sección combined. 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 de la sección combined. En el siguiente ejemplo, se usa otlp como nombre del receptor.
La configuración mínima de combined para OTLP es la siguiente: