Nota
- Questa esercitazione richiede l'accesso a Oracle Cloud. Per iscriverti a un account gratuito, consulta Inizia a utilizzare Oracle Cloud Infrastructure Free Tier.
- Utilizza valori di esempio per le credenziali, la tenancy e i compartimenti di Oracle Cloud Infrastructure. Al termine del laboratorio, sostituisci questi valori con quelli specifici del tuo ambiente cloud.
Monitorare le applicazioni utilizzando OCI Application Performance Monitoring e OpenTelemetry
Introduzione
Il monitoraggio delle applicazioni che variano nei componenti dello stack può spesso essere impegnativo. Un approccio unificato per monitorare questi componenti consente visibilità end-to-end e insight sui problemi che possono sorgere. OpenTelemetry è uno standard di settore per la raccolta di dati di trace, metriche e log per la maggior parte dei linguaggi di programmazione. Può fornire insight potenti se combinato con i servizi di osservabilità e gestione di Oracle Cloud Infrastructure (OCI), come OCI Application Performance Monitoring e OCI Logging Analytics.

OCI Application Performance Monitoring offre visibilità approfondita sulle prestazioni delle applicazioni e consente di diagnosticare rapidamente i problemi per offrire un livello di servizio coerente. Ciò include il monitoraggio dei molteplici componenti e della logica dell'applicazione distribuiti tra client, servizi di terze parti e livelli di elaborazione back-end, on-premise o nel cloud.

OCI Logging Analytics è una soluzione cloud in OCI che indicizza, arricchisce, aggrega, esplora, cerca, analizza, correla, visualizza e monitora tutti i dati di log dalle applicazioni e dall'infrastruttura di sistema. Ottieni insight potenti dai dati di log utilizzando modelli AI/ML curati creati all'interno di OCI Logging Analytics.

OpenTelemetry dispone di varie implementazioni per diversi linguaggi di programmazione e viene costantemente aggiornato o sviluppato. Lo scopo di utilizzare questo framework è quello di avere un modo unificato e standardizzato per raccogliere e inviare dati di monitoraggio.
In questa esercitazione verrà descritto come creare uno strumento per un'applicazione con OpenTelemetry ed esportare i dati raccolti in servizi OCI quali OCI Application Performance Monitoring e OCI Logging Analytics.
Obiettivi
-
Configurare OpenTelemetry per un'applicazione stack non Oracle.
-
Invia trace e metriche a Application Performance Monitoring OCI.
-
Invia i dati di log a OCI Logging Analytics.
Prerequisiti
-
Una tenancy OCI con l'account amministratore iniziale.
-
Un'applicazione
Node.js(esempio di repository GitHub: oci-observability-and-management). -
Conoscenza di base di JavaScript.
GitHub Esempio
Se si desidera implementare il monitoraggio per le applicazioni MERN/MEAN/MEVN, utilizzare il repository GitHub oci-observability-and-management. Questo repository include file per:
-
Strumentare il frontend e il backend dell'applicazione.
-
Invia metriche personalizzate a OCI Application Performance Monitoring (APM).
-
Invia messaggi di log a OCI Logging Analytics.
-
Un'applicazione di esempio per sperimentare l'implementazione OpenTelemetry.
Task 1: configurare OCI Application Performance Monitoring
-
Creare un dominio APM (Application Performance Monitoring) OCI
Nota: per i task dei prerequisiti, consultare la documentazione di OCI Application Performance Monitoring.
-
Eseguire il login a OCI Console e passare a Osservabilità e gestione, Gestione prestazioni applicazione e Amministrazione per aprire la pagina di amministrazione di OCI Application Performance Monitoring.
-
Fare clic su Crea dominio APM e immettere un nome di dominio. Tenere presenti le informazioni riportate di seguito nella pagina del dominio Application Performance Monitoring OCI.
-
Endpoint di caricamento dati: URL per l'invio dei dati a Application Performance Monitoring OCI.
-
Chiave dati pubblica: utilizzata con l'agente del browser Application Performance Monitoring OCI.
-
Chiave dati privata: per connettersi con i raccoglitori di dati, ad esempio OpenTelemetry.

-
-
-
Strumentare un'applicazione
Per monitorare il frontend di un'applicazione, creare uno strumento per l'agente del browser Application Performance Monitoring OCI. Per ulteriori informazioni, vedere Fasi della strumentazione del browser/client.
Strumentazione server
-
Per ottenere trace end-to-end, è necessaria la propagazione del contesto dalle tracce frontend di un browser/client al server. Una cosa da tenere a mente quando si fa così è garantire che ci sono intestazioni HTTP per fornire il contesto. Per impostazione predefinita, OpenTelemetry utilizza W3C (traceparent) per propagare automaticamente il contesto. Esistono altri tipi di intestazione che possono essere utilizzati ma che devono essere contabilizzati nel codice dell'applicazione.

-
Assicurarsi di aggiungere il seguente codice con lo snippet di JavaScript che esegue la strumentazione browser/client.
window.apmrum.traceSupportingEndpoints = [ { headers: [ 'W3C'], hostPattern: '.*' } ]; -
Strumentare la strumentazione automatica o il backend manuale in base alle informazioni disponibili. Vedere passi per il linguaggio di programmazione.
Esempi in GitHub
-
Task 2: configurare OCI Logging Analytics
-
Invia log applicazione
Invia i log dell'applicazione a OCI Logging Analytics che consente di correlare trace, metriche e log per ottenere una visibilità completa dell'applicazione. I log possono essere abilitati utilizzando librerie di log standard e appender di log personalizzato. L'appender di log deve essere creato per inviare i log utilizzando l'SDK fornito da OCI o gli endpoint REST come mostrato.

-
Crea una chiave di firma API
-
Andare a OCI Console e andare a Utente, Impostazioni utente.
-
Selezionare Chiavi API in Risorse.
-
Fare clic su Aggiungi chiave API, Genera coppia di chiavi API, Scarica chiave privata e Aggiungi.
-
Copiare il contenuto da Anteprima file di configurazione e fare clic su Chiudi.

-
-
Creazione di un file di configurazione
Creare una directory (
.oci) e un file di configurazione con contenuto dall'anteprima del file di configurazione e percorso al file di chiavi private. Di seguito è riportato un esempio del file di configurazione.[DEFAULT] user= [User OCID] fingerprint= [API Key Fingerprint] tenancy= [Tenancy OCID] region= [Region] key_file= [Path to Private Key File] -
Creare un parser di log
-
Andare a OCI Console e andare a Osservabilità e gestione, Logging Analytics, Amministrazione.
-
Fare clic su Parser, Crea parser e selezionare Tipo come
JSON. -
Immettere il contenuto del log
JSONdi esempio, analizzerà ed estrarrà i campi e lo mapperà a nomi di campo specifici, quindi fare clic su Salva modifiche.
-
-
Creare un'origine log
-
Andare a OCI Console e andare a Logging Analytics, Amministrazione, Origini, Crea origine.
-
Immettere Tipo di origine come
Filee Tipi di entità comeHost (Linux). -
In Parser specifico selezionare il parser creato nel task 2.4 e fare clic su Crea origine.

-
-
Crea un gruppo di log
-
Andare a OCI Console e andare a Logging Analytics, Amministrazione, Gruppi di log, Crea gruppo di log.
-
Immettere Nome, Descrizione del gruppo di log e fare clic su Crea.
Nota: tenere presente l'OCID (Oracle Cloud Identity) del gruppo di log che verrà utilizzato in un secondo momento.



-
-
Recupera i dettagli dello spazio di nomi
-
Andare alla console OCI e andare a Identità, Compartimenti, quindi fare clic sul compartimento in cui viene creata l'origine log e copiare l'OCID del compartimento.
-
Aprire Cloud Shell ed eseguire il comando seguente per ottenere lo spazio di nomi.
oci os ns get -c compartmentID

-
-
Creazione di un appender di log
È possibile creare un appender di log personalizzato utilizzando gli SDK di OCI Logging Analytics forniti per diversi linguaggi di programmazione come Java, Python, .Net, TypeScript/JavaScript, Go e Ruby o utilizzare gli endpoint OCI API Rest. Per ulteriori informazioni, vedere Software Development Kits (SDK) e API Reference and Endpoints.
Esempio in GitHub: Appender di log - JavaScript (stack MERN).
Prendere nota dei parametri riportati di seguito necessari per inizializzare e inviare i log a OCI Logging Analytics dai passi precedenti.
- [PATH]/config: percorso del file di configurazione.
- [PROFILE]: profilo nel file di configurazione da utilizzare per l'autenticazione OCI.
- [NAMESPACE]: spazio dei nomi.
- [UPLOADNAME]: nome definito dall'utente per i caricamenti.
- [LOGSOURCENAME]: nome dell'origine log creato in OCI Logging Analytics.
- [LOGFILENAME]: nome del file di log per indicare che i messaggi di log sono correlati a un file di log specifico.
- [LOGGROUPID]: ID gruppo di log creato in OCI Logging Analytics per raggruppare i messaggi di log.
Una volta creati i record di log per diversi livelli di log (debug, informazioni, avvertenza ed errore) tramite appender di log, verranno inviati a OCI Logging Analytics ed è possibile visualizzare i record di log in Explorer log come mostrato di seguito.

Task 3: Correlare tracce e log
OpenTelemetry include TraceId e SpanId nei record di log e consente di correlare direttamente log e trace corrispondenti allo stesso contesto di esecuzione. L'applicazione esegue i trace e gli intervalli dei flussi in Application Performance Monitoring OCI ed esegue il login al servizio OCI Logging Analytics. OCI Application Performance Monitoring offre un modo semplice per spostarsi dai trace e dagli intervalli ai log in OCI Logging Analytics con un solo clic utilizzando una configurazione di drill-down.
I drill-down sono collegamenti ad altri servizi in OCI o altri servizi personalizzati utilizzando URL personalizzabili, inclusi gli attributi degli intervalli (ad esempio: loganalytics/explorer?search=<OciInstanceId> dove ociInstanceId è un attributo di intervallo). Seguire i passi riportati di seguito per configurare i drill-down in Application Performance Monitoring OCI.

Task 4: creare un dashboard personalizzato
Una volta eseguito il trace di dati e metriche nell'infrastruttura OCI, utilizzarli per rappresentarli visivamente. Creare un dashboard personalizzato è semplice, basta trascinare e rilasciare i widget necessari e modificare i dati di origine (dati metrica, traccia o log).
Per ulteriori informazioni sui dashboard personalizzati, vedere:
- Creazione di dashboard APM personalizzati
- Creazione di dashboard Logging Analytics personalizzati
- Personalizzare e visualizzare i dati di trace nei dashboard di Application Performance Monitoring utilizzando i widget per creare widget personalizzati dalle query Trace Explorer di Application Performance Monitoring.
Dashboard di esempio creato per un'applicazione MERN.

Collegamenti correlati
Conferme
- Autore - Zyaad Khader (Strategic Customer Program Engineer)
Altre risorse di apprendimento
Esplora altri laboratori su docs.oracle.com/learn o accedi a più contenuti gratuiti sulla formazione su Oracle Learning YouTube channel. Inoltre, visita education.oracle.com/learning-explorer per diventare Oracle Learning Explorer.
Per la documentazione del prodotto, visitare Oracle Help Center.
Monitor Applications using OCI Application Performance Monitoring and OpenTelemetry
F91951-01
January 2024
Copyright © APMOT, Oracle and/or its affiliates.