Verificando autenticación…

Saltar al contenido principal

Habilitación de Telemetría en Servicios Java (Spring Boot)

Descripción

Para capturar telemetría en nuestros servicios desplegados en Kubernetes (logs, métricas y trazas), es necesario agregar annotations en los deployments de las aplicaciones. Estas annotations permiten al collector de Grafana Alloy detectar automáticamente los servicios y recolectar la información necesaria para alimentar trazas, logs y métricas en Grafana Cloud.

Setup

  1. Modificación del Deployment del Servicio

Para los servicios Java (Spring Boot), edita el archivo: deploy/gke/deployment.yaml.erb

Agrega las siguientes annotations dentro del bloque spec.template.annotations:

spec:
template:
annotations:
instrumentation.opentelemetry.io/container-names: "app"
instrumentation.opentelemetry.io/inject-java: alloy/auto-instrumentation

Estas annotations permiten la inyección automática del agente OpenTelemetry en el contenedor app, habilitando la exportación de señales de telemetría hacia Grafana Alloy.

  1. Actualización del contenedor ESP

En el mismo archivo deployment.yaml.erb, ubica la definición del contenedor ESP y realiza los siguientes ajustes:

  • En todas las versiones mayores o iguales a 2 (2.x.x) del contenedor ESP, es obligatorio agregar el argumento --disable_tracing dentro del bloque args, para evitar conflictos con la instrumentación automática de OpenTelemetry.

Agrega el parámetro --disable_tracing dentro del bloque args

- name: esp
image: gcr.io/endpoints-release/endpoints-runtime:2.53.0
args: [..., "--disable_tracing"]

Esto asegura que el tracing sea gestionado exclusivamente por OpenTelemetry, evitando conflictos entre el ESP y el agente Alloy.