Cosa fare in Application Insights?How do I ... in Application Insights?

Per ricevere un messaggio di posta elettronica quando...Get an email when ...

Inviare un messaggio di posta elettronica se il sito non è disponibileEmail if my site goes down

Impostare un test web di disponibilità.Set an availability web test.

Inviare un messaggio di posta elettronica se il sito è sovraccaricoEmail if my site is overloaded

Impostare un avviso per il tempo di risposta del server.Set an alert on Server response time. Una soglia compresa tra 1 e 2 secondi dovrebbe risolvere il problema.A threshold between 1 and 2 seconds should work.

L'applicazione potrebbe inoltre dare segni di difficoltà tramite la restituzione di codici di errore.Your app might also show signs of strain by returning failure codes. Impostare un avviso per le richieste non riuscite.Set an alert on Failed requests.

Se si desidera impostare un avviso per le eccezioni del server, è necessario effettuare alcune impostazioni aggiuntive per visualizzare i dati.If you want to set an alert on Server exceptions, you might have to do some additional setup in order to see data.

Inviare un messaggio di posta elettronica in caso di eccezioniEmail on exceptions

  1. Configurare il monitoraggio delle eccezioniSet up exception monitoring
  2. Impostare un avviso sulla metrica relativa al conteggio del numero di eccezioniSet an alert on the Exception count metric

Inviare un messaggio di posta elettronica per un evento generato dall'appEmail on an event in my app

Si supponga che si desidera ricevere un messaggio di posta elettronica quando si verifica un evento specifico.Let's suppose you'd like to get an email when a specific event occurs. Application Insights non fornisce direttamente questa funzionalità, ma è possibile inviare un avviso quando una metrica supera una soglia.Application Insights doesn't provide this facility directly, but it can send an alert when a metric crosses a threshold.

Gli avvisi possono essere impostati per metriche personalizzate, anche se non per gli eventi personalizzati.Alerts can be set on custom metrics, though not custom events. Scrivere codice per potenziare una metrica quando si verifica l'evento:Write some code to increase a metric when the event occurs:

telemetry.TrackMetric("Alarm", 10);

oppure:or:

var measurements = new Dictionary<string,double>();
measurements ["Alarm"] = 10;
telemetry.TrackEvent("status", null, measurements);

Poiché gli avvisi possono avere due stati, è necessario inviare un valore basso quando si presume che l'avviso sia terminato:Because alerts have two states, you have to send a low value when you consider the alert to have ended:

telemetry.TrackMetric("Alarm", 0.5);

Creare un grafico in Esplora metriche per visualizzare l'allarme:Create a chart in metric explorer to see your alarm:

Impostare un avviso da attivare quando la metrica supera un valore medio per un breve periodo:Now set an alert to fire when the metric goes above a mid value for a short period:

Impostare il periodo medio sul valore minimo.Set the averaging period to the minimum.

Verranno ricevuti messaggi di posta elettronica quando la metrica è maggiore o minore della soglia.You'll get emails both when the metric goes above and below the threshold.

Alcune informazioni da considerare:Some points to consider:

  • Un avviso dispone di due stati: "Avviso" e "Integro".An alert has two states ("alert" and "healthy"). Lo stato viene valutato solo quando viene ricevuta una metrica.The state is evaluated only when a metric is received.
  • Un messaggio di posta elettronica viene inviato solo quando lo stato cambia.An email is sent only when the state changes. Questo è il motivo per cui è necessario inviare sia metriche con valori alti che metriche con valori bassi.This is why you have to send both high and low-value metrics.
  • Per valutare l'avviso, viene eseguita la media dei valori ricevuti nel periodo precedente.To evaluate the alert, the average is taken of the received values over the preceding period. Ciò si verifica ogni volta che viene ricevuta una metrica. Per questo motivo è possibile che i messaggi di posta elettronica vengano inviati più frequentemente rispetto al periodo impostato.This occurs every time a metric is received, so emails can be sent more frequently than the period you set.
  • Poiché vengono inviati messaggi di posta elettronica sia per avvisi con stato "Avviso" e che per avvisi con stato "Integro", è possibile riconsiderare l'evento unico come una condizione con due stati.Since emails are sent both on "alert" and "healthy", you might want to consider re-thinking your one-shot event as a two-state condition. Ad esempio, anziché un evento "processo completato", creare una condizione "processo in corso", dove è possibile ricevere messaggi di posta elettronica all'inizio e alla fine di un processo.For example, instead of a "job completed" event, have a "job in progress" condition, where you get emails at the start and end of a job.

Impostare automaticamente gli avvisiSet up alerts automatically

Usare PowerShell per creare nuovi avvisiUse PowerShell to create new alerts

Usare PowerShell per gestire Application InsightsUse PowerShell to Manage Application Insights

Separare la telemetria da diverse versioniSeparate telemetry from different versions

  • Più ruoli in un'app: usare una singola risorsa di Application Insights e filtrare su cloud_Rolename.Multiple roles in an app: Use a single Application Insights resource, and filter on cloud_Rolename. Altre informazioniLearn more
  • Separazione di sviluppo, test e versioni di rilascio: usare diverse risorse di Application Insights.Separating development, test, and release versions: Use different Application Insights resources. Acquisire le chiavi di strumentazione da web.config. Altre informazioniPick up the instrumentation keys from web.config. Learn more
  • Creazione di rapporti sulle versioni di compilazione: aggiungere una proprietà usando un inizializzatore di telemetria.Reporting build versions: Add a property using a telemetry initializer. Altre informazioniLearn more

Monitorare i server back-end e le app desktopMonitor backend servers and desktop apps

Usare il modulo di Windows Server SDK.Use the Windows Server SDK module.

Visualizzare i datiVisualize data

Dashboard con metriche da più appDashboard with metrics from multiple apps

  • In Esplora metrichepersonalizzare il grafico e salvarlo come preferito.In Metric Explorer, customize your chart and save it as a favorite. Aggiungerlo al dashboard di Azure.Pin it to the Azure dashboard.

Dashboard con dati provenienti da altre fonti e Application InsightsDashboard with data from other sources and Application Insights

OrOr

Filtrare gli utenti anonimi o autenticatiFilter out anonymous or authenticated users

Se gli utenti effettuano l'accesso, è possibile impostare l' ID dell'utente autenticato. Questa operazione non viene eseguita automaticamente.If your users sign in, you can set the authenticated user id. (It doesn't happen automatically.)

È quindi possibile:You can then:

  • Eseguire ricerche in base a ID utente specificiSearch on specific user ids

  • Filtrare le metriche in base a utenti anonimi o autenticatiFilter metrics to either anonymous or authenticated users

Modificare i nomi della proprietà o i valoriModify property names or values

Creare un filtro.Create a filter. Consente di modificare o filtrare la telemetria prima che venga inviata dall'app ad Application Insights.This lets you modify or filter telemetry before it is sent from your app to Application Insights.

Elencare utenti specifici e il relativo usoList specific users and their usage

Se si desidera cercare utenti specifici, è possibile impostare l'ID dell'utente autenticato.If you just want to search for specific users, you can set the authenticated user id.

Se si desidera un elenco di utenti con i dati quali, ad esempio, le pagine visualizzate o la frequenza di accesso, sono disponibili due opzioni:If you want a list of users with data such as what pages they look at or how often they log in, you have two options:

  • Impostare l'ID dell'utente autenticato, eseguire l'esportazione in un database e usare gli strumenti appropriati per analizzare i dati utente.Set authenticated user id, export to a database and use suitable tools to analyze your user data there.
  • Se si dispone solo di un numero limitato di utenti, inviare gli eventi o le metriche personalizzati usando i dati di interesse quali, ad esempio, il valore della metrica o il nome dell'evento, quindi impostando l'ID utente come proprietà.If you have only a small number of users, send custom events or metrics, using the data of interest as the metric value or event name, and setting the user id as a property. Per analizzare le visualizzazioni di pagina, sostituire la chiamata standard JavaScript trackPageView.To analyze page views, replace the standard JavaScript trackPageView call. Per analizzare i dati di telemetria sul lato server, usare un inizializzatore di telemetria per aggiungere l'ID utente a tutti i dati di telemetria del server.To analyze server-side telemetry, use a telemetry initializer to add the user id to all server telemetry. È quindi possibile filtrare e segmentare le metriche e le ricerche in base all'ID utente.You can then filter and segment metrics and searches on the user id.

Ridurre il traffico dall'app ad Application InsightsReduce traffic from my app to Application Insights

  • In ApplicationInsights.configdisabilitare tutti i moduli non necessari, come gli agenti di raccolta del contatore delle prestazioni.In ApplicationInsights.config, disable any modules you don't need, such the performance counter collector.
  • Usare Campionamento e filtri nell’SDK.Use Sampling and filtering at the SDK.
  • Nelle pagine Web limitare il numero di chiamate Ajax segnalato per ogni visualizzazione della pagina.In your web pages, Limit the number of Ajax calls reported for every page view. Nel frammento di script dopo instrumentationKey:... inserire: ,maxAjaxCallsPerView:3 (o un numero adatto).In the script snippet after instrumentationKey:... , insert: ,maxAjaxCallsPerView:3 (or a suitable number).
  • Se si usa TrackMetric, calcolare l'aggregazione di batch di valori delle metriche prima di inviare il risultato.If you're using TrackMetric, compute the aggregate of batches of metric values before sending the result. Un overload di TrackMetric() esegue questa operazione.There's an overload of TrackMetric() that provides for that.

Altre informazioni su prezzi e quote.Learn more about pricing and quotas.

Disabilitare telemetriaDisable telemetry

Per avviare e arrestare in modo dinamico la raccolta e la trasmissione di dati di telemetria dal server:To dynamically stop and start the collection and transmission of telemetry from the server:


    using  Microsoft.ApplicationInsights.Extensibility;

    TelemetryConfiguration.Active.DisableTelemetry = true;

Per disabilitare gli agenti di raccolta standard selezionati - ad esempio, i contatori delle prestazioni, delle richieste HTTP o delle dipendenze - eliminare o impostare come commento le righe pertinenti in Applicationinsights.config. È possibile eseguire questa operazione, ad esempio, se si vogliono inviare i propri dati TrackRequest.To disable selected standard collectors - for example, performance counters, HTTP requests, or dependencies - delete or comment out the relevant lines in ApplicationInsights.config. You could do this, for example, if you want to send your own TrackRequest data.

Visualizzare i contatori delle prestazioni di sistemaView system performance counters

Tra le metriche che è possibile visualizzare in Esplora metriche è disponibile un set di contatori delle prestazioni di sistema.Among the metrics you can show in metrics explorer are a set of system performance counters. Esiste un pannello predefinito denominato Server in cui sono visualizzati alcuni set.There's a predefined blade titled Servers that displays several of them.

Aprire la risorsa Application Insights e fare clic su Server.

Se non vengono visualizzati dati dei contatori delle prestazioniIf you see no performance counter data

  • Server IIS sul proprio computer o in una macchina virtuale.IIS server on your own machine or on a VM. Installare Status Monitor.Install Status Monitor.
  • Sito Web di Azure - i contatori delle prestazioni non sono ancora supportati.Azure web site - we don't support performance counters yet. Esistono diverse metriche che è possibile ottenere come una parte standard del Pannello di controllo del sito Web di Azure.There are several metrics you can get as a standard part of the Azure web site control panel.
  • Server Unix - Installare collectdUnix server - Install collectd

Per visualizzare altri contatori delle prestazioniTo display more performance counters