Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questa esercitazione illustra come aggiungere un agente di raccolta OpenTelemetry come contenitore sidecar a un'app contenitore personalizzata Linux nel servizio app di Azure.
I contenitori sidecar nel servizio app consentono di distribuire servizi e funzionalità aggiuntivi nelle app Linux senza accoppiarli strettamente al contenitore principale predefinito o personalizzato. I contenitori sidecar vengono eseguiti insieme al contenitore principale dell'applicazione nello stesso piano di servizio app.
È possibile aggiungere fino a nove contenitori sidecar per ogni app Linux nel servizio app. Ad esempio, è possibile aggiungere servizi di monitoraggio, registrazione, configurazione e rete come contenitori sidecar. Un sidecar dell'agente di raccolta OpenTelemetry è un esempio per il monitoraggio.
Per le app Linux bring your owncode, vedere Esercitazione: Configurare un contenitore sidecar per un'app Linux nel servizioa app di Azure.
Prerequisiti
-
Se non si ha un account Azure, creare un account gratuito prima di iniziare.
È possibile eseguire i comandi di questa esercitazione usando Azure Cloud Shell, una shell interattiva usata tramite il browser per usare i servizi di Azure. Per usare Cloud Shell:
Selezionare il pulsante Launch Cloud Shell (Avvia Cloud Shell ) o passare a https://shell.azure.com per aprire Cloud Shell nel browser.
Accedere ad Azure, se necessario, e assicurarsi di essere nell'ambiente Bash di Cloud Shell.
Selezionare Copia in qualsiasi blocco di codice, incollare il codice in Cloud Shell ed eseguirlo.
I comandi
azddi questa esercitazione usano l'interfaccia della riga di comando per sviluppatori di Azure, uno strumento open source che accelera il provisioning e la distribuzione delle risorse dell'app in Azure.
1. Configurare le risorse del tutorial
Per clonare il repository di esempio e creare le risorse per questa esercitazione, eseguire i comandi seguenti in Cloud Shell. Quando richiesto, selezionare la sottoscrizione di Azure e l'area di Azure da usare.
git clone https://github.com/Azure-Samples/app-service-sidecar-tutorial-prereqs
cd app-service-sidecar-tutorial-prereqs
azd env new my-sidecar-env
azd provision
Il azd provision comando usa i modelli inclusi per creare un gruppo di risorse di Azure denominato my-sidecar-env_group che contiene le risorse di Azure seguenti:
- Registro di container con due repository che contengono le seguenti immagini:
- Immagine
nginxcon il modulo OpenTelemetry. - Immagine dell'agente di raccolta OpenTelemetry
otel-collectorconfigurata per l'esportazione in Monitoraggio di Azure.
- Immagine
- Un'area di lavoro Log Analytics.
- Un componente di Application Insights.
- Identità gestita assegnata dall'utente denominata
id-my-sidecar-env_group.
Al termine della distribuzione, verrà visualizzato un output simile all'esempio seguente:
Success!
APPLICATIONINSIGHTS_CONNECTION_STRING = InstrumentationKey=aaaaaaaa-0b0b-1c1c-2d2d-333333333333;IngestionEndpoint=https://eastus2-3.in.applicationinsights.azure.com/;LiveEndpoint=https://eastus2.livediagnostics.monitor.azure.com/;ApplicationId=00001111-aaaa-2222-bbbb-3333cccc4444
Azure container registry name = acro2lc774l6vjgg
Managed identity resource ID = /subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-sidecar-env_group/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id-my-sidecar-env_group
Managed identity client ID = 00aa00aa-bb11-cc22-dd33-44ee44ee44ee
Open resource group in the portal: https://portal.azure.com/#@/resource/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/my-sidecar-env_group
Copiare e salvare il valore per APPLICATIONINSIGHTS_CONNECTION_STRING da usare più avanti in questa esercitazione.
Selezionare il collegamento per Open resource group in the portal per aprire il gruppo di risorse di cui è stato effettuato il provisioning nel portale di Azure.
2. Creare un'app abilitata per sidecar
Nel gruppo di risorse nel portale di Azure creare un'app contenitore personalizzata Linux con supporto sidecar e configurare il contenitore principale.
Nella pagina del gruppo di risorse nel portale di Azure selezionare Crea.
Nella pagina Marketplace cercare l'app Web, selezionare la freccia giù accanto a Crea nel riquadro App Web e selezionare App Web.
Nella scheda Informazioni di base della pagina Crea app Web specificare le informazioni seguenti:
- Nome: immettere un nome univoco per l'app Web.
- Pubblica: selezionare Contenitore.
- Sistema operativo: selezionare Linux.
-
Area: selezionare la stessa area scelta per
azd provision. - Piano Linux: selezionare il piano di servizio app fornito (nuovo).
Lasciare invariate le altre impostazioni e selezionare la scheda Contenitore nella parte superiore della pagina.
Nella scheda Contenitore specificare le informazioni seguenti:
- Supporto sidecar: impostare su Configurazione avanzata con supporto sidecar attivato.
- Origine immagine: selezionare Registro Azure Container.
- Nome: accertati che main venga visualizzato.
-
Registro di sistema: selezionare il Registro di sistema creato da
azd provision. - Autenticazione: selezionare Identità gestita.
-
Identità: selezionare l'identità gestita creata da
azd provision. - Immagine: inserire nginx.
- Tag: immettere latest.
- Porta: immettere 80 se non è già impostato.
Note
Queste impostazioni sono configurate in modo diverso nelle app abilitate per sidecar rispetto alle app non abilitate per i sidecar. Per altre informazioni, vedere Quali sono le differenze per i contenitori personalizzati abilitati per sidecar.
Selezionare Verifica e crea e, quando la convalida ha esito positivo, selezionare Crea.
Al termine della distribuzione selezionare Vai al gruppo di risorse.
Nella pagina dell'app aprire l'URL accanto a Dominio predefinito,
https://<app-name>.azurewebsites.net, in una nuova scheda del browser per visualizzare la pagina nginx predefinita.
3. Aggiungere un contenitore sidecar all'app
Aggiungere un contenitore sidecar all'app contenitore personalizzata Linux.
Nella pagina dell'app nel portale di Azure selezionare Centro distribuzione in Distribuzione nel menu di spostamento a sinistra. La pagina Centro distribuzione mostra tutti i contenitori nell'app, attualmente solo il contenitore principale.
Selezionare Contenitori.
Selezionare Aggiungi>contenitore personalizzato.
Nel riquadro Aggiungi contenitore completare le informazioni seguenti:
- Nome: immettere otel-collector.
- Origine immagine: selezionare Registro dei container di Azure.
-
Registro di sistema: selezionare il Registro di sistema creato da
azd provision. - Autenticazione: selezionare Identità gestita.
-
Identità: sotto Assegnazione utente, selezionare l'identità gestita creata da
azd provision. - Immagine: immettere otel-collector.
- Tag immagine: inserire latest.
- Porta: immettere 4317.
Selezionare Applica.
Nel centro distribuzione sono ora presenti due contenitori con etichetta Main e Sidecar. Un'applicazione deve avere un contenitore principale e può avere più contenitori di accompagnamento.
4. Configurare le variabili di ambiente
Nello scenario di esempio, il otel-collector sidecar è configurato per esportare i dati OpenTelemetry su Azure Monitor utilizzando la stringa di connessione come variabile di ambiente. Per ulteriori informazioni, vedere il file di configurazione OpenTelemetry per l'immagine otel-collector.
Configurare la variabile di ambiente per il contenitore configurando le impostazioni dell'app per l'app. Le impostazioni dell'app sono accessibili a tutti i contenitori nell'app.
Nella pagina dell'app nel portale di Azure selezionare Variabili di ambiente in Impostazioni nel menu di spostamento a sinistra.
Nella scheda Impostazioni app della pagina Variabili di ambiente selezionare Aggiungi.
Nel riquadro Aggiungi/Modifica impostazione applicazione immettere i valori seguenti:
- Nome: APPLICATIONINSIGHTS_CONNECTION_STRING
-
Valore: valore di
APPLICATIONINSIGHTS_CONNECTION_STRINGdall'output diazd provision. È anche possibile trovare questo valore come Stringa di connessione nella pagina Panoramica della risorsa Application Insight del gruppo di risorse.
Selezionare Applica, quindi fare di nuovo clic su Applica e quindi selezionare Conferma. L'impostazione dell'app APPLICATIONINSIGHTS_CONNECTION_STRING ora appare nella scheda Impostazioni app.
Note
Alcune impostazioni dell'app non si applicano alle app abilitate per il sidecar. Per altre informazioni, vedere Quali sono le differenze per i contenitori personalizzati abilitati per sidecar.
5. Verificare in Application Insights
Il otel-collector sidecar dovrebbe ora esportare i dati in Application Insights.
Passare all'app in una nuova scheda del browser e aggiornare la pagina alcune volte per generare alcune richieste Web.
Nella pagina del gruppo di risorse nel portale di Azure selezionare la risorsa di Application Insights . Nella pagina Panoramica di Application Insights verranno visualizzati alcuni dati nei grafici predefiniti.
Note
In questo scenario di monitoraggio comune, Application Insights è solo una delle destinazioni OpenTelemetry che è possibile usare, ad esempio Jaeger, Prometheus e Zipkin.
6. Pulire le risorse
Quando non è più necessario l'ambiente creato per questa esercitazione, è possibile eliminare il gruppo di risorse, che rimuove il servizio app e tutte le risorse correlate. Eseguire il comando seguente nel repository clonato in Cloud Shell.
azd down