Saltar al contenido principal

Integración con OpenTelemetry Estándar 🌐

API Monitor APM es totalmente interoperable y compatible con los colectores y SDKs oficiales de la Cloud Native Computing Foundation (CNCF). Esto significa que si tu backend está escrito en Java, Go, .NET, Python, Rust, PHP u otros lenguajes, puedes conectarlo a nuestro SaaS utilizando las librerías estándares de OpenTelemetry sin necesidad de instalar SDKs propietarios.


⚡ Configuración de Colector OTel Estándar (OTLP/HTTP)

Para enrutar datos de tus microservicios utilizando los exportadores nativos de OpenTelemetry (OTLP/HTTP Exporter), solo debes configurar tus SDKs locales apuntando a los siguientes endpoints y configuraciones de autorización de tu SaaS:

1. Cabecera de Autorización Obligatoria

Todas las peticiones HTTP OTLP que envíes al SaaS deben incluir obligatoriamente tu token de API en la cabecera HTTP:

api-key-newinntech: TU_API_KEY_AQUÍ

2. Endpoints de Enrutamiento OTLP

Configura tus exporters de OpenTelemetry con las siguientes URLs de destino (reemplazando localhost por el host oficial de tu instancia de API Monitor):

  • Exportador de Trazas (OTLP Traces): http://localhost:3000/api/v1/otlp/v1/traces
  • Exportador de Logs (OTLP Logs): http://localhost:3000/api/v1/otlp/v1/logs
  • Exportador de Métricas (OTLP Metrics): http://localhost:3000/api/v1/otlp/v1/metrics

☕ Ejemplo de Configuración en Java (Java Agent)

Si tienes un microservicio escrito en Java (Spring Boot, Quarkus, etc.), puedes utilizar el agente de instrumentación automático de OpenTelemetry (opentelemetry-javaagent.jar) y configurarlo mediante argumentos del sistema al arrancar tu máquina virtual de Java (JVM):

java -javaagent:path/to/opentelemetry-javaagent.jar \
-Dotel.exporter.otlp.endpoint=http://localhost:3000/api/v1/otlp \
-Dotel.exporter.otlp.headers="api-key-newinntech=TU_API_KEY_DE_WORKSPACE" \
-Dotel.resource.attributes="service.name=mi-spring-boot-service,deployment.environment=production" \
-Dotel.traces.exporter=otlp \
-Dotel.metrics.exporter=otlp \
-Dotel.logs.exporter=otlp \
-jar mi-aplicacion.jar

🐹 Ejemplo de Configuración en Go (OTLP HTTP Exporter)

Si utilizas Go, puedes inicializar tus exporters del SDK de OpenTelemetry configurándolos para exportar de manera nativa mediante llamadas OTLP HTTP:

package main

import (
"context"
"go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp"
)

func initTracer() {
headers := map[string]string{
"api-key-newinntech": "TU_API_KEY_DE_WORKSPACE",
}

// Configurar exportador apuntando al colector del SaaS
exporter, _ := otlptracehttp.New(context.Background(),
otlptracehttp.WithEndpoint("localhost:3000"),
otlptracehttp.WithURLPath("/api/v1/otlp/v1/traces"),
otlptracehttp.WithHeaders(headers),
otlptracehttp.WithInsecure(), // Usar TLS seguro en producción
)

// ... vincular el exportador al TracerProvider ...
}

Esta compatibilidad total asegura que puedas consolidar toda tu infraestructura tecnológica y de servidores multi-lenguaje bajo una única interfaz de control centralizada en API Monitor APM.