Come configurare l'integrazione di APM e i certificati CA
Nota
I piani Basic, Standard ed Enterprise saranno deprecati a partire dalla metà di marzo 2025, con un periodo di ritiro di 3 anni. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.
Il piano Standard a consumo e dedicato sarà deprecato a partire dal 30 settembre 2024, con un arresto completo dopo sei mesi. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere Eseguire la migrazione del consumo di Azure Spring Apps Standard e del piano dedicato alle app Azure Container.
Questo articolo si applica a:❌ Basic/Standard ✔️ Enterprise
Questo articolo illustra come configurare i certificati di integrazione e autorità di certificazione (CA) di Application Performance Monitor (APM) nel piano Enterprise di Azure Spring Apps.
È possibile abilitare o disabilitare il servizio di compilazione Tanzu in un'istanza del piano Enterprise di Azure Springs Apps. Per maggiori informazioni, vedere la sezione Compilare un servizio su richiesta di Usare il servizio di compilazione Tanzu.
Prerequisiti
- Un'istanza del piano Enterprise di Azure Spring Apps di cui è già stato effettuato il provisioning. Per altre informazioni, vedere Avvio rapido: Creare e distribuire app in Azure Spring Apps usando il piano Enterprise.
- Interfaccia della riga di comando di Azure versione 2.49.0 o successiva. Usare il comando seguente per installare l'estensione Azure Spring Apps:
az extension add --name spring
Scenari supportati - Integrazione di APM e i certificati CA
Il servizio di compilazione Tanzu usa l'associazione buildpack per integrarsi con Tanzu Partner Buildpack e altri buildpack nativi del cloud, ad esempio il buildpack ca-certificates in GitHub.
Attualmente, Azure Spring Apps supporta i tipi di APM seguenti:
- ApplicationInsights
- Dynatrace
- AppDynamics
- New Relic
- ElasticAPM
Azure Spring Apps supporta i certificati CA per tutte le buildpack della famiglia di linguaggi, ma non tutte le API supportate. La tabella seguente illustra i tipi di associazione supportati dai buildpack della famiglia di linguaggi Tanzu.
Buildpack | ApplicationInsights | New Relic | AppDynamics | Dynatrace | ElasticAPM |
---|---|---|---|---|---|
Java | ✔ | ✔ | ✔ | ✔ | ✔ |
.NET | ✔ | ✔ | |||
Go | ✔ | ||||
Python | |||||
NodeJS | ✔ | ✔ | ✔ | ✔ | |
Server Web | ✔ | ||||
Immagine Nativa Java | |||||
PHP | ✔ | ✔ | ✔ |
Per informazioni sull'uso di server Web, vedere Distribuisci file statici Web.
Il servizio di compilazione Tanzu è abilitato per impostazione predefinita in Azure Spring Apps Enterprise. Se si sceglie di disabilitare il servizio di compilazione, è possibile distribuire applicazioni ma solo usando un'immagine del contenitore personalizzata. In questa sezione vengono fornite indicazioni per gli scenari abilitati per il servizio di compilazione e per gli scenari disabilitati.
Tipi di APM supportati
Questa sezione elenca le lingue supportate e le variabili di ambiente necessarie per le API che è possibile usare per le integrazioni.
Application Insights
Lingue supportate:
- Java
Variabili di ambiente necessarie per l'associazione buildpack:
connection-string
Per altre variabili di ambiente supportate, vedere Panoramica di Application Insights.
DynaTrace
Lingue supportate:
- Java
- .NET
- Go
- Node.js
- Server Web
- PHP
Variabili di ambiente necessarie per l'associazione buildpack:
api-url
oenvironment-id
(usato nel passaggio di compilazione)api-token
(usato nel passaggio di compilazione)TENANT
TENANTTOKEN
CONNECTION_POINT
Per altre variabili di ambiente supportate, vedere Dynatrace
New Relic
Lingue supportate:
- Java
- .NET
- Node.JS
- PHP
Variabili di ambiente necessarie per l'associazione buildpack:
license_key
app_name
Per altre variabili di ambiente supportate, vedere New Relic
Elastic
Lingue supportate:
- Java
- Node.js
- PHP
Variabili di ambiente necessarie per l'associazione buildpack:
service_name
application_packages
server_url
Per altre variabili di ambiente supportate, vedere Elastic
AppDynamics
Lingue supportate:
- Java
- Node.js
Variabili di ambiente necessarie per l'associazione buildpack:
agent_application_name
agent_tier_name
agent_node_name
agent_account_name
agent_account_access_key
controller_host_name
controller_ssl_enabled
controller_port
Per altre variabili di ambiente supportate, vedere AppDynamics
Le associazioni nel generatore sono deprecate
Nota
In precedenza, è possibile gestire l'integrazione di APM e i certificati CA tramite associazioni nel generatore. Le associazioni nella funzionalità generatore sono deprecate e verranno rimosse in futuro. È consigliabile eseguire la migrazione dell'APM configurato nelle associazioni. Per altre informazioni, vedere la sezione Eseguire la migrazione dell'APM configurato nelle associazioni.
Quando si usa il proprio registro contenitori per il servizio di compilazione o si disabilita il servizio di compilazione, la funzionalità binding nel generatore non è disponibile.
Quando si usa un Registro Azure Container gestito per il servizio di compilazione, il registro è ancora disponibile per la compatibilità con le versioni precedenti, ma verrà rimosso in futuro.
Quando si usa l'interfaccia della riga di comando di Azure per creare un'istanza del servizio, è possibile che venga visualizzato il messaggio di errore Buildpack bindings feature is deprecated, it's not available when your own container registry is used for build service or build service is disabled
. Questo messaggio indica che si sta usando una versione precedente dell'interfaccia della riga di comando di Azure. Per risolvere questo problema, aggiornare l'interfaccia della riga di comando di Azure. Per altre informazioni, vedere Come aggiornare l'interfaccia della riga di comando di Azure.
Configurare l'integrazione di APM per le compilazioni e le distribuzioni di app
È possibile configurare APM in Azure Spring Apps nei due modi seguenti:
Gestire le configurazioni APM a livello di istanza del servizio e associarle alle compilazioni e alle distribuzioni dell'app facendo riferimento a tali configurazioni. Questo approccio è il modo consigliato per configurare l'APM.
Gestire le configurazioni APM tramite associazioni nel generatore e associarsi alle compilazioni e alle distribuzioni dell'app facendo riferimento al generatore.
Nota
Questo approccio è il vecchio modo per configurare APM ed è ora deprecato. È consigliabile eseguire la migrazione dell'APM configurato nelle associazioni. Per altre informazioni, vedere la sezione Eseguire la migrazione dell'APM configurato nelle associazioni.
È ora possibile configurare APM in Azure Spring Apps gestendo le configurazioni APM a livello di istanza del servizio e associandole alle compilazioni e alle distribuzioni delle app facendo riferimento a tali configurazioni. Questo approccio è il modo consigliato per configurare l'APM.
Le sezioni seguenti forniscono indicazioni per entrambi questi approcci.
Gestire le API a livello di istanza del servizio (scelta consigliata)
È possibile creare una configurazione APM e associarla alle compilazioni e alle distribuzioni dell'app, come illustrato nelle sezioni seguenti.
Gestire la configurazione di APM in Azure Spring Apps
È possibile gestire l'integrazione di APM configurando proprietà o segreti nella configurazione di APM usando il portale di Azure o l'interfaccia della riga di comando di Azure.
Nota
Quando si configurano proprietà o segreti tramite configurazioni APM, usare i nomi delle chiavi senza il nome APM come prefisso. Ad esempio, non usare un prefisso DT_
per Dynatrace o APPLICATIONINSIGHTS_
per Application Insights. I buildpack diTanzu APM trasformano il nome della chiave nel nome della variabile di ambiente originale con un prefisso.
Se si intende eseguire l'override o configurare alcune proprietà o segreti, ad esempio il nome dell'app o il livello dell'app, è necessario impostare le variabili di ambiente quando si distribuisce un'app con le variabili di ambiente originali con il nome APM come prefisso.
Seguire questa procedura per visualizzare, aggiungere, modificare o eliminare una configurazione di APM:
Apri il portale di Azure.
Nel riquadro di spostamento selezionare APM.
Per creare una configurazione di APM, selezionare Aggiungi. Se si vuole abilitare la configurazione di APM a livello globale, selezionare Abilita a livello globale. Tutte le compilazioni e le distribuzioni successive usano automaticamente la configurazione di APM.
Per visualizzare o modificare una configurazione di APM, selezionare il pulsante con i puntini di sospensione (...) per la configurazione, quindi selezionare Modifica APM.
Per eliminare una configurazione di APM, selezionare il pulsante con i puntini di sospensione (...) per la configurazione quindi selezionare Elimina. Se la configurazione di APM viene usata da qualsiasi compilazione o distribuzione, non è possibile eliminarla.
Usare la procedura seguente per visualizzare le configurazioni di APM associate alla compilazione:
Andare alla pagina Compila servizio per l'istanza di Azure Spring Apps.
Nella sezione Impostazionidel riquadro di spostamento selezionare Associazioni APM.
Nella pagina Associazioni APM visualizzare le configurazioni APM associate alla compilazione.
Usare la procedura seguente per visualizzare le configurazioni di APM associate alla distribuzione:
Per altre informazioni sui parametri properties
e secrets
per il buildpack, vedere la sezione Scenari supportati - Integrazione di APM e certificati CA.
Eseguire il binding alle compilazioni e alle distribuzioni dell'app
Per un servizio di compilazione che usa un Registro Azure Container gestito, usare il comando seguente per integrare APM nelle distribuzioni:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--builder <builder-name> \
--apms <APM-name> \
--artifact-path <path-to-your-JAR-file>
Quando si abilita una configurazione APM a livello globale, tutte le compilazioni e le distribuzioni successive lo usano automaticamente e non è necessario specificare il parametro --apms
. Se si vuole eseguire l'override della configurazione di APM abilitata a livello globale per una distribuzione, specificare le configurazioni APM tramite il parametro --apms
.
Per un servizio di compilazione che usa il proprio registro contenitori, è possibile compilare un'applicazione in un'immagine del contenitore e distribuire l'immagine nelle istanze correnti o in altre istanze del servizio Azure Spring Apps Enterprise.
Fornire un registro contenitori personalizzato separa la compilazione dalla distribuzione. È possibile usare il comando di compilazione per creare o aggiornare una compilazione con un generatore, quindi usare il comando implementare per implementare l'immagine del contenitore nel servizio.
Usare il comando seguente per compilare un'immagine e configurare APM:
az spring build-service build <create|update> \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--builder <builder-name> \
--apms <APM-name> \
--artifact-path <path-to-your-JAR-file>
Quando si abilita una configurazione APM a livello globale, tutte le compilazioni e le distribuzioni successive lo usano automaticamente e non è necessario specificare il parametro --apms
. Se si vuole eseguire l'override della configurazione di APM abilitata a livello globale per una compilazione, specificare le configurazioni APM tramite il parametro --apms
.
Usare il comando seguente per distribuire l'applicazione con l'immagine del contenitore compilata in precedenza e configurare APM. È possibile usare la configurazione di APM abilitata a livello globale o usare il parametro --apms
per specificare la configurazione di APM.
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--container-image <your-container-image> \
--container-registry <your-container-registry> \
--registry-password <your-password> \
--registry-username <your-username> \
--apms <your-APM>
Quando si disabilita il servizio di compilazione, è possibile distribuire un'applicazione solo con un'immagine del contenitore. Per maggiori informazioni, vedere Implementare un'applicazione con un'immagine del contenitore personalizzata.
È possibile usare più istanze di Azure Spring Apps Enterprise, in cui alcune istanze compilano e distribuiscono immagini e altre distribuiscono solo immagini. Prendi in considerazione lo scenario seguente:
Per un'istanza, si abilita il servizio di compilazione con un registro contenitori utente. Quindi, si esegue la compilazione da un file di artefatto o da un codice sorgente con APM o un certificato della CA in un'immagine del contenitore. È quindi possibile eseguire la distribuzione nell'istanza corrente di Azure Spring Apps o in altre istanze del servizio. Per altre informazioni, vedere la sezione Compilare e distribuire applicazioni poliglotte di Come implementare app poliglotte in Azure Spring Apps Enterprise.
In un'altra istanza con il servizio di compilazione disabilitato si distribuisce un'applicazione con l'immagine del contenitore nel registro e si usa anche APM.
In questo scenario è possibile usare la configurazione di APM abilitata a livello globale o usare il parametro --apms
per specificare la configurazione di APM, come illustrato nell'esempio seguente:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--container-image <your-container-image> \
--container-registry <your-container-registry> \
--registry-password <your-password> \
--registry-username <your-username> \
--apms <your-APM>
Gestire le API tramite associazioni nel generatore (deprecato)
Quando il servizio di compilazione usa il registro contenitori gestito di Azure Spring Apps, è possibile compilare un'applicazione in un'immagine quindi implementarla, ma solo nell'istanza del servizio di Azure Spring Apps corrente.
Gestire le configurazioni di APM tramite associazioni nel generatore
È possibile gestire le configurazioni di APM tramite associazioni nel generatore. Per altre informazioni, vedere la sezione Gestire le associazioni nel generatore in Azure Spring Apps (deprecato).
Eseguire il binding alle compilazioni e alle distribuzioni dell'app
Usare il comando seguente per integrare APM nelle distribuzioni. Il modulo APM viene configurato tramite associazioni nel generatore:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--builder <builder-name> \
--artifact-path <path-to-your-JAR-file>
Abilitare Application Insights durante la creazione dell'istanza del servizio
Se si abilita Application Insights durante la creazione di un'istanza del servizio, si applicano le condizioni seguenti:
- Se si usa un Registro Azure Container gestito per il servizio di compilazione, Application Insights è associato alle associazioni nel generatore predefinito.
- Se si usa il proprio registro contenitori per il servizio di compilazione o si disabilita il servizio di compilazione, viene creata una configurazione APM predefinita per Application Insights. Il servizio APM predefinito è abilitato a livello globale e tutte le compilazioni e le distribuzioni successive lo usano automaticamente.
Configurare i certificati CA per le compilazioni e le distribuzioni di app
È possibile configurare i certificati CA in Azure Spring Apps nei due modi seguenti:
- È possibile gestire i certificati pubblici nelle impostazioni TLS/SSL e associarli alle compilazioni e alle distribuzioni delle app facendo riferimento a tali certificati. Questo approccio è il modo consigliato per configurare i certificati CA.
- È possibile gestire i certificati pubblici nelle impostazioni TLS/SSL e associare i certificati CA tramite associazioni nel generatore. Per altre informazioni, vedere la sezione Gestire le associazioni nel generatore in Azure Spring Apps (deprecato).
Nota
Questo approccio è il vecchio modo per configurare i certificati CA ed è stato deprecato. È consigliabile eseguire la migrazione del certificato della CA configurato nelle associazioni. Per altre informazioni, vedere la sezione Eseguire la migrazione del certificato ca configurato nelle associazioni.
È ora possibile gestire i certificati pubblici nelle impostazioni TLS/SSL e associarli alle compilazioni e alle distribuzioni delle app facendo riferimento a tali certificati. Questo approccio è il modo consigliato per configurare i certificati CA.
Per gestire i certificati pubblici a livello di istanza del servizio, vedere la sezione Importare un certificato in Usare certificati TLS/SSL nell'applicazione in Azure Spring Apps. seguire quindi uno degli approcci descritti nelle sezioni seguenti per associare i certificati CA alle compilazioni e alle distribuzioni delle app.
Associare certificati CA a compilazioni e distribuzioni di app
Per informazioni su come associare certificati CA alle distribuzioni, vedere la sezione Caricare un certificato in Usare certificati TLS/SSL nell'applicazione in Azure Spring Apps. Usare quindi le istruzioni seguenti per eseguire il binding alle compilazioni di app.
Quando si abilita il servizio di compilazione e si usa un Registro Azure Container gestito, usare il comando seguente per integrare i certificati CA nella distribuzione:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--builder <builder-name> \
--build-certificates <CA certificate-name> \
--artifact-path <path-to-your-JAR-file>
Quando si usa il proprio registro contenitori per il servizio di compilazione o si disabilita il servizio di compilazione, usare il comando seguente per integrare i certificati CA nella compilazione:
az spring build-service build <create|update> \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--builder <builder-name> \
--certificates <CA certificate-name> \
--artifact-path <path-to-your-JAR-file>
Visualizzare i certificati CA associati alle compilazioni di app
Per visualizzare i certificati CA associati alla compilazione, seguire questa procedura:
Andare alla pagina di compilazione.
Nella sezione Impostazioni del riquadro di spostamento selezionare Associazioni di certificati.
Nella pagina Associazioni di certificati visualizzare i certificati CA associati alla compilazione.
Associare certificati CA tramite associazioni nel generatore (deprecato)
I certificati CA usano il buildpack ca-certificates per supportare la fornitura di certificati CA all'archivio attendibilità del sistema in fase di compilazione e runtime.
Nel piano Enterprise di Azure Spring Apps i certificati CA usano la scheda Certificati a chiave pubblica nella pagina Impostazioni TLS/SSL del portale di Azure, come illustrato nello screenshot seguente:
È possibile configurare i certificati ca nella pagina Modifica associazione. I certificati succeeded
vengono visualizzati nell'elenco Certificati CA.
Gestire le associazioni nel generatore in Azure Spring Apps (deprecato)
Questa sezione si applica solo a un'istanza del servizio Azure Spring Apps Enterprise con il servizio di compilazione abilitato. Con il servizio di compilazione abilitato, un'associazione buildpack indica la configurazione delle credenziali rispetto a un tipo APM o la configurazione dei certificati CA rispetto al tipo di certificati CA. Per l'integrazione di APM, seguire le istruzioni precedenti per configurare le variabili di ambiente o i segreti necessari per APM.
Nota
Quando si configurano le variabili di ambiente per le associazioni APM, usare i nomi delle chiavi senza un prefisso. Ad esempio, non usare un prefisso DT_
per un'associazione Dynatrace o APPLICATIONINSIGHTS_
per Application Insights. I buildpack diTanzu APM trasformano il nome della chiave nel nome della variabile di ambiente originale con un prefisso.
È possibile gestire le associazioni buildpack con il portale di Azure o l'interfaccia della riga di comando di Azure.
Per visualizzare le associazioni buildpack, seguire questa procedura:
Nel portale di Azure andare all'istanza del servizio Azure Spring Apps Enterprise.
Selezionare Compila servizio nel riquadro di spostamento.
Selezionare Modifica nella colonna Associazioni per visualizzare le associazioni configurate per un generatore.
Esaminare le associazioni nella pagina Modifica associazione per il generatore predefinito.
Creare un'associazione buildpack
Per creare un'associazione buildpack, selezionare Non associato nella pagina Modifica associazioni, specificare le proprietà di associazione quindi selezionare Salva.
Annullare l'associazione di un'associazione buildpack
È possibile annullare l'associazione di un'associazione di compilazione tramite il comando Annulla associazione oppure modificando le proprietà di associazione.
Per usare il comando Annulla associazione, selezionare il collegamento ipertestuale Associato seguito da Annulla associazione.
Per annullare l'associazione di un'associazione di compilazione modificando le proprietà di associazione, selezionare Modifica associazione quindi deselezionare Annulla associazione.
Quando si annulla l'associazione di un'associazione, lo stato dell'associazione cambia da Associato a Non associato.
Eseguire la migrazione di certificati APM e CA dalle associazioni nel generatore
La funzionalità binding nel generatore è deprecata e verrà rimossa in futuro. È consigliabile eseguire la migrazione delle associazioni nel generatore.
È possibile configurare certificati APM e CA nelle associazioni ed è possibile eseguirne la migrazione usando le sezioni seguenti.
Eseguire la migrazione del modulo APM configurato nelle associazioni
Nella maggior parte dei casi d'uso è presente un solo APM configurato nelle associazioni nel generatore predefinito. È possibile creare una nuova configurazione APM con la stessa configurazione nelle associazioni e abilitare questa configurazione APM a livello globale. Tutte le compilazioni e le distribuzioni successive usano automaticamente questa configurazione. Per eseguire la migrazione seguire i seguenti passaggi:
Eseguire il comando seguente per creare la configurazione APM:
az spring apm create \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name <your-APM-name> \ --type <your-APM-type> \ --properties a=b c=d \ --secrets e=f g=h
Usare il comando seguente per abilitare la configurazione di APM a livello globale:
az spring apm enable-globally \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name <your-APM-name> \
Usare il comando seguente per ridistribuire tutte le applicazioni per usare la nuova configurazione di APM abilitata a livello globale:
az spring app deploy \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name <app-name> \ --builder <builder-name> \ --artifact-path <path-to-your-JAR-file>
Verificare che la nuova configurazione di APM funzioni per tutte le applicazioni. Se tutto funziona correttamente, usare il comando seguente per rimuovere le associazioni APM nel generatore:
az spring build-service builder buildpack-binding delete \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name <your-APM-buildpack-binding-name> \ --builder-name <your-builder-name>
Se sono presenti diverse API configurate nelle associazioni, è possibile creare diverse configurazioni APM con la stessa configurazione nelle associazioni e abilitare la configurazione APM a livello globale, se applicabile. Usare il parametro --apms
per specificare una configurazione APM per una distribuzione se si vuole eseguire l'override di APM abilitato a livello globale, come illustrato nel comando seguente:
az spring app deploy \
--resource-group <resource-group-name> \
--service <Azure-Spring-Apps-instance-name> \
--name <app-name> \
--builder <builder-name> \
--apms <APM-name> \
--artifact-path <path-to-your-JAR-file>
Durante il processo di migrazione, APM viene configurato sia nelle associazioni che nella configurazione di APM. In questo caso, la configurazione di APM diventa effettiva e l'associazione viene ignorata.
Eseguire la migrazione del certificato DELLA CA configurato nelle associazioni
Per eseguire la migrazione di un certificato CA, seguire questa procedura:
Per un certificato DELLA CA configurato nell'associazione, se usato in fase di esecuzione, è possibile caricare il certificato nell'applicazione. Per altre informazioni, vedere la sezione Caricare un certificato in Usare certificati TLS/SSL nell'applicazione in Azure Spring Apps.
Usare il comando seguente per ridistribuire tutte le applicazioni usando il certificato della CA. Se si usa il certificato in fase di compilazione, usare il parametro
--build-certificates
per specificare il certificato della CA da usare in fase di compilazione per una distribuzione:az spring app deploy \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name <app-name> \ --builder <builder-name> \ --build-certificates <CA certificate-name> \ --artifact-path <path-to-your-JAR-file>
Verificare se il certificato della CA funziona per tutte le applicazioni che lo usano. Se tutto funziona correttamente, usare il comando seguente per rimuovere le associazioni di certificati CA nel generatore:
az spring build-service builder buildpack-binding delete \ --resource-group <resource-group-name> \ --service <Azure-Spring-Apps-instance-name> \ --name <your-CA-certificate-buildpack-binding-name> \ --builder-name <your-builder-name>