En este documento, se muestra cómo ejecutar el recopilador de OpenTelemetry compilado por Google en Cloud Run para recopilar registros, métricas y seguimientos de OTLP de aplicaciones instrumentadas y, luego, exportar esos datos a Google Cloud.
Antes de comenzar
Para ejecutar el recopilador de OpenTelemetry integrado en Google, se requieren los siguientes recursos:
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Logging, Cloud Monitoring, and Cloud Trace APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Cloud Logging, Cloud Monitoring, and Cloud Trace APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles. - Es un servicio de Cloud Run. Si no tienes un servicio de Cloud Run, sigue las instrucciones en Planifica y prepara tu servicio.
- Una instalación de
gcloudPara obtener información sobre la instalación degcloud, consulta Instala la CLI degcloud. - Escritor de métricas de Monitoring (
roles/monitoring.metricWriter) - Escritor de registros de Logging (
roles/logging.logWriter) - Administrador de Cloud Run (
roles/run.admin) Secret Manager Secret Accessor(roles/secretmanager.secretAccessor)Exportador
googlecloudpara registros y seguimientos Este exportador se configura con un nombre de registro predeterminado.Exportador de
googlemanagedprometheuspara métricas. Este exportador no requiere configuración, pero hay opciones de configuración disponibles. Para obtener información sobre las opciones de configuración del exportadorgooglemanagedprometheus, consulta Comienza a usar el recopilador de OpenTelemetry en la documentación de Google Cloud Managed Service para Prometheus.batch: Se configura para solicitudes de telemetría por lotes en la cantidad máxima de entradas por solicitud o en el intervalo mínimo de cada 5 segundos (lo que ocurra primero). Google Cloud Google Cloudmemory_limiter: Limita el uso de memoria del recopilador para evitar fallas por memoria insuficiente descartando puntos de datos cuando se supera el límite.resourcedetection: Detecta automáticamente etiquetas de recursos Google Cloud , comoproject_id.-
En la consola de Google Cloud , accede a la página leaderboard Explorador de métricas:
Acceder al Explorador 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 de la consola de Google Cloud , selecciona tu proyecto de Google Cloud . Para las configuraciones de App Hub, selecciona el proyecto host de App Hub o el proyecto de administración de la carpeta habilitada para apps.
- En el elemento Métrica, expande el menú Seleccionar una métrica,
ingresa
Prometheus Targeten la barra de filtros y, luego, usa los submenús para seleccionar un métrica y tipo de recurso específicos:- En el menú Recursos activos, elige Destino de Prometheus.
- Para seleccionar una métrica, usa los menús Categorías de métricas activas y Métricas activas.
Las métricas recopiladas por el recopilador de OpenTelemetry integrado en Google tienen el prefijo
prometheus.googleapis.com. - Haz clic en Aplicar.
Para agregar filtros que quiten series temporales de los resultados de la consulta, usa el elemento Filtro.
- Configura cómo se ven los datos.
Cuando las mediciones de una métrica son acumulativas, el Explorador de métricas normaliza automáticamente los datos medidos por el período de alineación, lo que hace que el gráfico muestre una frecuencia. Para obtener más información, consulta Categorías, tipos y conversiones.
Cuando se miden valores de números enteros o dobles, como con las métricas
counter, el Explorador de métricas suma automáticamente todas las series temporales. Para cambiar este comportamiento, establece el primer menú de la entrada Agregación como Ninguna.Para obtener más información sobre la configuración de un gráfico, consulta elige métricas cuando uses el Explorador de métricas.
-
En la consola de Google Cloud , ve a la página Explorador de seguimiento:
Ve al Explorador de seguimiento
También puedes usar la barra de búsqueda para encontrar esta página.
- En la barra de herramientas de la consola de Google Cloud , selecciona tu proyecto de Google Cloud . Para las configuraciones de App Hub, selecciona el proyecto host o el proyecto de administración de App Hub.
- En la sección de la tabla de la página, selecciona una fila.
En el diagrama de Gantt del panel Detalles de seguimiento, selecciona un intervalo.
Se abrirá un panel que muestra información sobre la solicitud registrada. Estos detalles incluyen el método, el código de estado, la cantidad de bytes y el usuario-agente del emisor.
Para ver los registros asociados con este seguimiento, selecciona la pestaña Registros y eventos.
La pestaña muestra registros individuales. Para ver los detalles de la entrada de registro, expande la entrada de registro. También puedes hacer clic en Ver registros y ver el registro con el Explorador de registros.
-
En la consola de Google Cloud , accede a la página Explorador de registros:
Accede al Explorador de registros.
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Logging.
Busca una entrada de registro de tu app instrumentada. Para ver los detalles, expande la entrada de registro.
Haz clic en
Seguimientos en una entrada de registro con un mensaje de seguimiento y, luego, selecciona Ver detalles de seguimiento.
Se abrirá el panel Detalles de seguimiento y se mostrará el seguimiento seleccionado.
-
En la consola de Google Cloud , accede a la página Paneles
:
Si usas la barra de búsqueda para encontrar esta página, selecciona el resultado cuyo subtítulo es Monitoring.
- Haz clic en Plantillas de panel.
- Busca el panel OpenTelemetry Collector.
- Opcional: Para obtener una vista previa del panel, selecciónalo.
Haz clic en playlist_add Agregar panel a tu lista y, luego, completa el diálogo.
El diálogo te permite seleccionar el nombre del panel y agregarle etiquetas.
Configura los permisos del recopilador
De forma predeterminada, los trabajos y servicios de Cloud Run usan la cuenta de servicio predeterminada de Compute Engine, PROJECT_NUMBER-compute@developer.gserviceaccount.com.
Por lo general, esta cuenta de servicio tiene los roles de Identity and Access Management (IAM) necesarios para escribir las métricas y los registros que se describen en este documento:
Pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:
También puedes configurar una cuenta de servicio administrada por el usuario para Cloud Run. Una cuenta de servicio administrada por el usuario también debe tener estas funciones. Para obtener más información sobre las cuentas de servicio de Cloud Run, consulta Introducción a la identidad del servicio.
Implementa el recopilador
Para instalar el recopilador de OpenTelemetry integrado en Google como un sidecar para tu Cloud Run, primero crea un secreto para almacenar la configuración del recopilador.
gcloud secrets create SECRET_NAME --data-file=config.yaml --project=PROJECT_ID
A continuación, agrega el recopilador de OpenTelemetry compilado por Google como un archivo adicional a tu service.yaml:
apiVersion: serving.knative.dev/v1
kind: Service
metadata:
annotations:
run.googleapis.com/launch-stage: ALPHA
name: google-otel-cloud-run-sample
spec:
template:
metadata:
annotations:
# [REQUIRED] set the collector as a parent to the app
run.googleapis.com/container-dependencies: "{app:[collector]}"
run.googleapis.com/secrets: 'SECRET_NAME:projects/PROJECT_ID/secrets/SECRET_NAME'
spec:
containers:
- image: my-app
name: app
ports:
- containerPort: 8080
env:
- name: "OTEL_EXPORTER_OTLP_ENDPOINT"
value: "http://localhost:4317"
- image: "us-docker.pkg.dev/cloud-ops-agents-artifacts/google-cloud-opentelemetry-collector/otelcol-google:0.138.0"
args:
- --config=/etc/otelcol-google/config.yaml
name: collector
startupProbe:
httpGet:
path: /
port: 13133
timeoutSeconds: 30
periodSeconds: 30
livenessProbe:
httpGet:
path: /
port: 13133
timeoutSeconds: 30
periodSeconds: 30
volumeMounts:
- mountPath: /etc/otelcol-google/
name: config
volumes:
- name: config
secret:
items:
- key: latest
path: config.yaml
secretName: 'SECRET_NAME'
Configura el recopilador
Te proporcionamos una configuración del recopilador de OpenTelemetry para que la uses con el recopilador integrado en Google. Esta configuración está diseñada para entregar grandes volúmenes de métricas, registros y seguimientos de OTLP. Esta configuración también está diseñada para evitar problemas comunes de transferencia. Puedes agregar elementos a la configuración, pero te recomendamos que no los quites.
En esta sección, se describe la configuración proporcionada, los componentes clave, como los exportadores, los procesadores, los receptores y otros componentes disponibles.
Configuración del recopilador proporcionada
Puedes encontrar la configuración del recopilador en el directoriogoogle-built-opentelemetry-collector del repositorio opentelemetry-operations-collector:
Exportadores
La configuración del recopilador incluye los siguientes exportadores:
Procesadores
La configuración del recopilador incluye los siguientes procesadores:
Receptores
La configuración del recopilador solo incluye el receptor otlp.
Para obtener información sobre cómo instrumentar tus aplicaciones para enviar seguimientos y métricas de OTLP al extremo de OTLP del recopilador, consulta Elige un enfoque de instrumentación.
Componentes disponibles
El recopilador de OpenTelemetry integrado en Google contiene los componentes que la mayoría de los usuarios necesitarán para habilitar una experiencia enriquecida en Google Cloud Observability. Para obtener una lista completa de los componentes disponibles, consulta Components en el repositorio de opentelemetry-operations-collector.
Para solicitar cambios o adiciones a los componentes disponibles, abre una solicitud de función en el repositorio de opentelemetry-operations-collector.
Genera datos de telemetría
Para generar telemetría, crea una aplicación de Cloud Run con un recopilador de sidecar. En el documento Escribe métricas de OTLP con un archivo adicional de OpenTelemetry, se proporciona un instructivo para usar el recopilador de OpenTelemetry integrado en Google como archivo adicional. Puedes usar este instructivo para generar datos de telemetría con el recopilador integrado en Google.
Ver telemetría
El recopilador de OpenTelemetry integrado en Google envía métricas, registros y seguimientos de tus aplicaciones instrumentadas a Google Cloud Observability. El recopilador también envía métricas de autoobservabilidad. En las siguientes secciones, se describe cómo ver esta telemetría.
Consulta tus métricas
El recopilador de OpenTelemetry integrado en Google recopila métricas de Prometheus que puedes ver con el Explorador de métricas. Las métricas recopiladas dependen de la instrumentación de la app, aunque el recopilador creado por Google también escribe algunas métricas propias.
Para ver las métricas recopiladas por el recopilador de OpenTelemetry integrado en Google, haz lo siguiente:Ve tus seguimientos
Para ver tus datos de seguimiento, haz lo siguiente:
Si deseas obtener más información para usar el explorador de Cloud Trace, consulta Busca y explora seguimientos.
Mira los registros
En el Explorador de registros, puedes inspeccionar tus registros y, también, puedes ver los seguimientos asociados, cuando existen.
Para obtener más información sobre el uso del Explorador de registros, consulta Visualiza registros con el Explorador de registros.
Observa y depura el recopilador
El recopilador de OpenTelemetry creado por Google proporciona automáticamente métricas de autoobservabilidad para ayudarte a supervisar su rendimiento y garantizar un tiempo de actividad continuo de la canalización de transferencia de OTLP.
Para supervisar el recopilador, instala el panel de muestra para el recopilador. Este panel ofrece estadísticas resumidas sobre varias métricas del recopilador, incluidos el tiempo de actividad, el uso de memoria y las llamadas a la API de Google Cloud Observability.
Para instalar el panel, haz lo siguiente:
Para obtener más información sobre la instalación de paneles, consulta Instala una plantilla de panel.