OpenTelemetry (Beta) opentelemetry-apm

Adobe sta sostituendo l’integrazione di Application Performance Monitoring (APM) integrata in AEM as a Cloud Service con OpenTelemetry, un approccio aperto e basato su standard di settore all’osservabilità supportato da ogni piattaforma di monitoraggio principale.

Oggi, AEM as a Cloud Service include un’integrazione APM integrata, gestita interamente da Adobe. Quando questa integrazione verrà sostituita, sarà necessario inserire il proprio endpoint APM, ovvero una piattaforma del fornitore che accetta dati OpenTelemetry o un back-end con hosting autonomo (on-premise) compatibile con OpenTelemetry.

AVAILABILITY
Questa pagina è un avviso anticipato. L'integrazione OpenTelemetry descritta di seguito è disponibile oggi tramite un programma Beta; una disponibilità più ampia è prevista per la fine del 2026. Per partecipare al programma Beta, invia un'e-mail a aemcs-apm-beta@adobe.com con la descrizione del caso d'uso. Se la tua organizzazione si basa attualmente sull’integrazione APM integrata di Adobe, utilizza questo periodo di Beta per valutare OpenTelemetry, scegli il tuo endpoint APM e pianifica la transizione prima di tale modifica. Dopo l'iscrizione, vedi Passaggio 1 di seguito per abilitarlo per il tuo ambiente.

Vantaggi di questa modifica benefits

  • Più telemetria, preconfigurata: traccia, metriche e registri insieme, fornendo un quadro più ampio del comportamento dell’applicazione AEM rispetto a quello fornito dall’integrazione incorporata di oggi.
  • Uno standard di settore aperto: OpenTelemetry è adottato in generale nel settore dell’osservabilità, fornendo alla telemetria un formato coerente e ampiamente supportato.
  • Inviare telemetria al provider adatto alla propria organizzazione, incluso il provider corrente, se supporta OpenTelemetry.
  • Supporto di rete avanzato: se l’endpoint è privato o richiede che il traffico in uscita lasci un indirizzo IP stabile noto, questa integrazione supporta l’uscita dedicata.
  • Un metodo unificato per metriche, tracce e registri: un singolo punto di integrazione per tutti e tre i metodi, anziché meccanismi separati. L’inoltro dei registri continua a funzionare così com’è, pertanto non è necessario modificare la modalità di inoltro dei registri.

Panoramica overview

AEM as a Cloud Service può emettere telemetria dalla tua applicazione utilizzando OpenTelemetry, un approccio aperto e basato su standard di settore all’osservabilità, e inoltrarla al provider APM desiderato. Questo consente di monitorare l’applicazione AEM insieme al resto dei sistemi, negli strumenti già utilizzati dai team.

I motivi comuni per utilizzare questa integrazione includono l’analisi delle richieste lente o in errore, il tracciamento nel tempo dello stato e dell’utilizzo delle risorse JVM, la creazione di dashboard e avvisi per i livelli AEM e la correlazione del comportamento di AEM con gli altri servizi durante un incidente, il tutto senza uscire dagli strumenti di monitoraggio già utilizzati dai team.

L’ambito della telemetria è il seguente:

​* Tracce — tracce distribuite di richieste gestite dall’applicazione AEM.
​* Metriche: metriche dell’applicazione, ad esempio le metriche di runtime JVM (memoria, Garbage Collection, thread) e le percentuali di richieste HTTP in entrata, le latenze e le percentuali di errore.
​* Registri: i registri dell’applicazione AEM, inviati utilizzando il segnale dei registri di OpenTelemetry. I registri sono facoltativi e possono essere attivati indipendentemente da tracce e metriche.

L’inoltro del registro continua a essere supportato tramite il meccanismo separato esistente e non è interessato da questa integrazione.

WARNING
Se si attivano contemporaneamente i registri tramite questa integrazione OpenTelemetry e Log Forwarding e entrambi vengono inviati alla stessa destinazione, verranno ricevuti messaggi di registro duplicati. Abilitare un solo percorso per destinazione o inviarli a una destinazione diversa.
IMPORTANT
Solo la telemetria generata dall'applicazione AEM viene inviata al provider APM. I dettagli relativi al runtime e all’infrastruttura Cloud Service sottostanti non sono mai inclusi. Vedi Dati inviati.

Versioni di OpenTelemetry supportate supported-versions

Componente
Funzione supportata
Agente Java OpenTelemetry
2.x
Protocollo di esportazione
OTLP/HTTPS (OpenTelemetry Protocol over HTTPS)

L’agente OpenTelemetry viene eseguito come parte del runtime di Cloud Service. Adobe lo fornisce e lo mantiene aggiornato, pertanto non è necessario installarlo, gestirlo o aggiornarlo. La versione della patch specifica può cambiare con l’aggiornamento dell’agente da parte di Adobe.

Varianti OpenTelemetry supportate supported-variants

L’applicazione AEM può essere dotata di strumenti con una delle seguenti varianti dell’agente OpenTelemetry (distribuzioni), tutte basate sulla versione precedente. Scegli la variante adatta ai tuoi strumenti; per informazioni dettagliate, consulta la documentazione di ciascun progetto:

Variante
Documentazione
OpenTelemetry (a monte) - impostazione predefinita
Strumentazione Java OpenTelemetry
Grafana
Distribuzione OpenTelemetry di Grafana per Java
Splunk
Distribuzione Splunk di Java OpenTelemetry

La variante a monte predefinita funziona con qualsiasi fornitore APM. Le varianti Grafana e Splunk aggiungono la strumentazione specifica del fornitore e i valori predefiniti per tali piattaforme.

fornitori APM apm-vendors

Puoi inviare la tua telemetria a qualsiasi fornitore di Monitoraggio delle prestazioni delle applicazioni che accetta dati OpenTelemetry su OTLP/HTTPS. Questo è indipendente dalla variante OpenTelemetry scelta. I fornitori con supporto OTLP/HTTPS includono:

​* New Relic
​* Grafana Cloud
​* Splunk Observability Cloud
​* Dynatrace
​* Datadog
​* Trattino0
​* favo d’ape
​* Osservabilità elastica
​* Logica sumo
​* Osservabilità ServiceNow Cloud

Questo elenco non è esaustivo: è possibile utilizzare qualsiasi back-end che espone un endpoint OTLP/HTTPS.

Ambienti supportati supported-environments

Puoi abilitare questa integrazione negli ambienti di produzione, fase e sviluppo di Cloud Manager. Ogni ambiente è abilitato singolarmente. Vedere Passaggio 1. Gli ambienti di sviluppo rapido (RDE) non sono supportati.

Connettività di rete network-connectivity

L’endpoint del provider APM deve essere raggiungibile dall’ambiente AEM as a Cloud Service tramite HTTPS.

Se l’endpoint APM è privato o se è necessario che il traffico in uscita lasci un indirizzo IP stabile e noto, questa integrazione supporta Rete avanzata con uscita dedicata. Per informazioni su come abilitarlo, vedere Rete avanzata.

Quali dati vengono inviati what-data-is-sent

Solo i registri di tracce, metriche e (se abilitati) generati dall’applicazione AEM vengono inviati al provider APM. Gli esempi seguenti illustrano il tipo di dati che è possibile prevedere.

Tracce — espande le richieste gestite dall’applicazione, tra cui:

​* Intervalli di richieste HTTP in entrata, denominati per metodo e route (ad esempio, GET /content/...).
​* Le estensioni del servlet e del database in uscita (JDBC) vengono generate durante l’elaborazione di una richiesta.

Le attività di pianificazione interna e di valutazione dello stato di salute (ad esempio, i lavori al quarzo) vengono filtrate in modo che le tracce rimangano concentrate sulle richieste delle applicazioni. In questa versione non vengono emessi span interni dettagliati al framework di AEM, come la risoluzione delle risorse Sling, i servizi OSGi o l’accesso JCR.

Metriche: metriche del runtime JVM e del server HTTP, utilizzando nomi di metriche OpenTelemetry standard, tra cui:

​* Runtime JVM: jvm.memory.used, jvm.gc.duration, jvm.thread.count e jvm.cpu.recent_utilization.
​* Server HTTP: http.server.request.duration (la frequenza di richieste, i percentili di latenza e la frequenza di errori sono derivati da questo istogramma).

Registri: le voci di registro dell’applicazione AEM, inviate utilizzando il segnale dei registri di OpenTelemetry, se abilitate. Le voci di registro contengono gli stessi attributi di risorsa delle tracce e delle metriche (service.name, deployment.environment), pertanto possono essere correlate con esse.

I registri inviati in questo modo sono indipendenti da Inoltro log. Per informazioni sul motivo per cui l’abilitazione di entrambi nella stessa destinazione causa duplicati, vedere Panoramica.

Identificazione della telemetria: ogni traccia e metrica include attributi di risorse che identificano la relativa origine, tra cui:

​* service.name: identifica il programma, l’ambiente, il servizio e il livello (ad esempio, cm-p<program>-e<environment>-aem-publish-prod).
​* deployment.environment — tipo di ambiente (ad esempio, prod o stage).

Le informazioni sul runtime di Cloud Service e sulla piattaforma che ospita l’applicazione, ad esempio nomi host interni, indirizzi, identificatori dei contenitori e dettagli del sistema operativo o del processo, vengono rimosse prima che i dati lascino l’ambiente.

Configurare l’integrazione set-up

Passaggio 1: abilitare l’integrazione request-access

Aggiungi un file config/otel.yaml all’archivio della pipeline di configurazione di Cloud Manager. Specifica almeno:

​* I tipi di ambiente a cui si applica questa configurazione (ad esempio, stage e prod).
​* Tipo del provider APM e URL dell’endpoint OTLP/HTTPS (inclusa l’area geografica, se applicabile).
​* Il metodo di autenticazione utilizzato dal provider (vedere Passaggio 2).

Vedi Esempio di configurazione di seguito per il formato di file esatto, inclusi esempi per New Relic, Dynatrace, Datadog, Dash0 ed endpoint generici o self-hosted.

Passaggio 2: configurare le credenziali di autenticazione configure-credential

Fornire le credenziali richieste dal provider APM dichiarando una variabile di ambiente segreta denominata OTEL_CUSTOMER_AUTH in Cloud Manager. Imposta Servizio applicato su Tutti in modo che le credenziali siano disponibili per i livelli di authoring, pubblicazione e anteprima.

Per aggiungere o aggiornare le variabili di ambiente, è necessario essere membri del ruolo Responsabile della distribuzione. Per la procedura completa, vedere Variabili di ambiente in Cloud Manager.

Imposta il valore in base al metodo di autenticazione del provider:

Metodo di autenticazione
Valore di OTEL_CUSTOMER_AUTH
Esempio
HTTP Basic
Parola Basic, spazio, quindi codifica Base64 di username:password.
Basic YWxhZGRpbjpvcGVuc2VzYW1l
Token Bearer
La parola Bearer, uno spazio, quindi il token.
Bearer eyJhbGciOiJ...
Chiave API
Solo il valore della chiave non elaborato, con prefisso no.
Chiave di licenza di acquisizione di New Relic (ad esempio, un codice di 40 caratteri)
NOTE
Per l'autenticazione Basic e Bearer, il valore viene inviato nell'intestazione Authorization standard, pertanto deve includere la parola schema (Basic o Bearer). Per i provider che utilizzano un'intestazione personalizzata, ad esempio l'intestazione api-key di New Relic, fornire solo il valore delle credenziali non elaborate e impostare authHeaderName nel file di configurazione sul nome dell'intestazione corretto (vedere Esempio di configurazione).
CAUTION
OTEL_CUSTOMER_AUTH è una credenziale Dichiarala sempre come variabile di ambiente secret in modo che il relativo valore non venga mai archiviato in Git o esposto nei registri.

Impostazioni specifiche del provider provider-specific

Nella tabella seguente vengono riepilogati l’endpoint e l’autenticazione per alcuni provider comuni. Conferma sempre i valori correnti nella documentazione del provider. Per i provider che utilizzano un’intestazione personalizzata (ad esempio, New Relic e Datadog), impostare OTEL_CUSTOMER_AUTH solo sul valore di chiave non elaborata e impostare authHeaderName nel file di configurazione sul nome di intestazione corretto (vedere Esempio di configurazione).

Provider
Endpoint esempio
Autenticazione
New Relic
https://otlp.nr-data.net (USA), https://otlp.eu01.nr-data.net (UE)
Acquisisci la chiave License, inviata nell’intestazione api-key personalizzata (valore non elaborato, nessun prefisso). Utilizzare la chiave di licenza di acquisizione, non una chiave utente (NRAK-).
Datadog
https://otlp.<your-datadog-site> (ad esempio, https://otlp.datadoghq.com)
Chiave API, inviata nell’intestazione dd-api-key personalizzata. L’acquisizione diretta di trace OTLP è in anteprima.
Dynatrace
https://{your-environment-id}.live.dynatrace.com/api/v2/otlp
Token di accesso API, inviato nell’intestazione Authorization come Api-Token <token>. Imposta OTEL_CUSTOMER_AUTH su Api-Token <token>.
Trattino0
https://ingress.<region>.aws.dash0.com:4318 (ad esempio, https://ingress.eu-west-1.aws.dash0.com:4318)
Token di autenticazione, inviato nell’intestazione Authorization come Bearer <token>. Imposta OTEL_CUSTOMER_AUTH su Bearer <token>.

Esempio di configurazione example-configuration

Aggiungi un file come uno degli esempi seguenti a config/otel.yaml nell’archivio della pipeline di configurazione, in base al provider dalle impostazioni specifiche del provider.

New Relic:

kind: "Otel"
version: "v1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "newrelic"
  endpoint: "https://otlp.nr-data.net"   # https://otlp.eu01.nr-data.net for the EU region
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"
  metrics: true   # optional
  logs: true      # optional — see Overview for the Log Forwarding duplicate-message warning

Dynatrace:

kind: "Otel"
version: "v1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "dynatrace"
  endpoint: "https://{your-environment-id}.live.dynatrace.com/api/v2/otlp"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"   # the secret's value must be "Api-Token <token>"
  metrics: true
  logs: true

Datadog:

kind: "Otel"
version: "v1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "generic"
  endpoint: "https://otlp.<your-datadog-site>"   # for example, https://otlp.datadoghq.com
  authHeaderName: "dd-api-key"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"   # the secret's value is the raw API key, no prefix
  metrics: true
  logs: true

Trattino0:

kind: "Otel"
version: "v1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "generic"
  endpoint: "https://ingress.<region>.aws.dash0.com:4318"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"   # the secret's value must be "Bearer <token>"
  metrics: true
  logs: true

Endpoint generico o self-hosted (ad esempio, un raccoglitore OpenTelemetry locale):

kind: "Otel"
version: "v1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "generic"
  endpoint: "https://<your-otlp-endpoint>"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"   # for example, "Basic <base64(user:pass)>"
  metrics: true
  logs: true

Rete avanzata (uscita dedicata) — per un endpoint privato o per un endpoint che richiede la partenza del traffico da un indirizzo IP noto e stabile (vedere Connettività di rete):

kind: "Otel"
version: "v1"
metadata:
  envTypes:
    - "stage"
    - "prod"
data:
  enabled: true
  type: "generic"
  endpoint: "https://<your-private-otlp-endpoint>"
  authHeaderValue: "${{secrets.OTEL_CUSTOMER_AUTH}}"
  metrics: true
  logs: true
  advancedNetworking: true   # routes this endpoint's egress through Advanced Networking instead of direct internet egress
IMPORTANT
advancedNetworking non ha alcun effetto a meno che Cloud Manager non abbia già eseguito il provisioning di Advanced Networking per l'ambiente. Verificare che sia configurato prima di fare affidamento su di esso. Vedi Rete avanzata.
NOTE
metrics e logs sono entrambi facoltativi e indipendenti l'uno dall'altro. Omettere o impostare su false, se si desidera solo tracce.

Passaggio 3: distribuire deploy

L’integrazione ha effetto sulla distribuzione successiva dell’ambiente, ovvero la successiva esecuzione di una pipeline di distribuzione per l’ambiente in Cloud Manager (ad esempio, una distribuzione full stack). Se l’ambiente non è stato distribuito dopo l’aggiunta del file config/otel.yaml e l’impostazione delle credenziali, eseguire una distribuzione per attivarlo.

Dopo la distribuzione, le tracce, le metriche e (se abilitati) i registri dell’applicazione AEM iniziano a essere visualizzati nel provider APM. Utilizza Passaggio 4 per confermare.

Passaggio 4: verificare l’integrazione verify

Poiché la telemetria viene inviata al provider APM, l’utente conferma l’integrazione dagli strumenti del provider; Adobe non restituisce questi dati all’utente.

Al termine dell’implementazione, attendi alcuni minuti per l’arrivo dei dati, quindi controlla il provider APM per ottenere quanto segue:

​* Tracce — nuove estensioni per i servizi AEM. Ad esempio, cerca service.name del livello di authoring o pubblicazione o per intervalli di richieste HTTP in entrata.
​* Metriche — metriche jvm.* e http.server.* in arrivo per i servizi.
​* Registri (se abilitati): voci di registro in ingresso per i servizi AEM.

Se questi dati vengono visualizzati, l’integrazione funziona.

Risoluzione di problemi troubleshooting

Se la telemetria non viene visualizzata nel provider APM, verificare quanto segue:

Sintomo
Cosa controllare
Nessun dato dopo la distribuzione
Conferma che la distribuzione è stata completata e che è stata eseguita dopo l’abilitazione dell’integrazione. Attendere alcuni minuti per il primo arrivo dei dati, quindi ricontrollare l’URL dell’endpoint e il valore OTEL_CUSTOMER_AUTH.
Errori di autenticazione o dati rifiutati
Verificare che il valore OTEL_CUSTOMER_AUTH corrisponda al formato richiesto dal provider (vedere Passaggio 2 e Impostazioni specifiche del provider). Errori comuni sono l’inclusione o l’omissione di una parola dello schema (Basic, Bearer o Api-Token) e l’utilizzo di una chiave errata, ad esempio una chiave utente di New Relic (NRAK-) invece di una chiave di licenza di acquisizione.
Endpoint non raggiungibile
Conferma che l’URL e l’area geografica dell’endpoint siano corretti e che l’endpoint sia raggiungibile tramite HTTPS. Se l’endpoint è privato o il provider richiede traffico da un indirizzo IP noto, abilitare Rete avanzata con uscita dedicata.
Non è sicuro se sia necessaria la rete avanzata
È necessaria solo se l’endpoint APM non è raggiungibile da Internet o se il provider richiede di inserire nell’elenco Consentiti un indirizzo IP di origine stabile. Gli endpoint SaaS pubblici, come gli esempi di provider riportati sopra, non ne hanno bisogno.
Nessuna voce di registro, ma vengono visualizzate tracce e metriche
I registri di conferma sono abilitati nella configurazione (vedi Quali dati vengono inviati). Se l’applicazione non ha registrato nulla di recente, potrebbe non essere ancora presente nulla da inviare.
Duplicare i messaggi di registro nella destinazione
Probabilmente hai sia i registri di questa integrazione che Inoltro log inviati alla stessa destinazione. Vedi Panoramica — abilita un solo percorso per destinazione.

Se dopo questi controlli la telemetria non viene ancora visualizzata, contattare aemcs-apm-beta@adobe.com con i dettagli del programma e dell’ambiente.

Domande frequenti faq

Perché sta avvenendo questa modifica?

I clienti di AEM as a Cloud Service hanno richiesto ulteriori metriche e dati operativi, nonché tracce, espansioni e registri nel contesto. OpenTelemetry è uno standard di settore che supporta tutte queste funzionalità e le produce in un formato ampiamente supportato (OTLP).

Cosa succede a New Relic se si abilita OpenTelemetry?

Quando esegui la pipeline di configurazione, i dati a New Relic non vengono più trasmessi da AEM as a Cloud Service.

Se eseguo la migrazione a OpenTelemetry da New Relic, posso tornare indietro?

Sì. Disattiva OpenTelemetry tramite la pipeline di configurazione, quindi esegui una pipeline full stack fino al completamento. Ciò è possibile fino alla fine di novembre 2026.

Cosa succede dopo novembre 2026?

Adobe passerà dalla soluzione APM integrata a OpenTelemetry come soluzione di osservabilità permanente.

​* Inoltro del registro
​* Configurare reti avanzate
​* Variabili di ambiente in Cloud Manager

recommendation-more-help
experience-manager-cloud-service-help-main-toc