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.
Application Insights è un servizio estendibile di gestione delle prestazioni delle applicazioni che è possibile usare per monitorare le applicazioni in tempo reale e rilevare automaticamente le anomalie delle prestazioni. Include potenti strumenti di analisi che consentono di diagnosticare i problemi e comprendere come gli utenti interagiscono con l'applicazione. Questa guida all'architettura fornisce procedure consigliate per Application Insights in base ai cinque pilastri dei pilastri di Azure Well-Architected Framework.
Ambito della tecnologia
Questa guida è incentrata sulle decisioni correlate per le risorse di Azure seguenti:
- Application Insights
- Aree di lavoro Log Analytics
Note
Application Insights archivia ed espone i dati in un'area di lavoro Log Analytics. Quando si valutano le metriche, mantenere Log Analytics come dipendenza critica da Application Insights. Per ulteriori informazioni, consultare la prospettiva del Well-Architected Framework su Log Analytics.
Reliability
Lo scopo del pilastro Affidabilità è fornire funzionalità continue attraverso la costruzione di una resilienza sufficiente e la capacità di recuperare rapidamente dai guasti.
Elenco di controllo per la progettazione del carico di lavoro
Avvia la tua strategia di progettazione basandoti sulla checklist di revisione del progetto per l'affidabilità. Determinare la rilevanza per i requisiti aziendali e tenere presente la dipendenza da Log Analytics. Estendere la strategia per includere altri approcci in base alle esigenze.
Allineare la progettazione del monitoraggio delle applicazioni agli obiettivi aziendali ed evitare complessità non necessarie. Determinare il numero di risorse di Application Insights necessarie e dove distribuirle.
Configurare il campionamento in base alla criticità dei dati. Identificare i flussi utente e di sistema del carico di lavoro, determinare gli eventi da raccogliere e configurare di conseguenza il campionamento.
- Per le applicazioni strumentate manualmente, vedere Distribuzione OpenTelemetry di Azure Monitor o SDK di Application Insights (API classica).
- Per l'autostrumentazione, il campionamento è descritto negli articoli specifici per l'ambiente. Per altre informazioni, vedere Configurare il campionamento in Funzioni di Azure.
Creare un piano di resilienza completo.
- Per iniziare, eseguire un'analisi della modalità di errore per identificare i potenziali scenari in cui Application Insights potrebbe non riuscire o diventare non raggiungibile. Questi motivi possono includere problemi di rete, problemi di autenticazione o interruzioni del servizio.
- Determinare il comportamento del carico di lavoro se Application Insights non è raggiungibile all'avvio o durante il runtime in base alla criticità del monitoraggio delle applicazioni agli obiettivi aziendali. Definire e documentare il comportamento previsto del carico di lavoro.
- Testare il piano di resilienza. Ad esempio, è possibile convalidare gli errori di rete usando una regola del gruppo di sicurezza di rete e autenticare gli errori modificando la stringa di connessione.
Pianificare la resilienza e il ripristino dell'area di lavoro definendo le destinazioni per i componenti di raccolta dati.
- Valutare la criticità dei dati raccolti e determinare se deve essere recuperabile.
- Esaminare i limiti del servizio per Application Insights e l'area di lavoro Log Analytics per comprendere le restrizioni relative alla raccolta e alla conservazione dei dati e ad altri aspetti del servizio.
- Valutare la possibilità di passare a un cluster dedicato per sfruttare la resilienza dell'area di lavoro in cui la disponibilità dei dati di telemetria di Application Insights entro il periodo di conservazione definito è fondamentale per l'azienda.
- Usare le impostazioni di diagnostica per esportare i log e le metriche della piattaforma nella destinazione preferita (ad esempio, un account di archiviazione) per scopi di backup e ripristino.
Implementare una strategia di scalabilità tempestiva e affidabile per pianificare la crescita dell'inserimento dei dati. Monitorare e regolare i limiti relativi al campionamento e all'inserimento dei dati man mano che il traffico aumenta per evitare la perdita di dati a causa del campionamento o del superamento del limite giornaliero. Ciò consente di garantire che il processo di inserimento dati venga ridimensionato in modo efficace con l'aumento del traffico.
Assicurarsi un ripristino rapido della soluzione di monitoraggio delle applicazioni in caso di errore del servizio. Adottare l'infrastruttura come codice e usare modelli Bicep per creare o ricreare l'esperienza utente in Application Insights, inclusi avvisi, dashboard e query. Questo approccio consente di garantire che tutti i componenti critici vengano ripristinati rapidamente, riducendo al minimo i tempi di inattività e mantiene l'affidabilità del servizio.
Consigli sulla configurazione
| Recommendation | Benefit |
|---|---|
| Usare una risorsa di Application Insights per ogni carico di lavoro per ogni ambiente, ad esempio una per lo sviluppo, una per la gestione temporanea e una per la produzione. | L'uso di più risorse di Application Insights impedisce la combinazione di dati di telemetria da versioni diverse dell'applicazione e garantisce che una configurazione errata di una risorsa non influisca sulla registrazione per un altro ambiente. |
| Distribuire la risorsa di Application Insights nella stessa area dell'area di lavoro Log Analytics sottostante. | Poiché Application Insights richiede che Log Analytics funzioni correttamente, la presenza di entrambe le risorse in aree diverse raddoppia la possibilità che un errore a livello di area causi problemi. |
| Implementare una progettazione resiliente dell'area di lavoro usando le procedure consigliate per i log di Monitoraggio di Azure. | Le procedure consigliate consentono di garantire un monitoraggio continuo e affidabile riducendo al minimo le interruzioni. |
Security
Lo scopo del pilastro Sicurezza è fornire garanzie di riservatezza, integrità e disponibilità al carico di lavoro.
I principi di progettazione della sicurezza forniscono una strategia di progettazione di alto livello per raggiungere tali obiettivi applicando approcci alla progettazione tecnica di Application Insights.
Elenco di controllo per la progettazione del carico di lavoro
Avvia la tua strategia di progettazione in base alla checklist di revisione della progettazione per la sicurezza e identifica vulnerabilità e controlli per migliorare il profilo di sicurezza.
Esaminare la baseline di sicurezza di Azure Monitor. Fornisce indicazioni sulle procedure consigliate per la sicurezza per proteggere le soluzioni cloud in Azure, tra cui Application Insights.
Mantenere aggiornata la strumentazione di Application Insights per garantire la sicurezza della soluzione di monitoraggio delle applicazioni. Seguire le linee guida per l'aggiornamento dell'SDK e aggiornare gli SDK di Application Insights (API classica) almeno una volta all'anno. È consigliabile seguire procedure simili per l'Azure Monitor OpenTelemetry Distro.
Definire una strategia per la gestione dei dati personali in Application Insights. Per garantire la conformità continua, verificare regolarmente che la raccolta e la gestione dei dati, inclusi gli indirizzi IP e i dati personali, sia conforme alle normative pertinenti, ad esempio il GDPR.
Creare una segmentazione intenzionale nella progettazione del monitoraggio delle applicazioni. Determinare il numero di risorse di Application Insights necessarie.
Usare la chiave gestita dal cliente di Azure Monitor. Per impostazione predefinita, i dati in Monitoraggio di Azure vengono crittografati con chiavi gestite da Microsoft. È possibile usare la propria chiave di crittografia per proteggere i dati e le query salvate nelle aree di lavoro. Le chiavi gestite dal cliente in Monitoraggio di Azure offrono maggiore flessibilità per gestire i controlli di accesso ai dati archiviati.
Controllare il traffico di rete. Prendere in considerazione la connettività privata per l'accesso ai servizi di Azure. La connettività privata isola efficacemente il traffico dalla rete Internet pubblica. I flussi di dati per la rete privata includono sia operazioni di inserimento dati che operazioni di query, ognuna destinata a endpoint distinti. Questi endpoint possono essere gestiti in modo indipendente. Questo approccio consente di configurare l'inserimento privato mantenendo l'accesso alle query pubbliche o viceversa. In questo modo, è possibile applicare principi di difesa avanzata creando controlli di rete localizzati in tutti i limiti di rete disponibili.
Migliorare la protezione dei dati proteggendo i sistemi di archiviazione e limitando l'accesso. Per informazioni su come proteggere i dati raccolti, vedere la guida al servizio Log Analytics .
Consigli sulla configurazione
| Recommendation | Benefit |
|---|---|
| Se le esigenze aziendali e l'ambiente di hosting non richiedono la strumentazione manuale, è consigliabile usare la strumentazione automatica. | Questo approccio elimina la necessità di aggiornamenti manuali dell'SDK, non richiede modifiche al codice ed elimina il sovraccarico di gestione del codice di strumentazione. Può anche migliorare la sicurezza assicurando un monitoraggio coerente delle applicazioni senza intervento manuale. |
| Usare le identità gestite e l'ID Microsoft Entra per le esigenze di autenticazione e autorizzazione. | Elimina la necessità di gestire le credenziali perché Azure gestisce, ruota e protegge queste credenziali. |
| Interrompere la raccolta di dati personali o offuscare, rendere anonimi o modificare i dati raccolti. Per impostazione predefinita, Application Insights non archivia gli indirizzi IP. È consigliabile mantenere questa impostazione predefinita. | Esclude i dati da considerare personali e impedisce l'interruzione di eventuali requisiti di conformità o normative locali. |
| Usare una risorsa di Application Insights per ogni carico di lavoro per ogni ambiente. Ad esempio, usarne uno per lo sviluppo, uno per la gestione temporanea e uno per la produzione. | L'uso di più risorse di Application Insights consente di garantire l'isolamento e la sicurezza dei dati e semplifica l'applicazione di configurazioni e controlli di accesso specifici dell'ambiente. |
| Usare collegamento privato di Azure per accedere ai servizi di Azure tramite un endpoint privato. Segui la configurazione e le limitazioni. Evitare di connettere AMPLS a più reti virtuali che condividono lo stesso DNS perché ciò causa errori sugli endpoint privati. | Una topologia AMPLS configurata correttamente migliora la riservatezza dei log del carico di lavoro mantenendo il traffico di registrazione su reti completamente private. |
Ottimizzazione dei costi
L'ottimizzazione dei costi è incentrata su rilevare modelli di spesa, assegnare priorità agli investimenti in aree critiche e ottimizzare in altri per soddisfare il budget dell'organizzazione rispettando i requisiti aziendali.
I principi di progettazione di Ottimizzazione costi forniscono una strategia di progettazione di alto livello per raggiungere tali obiettivi e fare compromessi in base alle esigenze nella progettazione tecnica relativa ad Application Insights e al relativo ambiente.
Per ulteriori informazioni su come vengono calcolati gli addebiti per i dati per le aree di lavoro associate a Log Analytics delle risorse di Application Insights, vedere Log di Azure Monitor: calcoli dei costi e opzioni.
Elenco di controllo per la progettazione del carico di lavoro
Avvia la tua strategia di progettazione basata sulla checklist di revisione del design per l'ottimizzazione dei costi negli investimenti. Ottimizzare la progettazione in modo che il carico di lavoro sia allineato al budget allocato per esso. La progettazione deve usare le funzionalità di Azure appropriate, monitorare gli investimenti e trovare opportunità per ottimizzare nel tempo.
Esaminare i prezzi di Monitoraggio di Azure per creare un modello di costo. Stimare il costo iniziale, le tariffe di esecuzione e i costi continui usando il calcolatore prezzi. Si noti che Application Insights viene fatturato tramite l'area di lavoro Log Analytics in cui vengono inseriti i dati di log.
Ottimizzare la quantità di dati raccolti.
- Usare il campionamento a livello di Application Insights per ridurre i costi di traffico e archiviazione dei dati mantenendo al tempo stesso un'analisi statisticamente corretta dei dati dell'applicazione.
- Application Insights ha diverse fonti di log possibili. Usare i livelli di log per ridurre e ottimizzare la telemetria dei log di traccia.
Limita gli addebiti non pianificati per l'area di lavoro. È possibile impostare un limite giornaliero sia in Application Insights che in Log Analytics.
Esaminare regolarmente i costi, ad esempio i prezzi a livello di area e i piani tariffari disponibili. Gli addebiti più significativi per la maggior parte delle implementazioni di Monitoraggio di Azure sono in genere l'inserimento e la conservazione dei dati nelle aree di lavoro Log Analytics. Per altre informazioni, vedere Calcoli e opzioni dei costi dei log di Monitoraggio di Azure o la sezione Ottimizzazione costi nella guida al servizio Log Analytics.
Rimuovere o ottimizzare regolarmente i componenti legacy, non necessari e sottoutilizzati della soluzione di monitoraggio delle applicazioni.Modificare ApplicationInsights.config per disattivare i moduli di raccolta non necessari. Ad esempio, è possibile decidere che i contatori delle prestazioni o i dati delle dipendenze non sono necessari. Usare filtri o processori di telemetria nel codice per ottimizzare i costi dei componenti non registrando o eseguendo il campionamento di chiamate irrilevanti.
Ottimizzare i costi dell'ambiente. Determinare il numero di risorse di Application Insights necessarie e dove distribuirle. Ottimizzare i livelli di log e le metriche raccolti per ogni ambiente per gestire i costi in modo efficace. Ad esempio, gli ambienti di produzione potrebbero richiedere livelli di registrazione diversi rispetto agli ambienti di sviluppo.
Ottimizzare i costi del flusso. Usare filtri o processori di telemetria nel codice per ottimizzare i costi dei componenti non registrando o eseguendo il campionamento di chiamate irrilevanti.
Ottimizzare i costi del codice. Assicurarsi di usare gli SDK di Application Insights aggiornati. Le versioni precedenti di ASP.NET Core SDK e Worker Service SDK raccolgono molti contatori per impostazione predefinita, raccolti come metriche personalizzate. Usare le versioni successive per specificare solo i contatori obbligatori.
Ottimizzare il tempo del personale. Usare le esperienze di Application Insights, ad esempio la mappa delle applicazioni , le visualizzazioni delle prestazioni e gli errori e le visualizzazioni delle prestazioni e personalizzare query salvate, dashboard e cartelle di lavoro per esigenze specifiche del carico di lavoro. Tenere traccia delle distribuzioni e di altri eventi con annotazioni di versione.
Consigli sulla configurazione
| Recommendation | Benefit |
|---|---|
| Impostare un limite giornaliero sia in Application Insights che in Log Analytics, ma provare a evitare di raggiungerlo. | Il raggiungimento del limite giornaliero può causare la mancata scrittura dei dati nell'area di lavoro Log Analytics. L'impostazione di un limite è una soluzione rischiosa ma efficace per la limitazione della spesa. |
| Per i test di disponibilità standard, la necessità di test da posizioni diverse può variare tra ambienti di produzione e preproduzione. Ridurre di conseguenza il numero di posizioni. | I test comportano costi, quindi effettua solo un numero sufficiente di test per avere fiducia nella salute del carico di lavoro. |
| Distribuire la risorsa di Application Insights nella stessa regione dell'area di lavoro Log Analytics sottostante. | Questo approccio riduce al minimo la latenza e riduce i costi associati ai dati di telemetria tra aree. |
| Ridurre la frequenza di campionamento per i flussi meno critici e aumentarla per i flussi con un'elevata criticità. Usare i filtri di telemetria per i dati di telemetria non essenziali. | Il volume di dati è un driver di costo durante la progettazione dell'integrazione di Application Insights. La riduzione del volume di dati tramite frequenze di campionamento e filtri è una possibile soluzione per mantenere sotto controllo la raccolta dati. |
| Limitare il numero di chiamate Ajax che possono essere segnalate in ogni visualizzazione pagina o disabilitare la creazione di report Ajax. Se si disabilitano le chiamate Ajax, si disabilita anche la correlazione JavaScript. | Il volume di dati è un driver di costo durante la progettazione dell'integrazione di Application Insights per l'applicazione client. La riduzione del volume di dati tramite la reportistica delle pagine cliente ridotta è una soluzione potenziale per mantenere sotto controllo i costi di raccolta dei dati. |
| Usare le metriche preaggregate per gestire i dati di telemetria con volumi elevati in modo più efficiente e limitare l'uso di metriche personalizzate. Tuttavia, l'opzione Application Insights per abilitare l'invio di avvisi sulle dimensioni delle metriche personalizzate può anche aumentare i costi. Usare le metriche per assicurarsi che vengano ottenuti risparmi sui costi. | Tutte le metriche personalizzate vengono archiviate sia nei log che negli archivi delle metriche. Le metriche preaggregate riducono i costi di archiviazione correlati alle metriche personalizzate. |
| Se le esigenze aziendali e l'ambiente di hosting non richiedono la strumentazione manuale, è consigliabile usare la strumentazione automatica. | Questo approccio ottimizza il tempo di progettazione del software eliminando la necessità di aggiornamenti manuali dell'SDK, modifiche al codice correlate alle nuove versioni e sovraccarico della gestione del codice di strumentazione. |
| Limitare la registrazione di traccia indesiderata: • Rimuovere i controlli di integrità. Consulta Filtrare le tracce indesiderate in Ottimizzazione dei costi con la distro OpenTelemetry di Azure Monitor. • Per il servizio Azure Kubernetes, modificare il piano di controllo e i log del piano dati. • Per Azure Functions, adattare i livelli di log e l'ambito per ottimizzare il volume di log. |
La limitazione della registrazione di traccia indesiderata riduce la quantità di dati archiviati, riducendo i costi di archiviazione. |
Eccellenza operativa
L'eccellenza operativa si concentra principalmente sulle procedure per le pratiche di sviluppo , l'osservabilità e la gestione dei rilasci.
I principi di progettazione di eccellenza operativa forniscono una strategia di progettazione di alto livello per raggiungere tali obiettivi relativi ai requisiti operativi del flusso di lavoro.
Elenco di controllo per la progettazione del carico di lavoro
Avvia la tua strategia di progettazione sulla base del design review checklist per l'Eccellenza Operativa per definire i processi relativi all'osservabilità, ai test e alla distribuzione in relazione a "Application Insights".
Integrare le specializzazioni dei membri del team di monitoraggio delle applicazioni in un set affidabile di procedure per instrumentare e monitorare il carico di lavoro. Scegliere un metodo di strumentazione (ad esempio, la strumentazione automatica o la strumentazione manuale) più adatto alla situazione in base alle esigenze aziendali e agli ambienti, alle lingue e ai provider di risorse supportati.
Garantire prestazioni ottimali della soluzione di monitoraggio delle applicazioni mantenendo aggiornata la strumentazione di Application Insights. Seguire le linee guida per l'aggiornamento dell'SDK e aggiornare gli SDK di Application Insights (API classica) almeno una volta all'anno. È consigliabile seguire procedure simili per Azure Monitor OpenTelemetry Distro. L'uso dell'SDK o delle versioni di distribuzione più recenti garantisce l'accesso ai servizi di supporto e fornisce le funzionalità e le correzioni di bug più recenti.
Formalizzare i processi di ideazione e pianificazione. Usare l'integrazione degli elementi di lavoro per creare facilmente elementi di lavoro in GitHub o Azure DevOps con dati di Application Insights pertinenti incorporati.
Configurare Application Insights per monitorare la disponibilità e la velocità di risposta dell'applicazione Web. Usare funzionalità predefinite come query e dashboard in base alle esigenze aziendali specifiche. Dopo aver distribuito l'applicazione, configurare test ricorrenti per monitorare la disponibilità e la velocità di risposta.
Sviluppa una pratica efficace delle operazioni di emergenza. Usare avvisi e cartelle di lavoro per identificare e rispondere agli eventi imprevisti. Definire chiaramente le responsabilità umane. Ad esempio, determinare chi riavvia l'applicazione in caso di errore del carico di lavoro.
Definire chiaramente le procedure di distribuzione sicure del carico di lavoro. Usare le annotazioni di versione come parte delle strategie di mitigazione degli errori per tenere traccia delle distribuzioni e di altri eventi.
Consigli sulla configurazione
| Recommendation | Benefit |
|---|---|
| Se le esigenze aziendali e l'ambiente di hosting non richiedono la strumentazione manuale, è consigliabile usare la strumentazione automatica. | Questo approccio ottimizza il tempo di progettazione del software eliminando la necessità di aggiornamenti manuali dell'SDK, modifiche al codice correlate alle nuove versioni e sovraccarico della gestione del codice di strumentazione. |
| Se le esigenze aziendali richiedono la strumentazione manuale, adottare la Azure Monitor OpenTelemetry Distro. | Evitare una migrazione forzata futura dagli SDK di Application Insights (API classica) adottando un metodo di strumentazione basato su OpenTelemetry. |
| Usare le stringhe di connessione. | Rendere l'inserimento dei dati di telemetria più affidabile e rimuovere le dipendenze da endpoint di inserimento globali. |
Efficienza delle prestazioni
L'efficienza delle prestazioni riguarda mantenere l'esperienza utente anche quando si verifica un aumento del carico gestendo la capacità. La strategia include il ridimensionamento delle risorse, l'identificazione dei potenziali colli di bottiglia e la loro risoluzione, e l'ottimizzazione per prestazioni di picco.
I principi di progettazione efficienza delle prestazioni forniscono una strategia di progettazione di alto livello per raggiungere tali obiettivi di capacità rispetto all'utilizzo previsto.
Elenco di controllo per la progettazione del carico di lavoro
Inizia la tua strategia di progettazione basandoti sull'elenco di controllo per la revisione della progettazione per l'Efficienza delle Prestazioni. Definire una baseline basata su indicatori di prestazioni chiave per Application Insights.
Definire gli obiettivi di prestazioni correlati ai requisiti di monitoraggio delle applicazioni. Determinare il numero di risorse di Application Insights necessarie.
Eseguire la pianificazione della capacità. Comprendere i modelli di utilizzo e la quantità di dati in arrivo e rivedere la frequenza di inserimento e campionamento.
Selezionare l'area appropriata per la soluzione di monitoraggio delle applicazioni. Distribuire la risorsa di Application Insights nella stessa area dell'area di lavoro Log Analytics sottostante per evitare problemi di latenza e affidabilità. Vedere Creare una risorsa.
Valutare il numero di risorse di Application Insights necessarie. Il monitoraggio di applicazioni o componenti dell'applicazione con una singola risorsa di Application Insights offre una visualizzazione olistica, ma può anche influire sulle prestazioni delle esperienze, ad esempio Mappa delle applicazioni e Utilizzo.
Ottimizzare il codice e l'infrastruttura. Valutare regolarmente il codice personalizzato di Application Insights per ridurre la complessità, migliorare le prestazioni e assicurarsi che il codice sia aggiornato.
Comprendere i modelli di utilizzo e la quantità di dati in arrivo esaminando l'inserimento e la frequenza di campionamento. Per ottimizzare l'utilizzo dei dati, modificarli di conseguenza e ridurre la quantità di metriche personalizzate, ad esempio ITelemetryProcessor.
Ottimizza continuamente le prestazioni. Usare funzionalità predefinite come rilevamento intelligente, query e dashboard per trovare componenti che mostrano un peggioramento delle prestazioni.
Consigli sulla configurazione
| Recommendation | Benefit |
|---|---|
| Usare una risorsa di Application Insights per ogni carico di lavoro per ogni ambiente, ad esempio una per lo sviluppo, una per la gestione temporanea e una per la produzione. | Questo approccio impedisce la combinazione di dati di telemetria da versioni diverse dell'applicazione. |
| Se applicabile, assicurarsi che la frequenza e la durata di profilatura siano impostate in modo appropriato. | Evitare di aggiungere un sovraccarico eccessivo al processo in esecuzione. |
Criteri di Azure
Azure offre un set completo di criteri predefiniti correlati ad Application Insights e alle relative dipendenze. È possibile controllare alcune delle raccomandazioni precedenti tramite Criteri di Azure. Ad esempio, è possibile verificare se:
- I componenti di Application Insights dovrebbero impedire l'ingestione dei log da reti pubbliche o da fonti che Microsoft Entra ID non autentica.
- È consigliabile applicare il collegamento del componente Application Insights a un'area di lavoro Log Analytics per crittografare i log.
Per una governance completa, esaminare le definizioni predefinite di Criteri di Azure per Application Insights e altri criteri che potrebbero influire sulla sicurezza della soluzione di monitoraggio delle prestazioni dell'applicazione.
Raccomandazioni di Azure Advisor
Azure Advisor è un consulente cloud personalizzato che consente di seguire le procedure consigliate per ottimizzare le distribuzioni di Azure.
Per altre informazioni, vedere Azure Advisor.
Contenuti correlati
- Application Insights
- Indicazioni per il monitoraggio e la diagnostica
- Prospettiva di Azure Well-Architected Framework sull'analisi dei log
- Abilitare il monitoraggio delle applicazioni nel servizio app Azure per applicazioni .NET, Node.js, Python e Java
- Abilitare OpenTelemetry di Monitoraggio di Azure per applicazioni .NET, Node.js, Python e Java