Usare PowerShell per impostare gli avvisi in Application InsightsUse PowerShell to set alerts in Application Insights

È possibile automatizzare la configurazione degli avvisi in Application Insights.You can automate the configuration of alerts in Application Insights.

È inoltre possibile impostare webhook per automatizzare la risposta a un avviso.In addition, you can set webhooks to automate your response to an alert.

Nota

Se si vuole creare risorse e avvisi allo stesso tempo, considerare l'uso di un modello di Azure Resource Manager.If you want to create resources and alerts at the same time, consider using an Azure Resource Manager template.

Installazione singolaOne-time setup

Se non si è mai usato PowerShell con la sottoscrizione di Azure:If you haven't used PowerShell with your Azure subscription before:

Installare il modulo Azure Powershell nel computer in cui verranno eseguiti gli script.Install the Azure Powershell module on the machine where you want to run the scripts.

Connettersi ad AzureConnect to Azure

Avviare Azure PowerShell e connettersi alla sottoscrizione:Start Azure PowerShell and connect to your subscription:


    Add-AzureAccount

Ottenere gli avvisiGet alerts

Get-AzureAlertRmRule -ResourceGroup "Fabrikam" [-Name "My rule"] [-DetailedOutput]

Aggiungere un avvisoAdd alert

Add-AlertRule  -Name "{ALERT NAME}" -Description "{TEXT}" `
 -ResourceGroup "{GROUP NAME}" `
 -ResourceId "/subscriptions/{SUBSCRIPTION ID}/resourcegroups/{GROUP NAME}/providers/microsoft.insights/components/{APP RESOURCE NAME}" `
 -MetricName "{METRIC NAME}" `
 -Operator GreaterThan  `
 -Threshold {NUMBER}   `
 -WindowSize {HH:MM:SS}  `
 [-SendEmailToServiceOwners] `
 [-CustomEmails "EMAIL1@X.COM","EMAIL2@Y.COM" ] `
 -Location "East US" // must be East US at present
 -RuleType Metric

Esempio 1Example 1

Invia un messaggio di posta elettronica se la risposta del server alle richieste HTTP, calcolate su una media di 5 minuti, richiede più di 1 secondo.Email me if the server's response to HTTP requests, averaged over 5 minutes, is slower than 1 second. La risorsa di Application Insights è denominata IceCreamWebApp e si trova nel gruppo di risorse Fabrikam.My Application Insights resource is called IceCreamWebApp, and it is in resource group Fabrikam. Sono il proprietario della sottoscrizione di Azure.I am the owner of the Azure subscription.

Il GUID è l'ID sottoscrizione (non la chiave di strumentazione dell'applicazione).The GUID is the subscription ID (not the instrumentation key of the application).

Add-AlertRule -Name "slow responses" `
 -Description "email me if the server responds slowly" `
 -ResourceGroup "Fabrikam" `
 -ResourceId "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/Fabrikam/providers/microsoft.insights/components/IceCreamWebApp" `
 -MetricName "request.duration" `
 -Operator GreaterThan `
 -Threshold 1 `
 -WindowSize 00:05:00 `
 -SendEmailToServiceOwners `
 -Location "East US" -RuleType Metric

Esempio 2Example 2

Ho un'applicazione in cui uso TrackMetric() per segnalare una metrica denominata "salesPerHour".I have an application in which I use TrackMetric() to report a metric named "salesPerHour." Invia un messaggio di posta elettronica ai miei colleghi, se "salesPerHour" scende sotto il valore 100, calcolato su una media di 24 ore.Send an email to my colleagues if "salesPerHour" drops below 100, averaged over 24 hours.

Add-AlertRule -Name "poor sales" `
 -Description "slow sales alert" `
 -ResourceGroup "Fabrikam" `
 -ResourceId "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/Fabrikam/providers/microsoft.insights/components/IceCreamWebApp" `
 -MetricName "salesPerHour" `
 -Operator LessThan `
 -Threshold 100 `
 -WindowSize 24:00:00 `
 -CustomEmails "satish@fabrikam.com","lei@fabrikam.com" `
 -Location "East US" -RuleType Metric

La stessa regola può essere utilizzata per la metrica riportata utilizzando il parametro misura di un altra chiamata di rilevamento come ad esempio TrackEvent o trackPageView.The same rule can be used for the metric reported by using the measurement parameter of another tracking call such as TrackEvent or trackPageView.

Nomi delle metricheMetric names

Nome metricaMetric name Nome schermataScreen name DescrizioneDescription
basicExceptionBrowser.count Eccezioni del browserBrowser exceptions Conteggio delle eccezioni non rilevate generate nel browser.Count of uncaught exceptions thrown in the browser.
basicExceptionServer.count Eccezioni del serverServer exceptions Conteggio delle eccezioni non gestite generate dall'applicazioneCount of unhandled exceptions thrown by the app
clientPerformance.clientProcess.value Tempo di elaborazione clientClient processing time Tempo compreso tra la ricezione dell'ultimo byte di un documento e il caricamento del DOM.Time between receiving the last byte of a document until the DOM is loaded. Le richieste asincrone potrebbero essere ancora in fase di elaborazione.Async requests may still be processing.
clientPerformance.networkConnection.value Tempo di connessione alla rete per il caricamento della paginaPage load network connect time Tempo impiegato dal browser per connettersi alla rete.Time the browser takes to connect to the network. Può essere 0 se memorizzato nella cache.Can be 0 if cached.
clientPerformance.receiveRequest.value Tempo per la ricezione della rispostaReceiving response time Tempo tra l'invio di richiesta del browser e l'inizio della ricezione della risposta.Time between browser sending request to starting to receive response.
clientPerformance.sendRequest.value Tempo per l'invio della richiestaSend request time Tempo impiegato dal browser per inviare la richiesta.Time taken by browser to send request.
clientPerformance.total.value Tempo di caricamento della pagina del browserBrowser page load time Tempo compreso tra la richiesta utente e il caricamento di DOM, fogli di stile, script e immagini.Time from user request until DOM, stylesheets, scripts and images are loaded.
performanceCounter.available_bytes.value Memoria disponibileAvailable memory Memoria fisica immediatamente disponibile per l'allocazione a un processo o utilizzabile dal sistema.Physical memory immediately available for a process or for system use.
performanceCounter.io_data_bytes_per_sec.value Velocità di elaborazione I/OProcess IO Rate Numero totale di byte al secondo letti e scritti in file, rete e dispositivi.Total bytes per second read and written to files, network and devices.
performanceCounter.number_of_exceps_thrown_per_sec.value Frequenza di eccezioniexception rate Eccezioni generate al secondo.Exceptions thrown per second.
performanceCounter.percentage_processor_time.value CPU processoProcess CPU Percentuale di tempo trascorso di tutti i thread di processo usati dal processore per le istruzioni di esecuzione relative al processo dell'applicazione.The percentage of elapsed time of all process threads used by the processor to execution instructions for the applications process.
performanceCounter.percentage_processor_total.value Tempo processoreProcessor time Percentuale di tempo che il processore dedica a thread non inattivi.The percentage of time that the processor spends in non-Idle threads.
performanceCounter.process_private_bytes.value Byte privati processoProcess private bytes Memoria assegnata in modo esclusivo ai processi dell'applicazione monitorata.Memory exclusively assigned to the monitored application's processes.
performanceCounter.request_execution_time.value Tempo di esecuzione della richiesta di ASP.NETASP.NET request execution time Tempo di esecuzione della richiesta più recente.Execution time of the most recent request.
performanceCounter.requests_in_application_queue.value Richieste ASP.NET nella coda di esecuzioneASP.NET requests in execution queue Lunghezza della coda di richieste dell'applicazione.Length of the application request queue.
performanceCounter.requests_per_sec.value Percentuale di richieste ASP.NETASP.NET request rate Percentuale di tutte le richieste effettuate all'applicazione da ASP.NET in un secondo.Rate of all requests to the application per second from ASP.NET.
remoteDependencyFailed.durationMetric.count Errori di dipendenzeDependency failures Conteggio delle chiamate non riuscite effettuate dall'applicazione server alle risorse esterne.Count of failed calls made by the server application to external resources.
request.duration Tempo di risposta del serverServer response time Tempo compreso tra la ricezione di una richiesta HTTP e il completamento dell'invio della risposta.Time between receiving an HTTP request and finishing sending the response.
request.rate Frequenza di richiesteRequest rate Percentuale di tutte le richieste effettuate all'applicazione in un secondo.Rate of all requests to the application per second.
requestFailed.count Richieste non riusciteFailed requests Conteggio delle richieste HTTP per cui è stato restituito un codice di risposta maggiore o uguale a 400Count of HTTP requests that resulted in a response code >= 400
view.count Visualizzazioni paginaPage views Conteggio delle richieste utente del client per una pagina Web.Count of client user requests for a web page. Il traffico sintetico è filtrato.Synthetic traffic is filtered out.
{nome metrica personalizzato}{your custom metric name} {nome metrica}{Your metric name} Il valore della metrica segnalato da TrackMetric o il parametro delle misurazioni di una chiamata di rilevamento.Your metric value reported by TrackMetric or in the measurements parameter of a tracking call.

Le metriche vengono inviate da moduli di telemetria diversi:The metrics are sent by different telemetry modules:

Gruppo metricaMetric group Modulo dell'agente di raccoltaCollector module
basicExceptionBrowser,basicExceptionBrowser,
clientPerformance,clientPerformance,
viewview
JavaScript browserBrowser JavaScript
performanceCounterperformanceCounter PrestazioniPerformance
remoteDependencyFailedremoteDependencyFailed DipendenzaDependency
request,request,
requestFailedrequestFailed
Richiesta serverServer request

WebhookWebhooks

È possibile automatizzare la risposta a un avviso.You can automate your response to an alert. Azure richiamerà l'indirizzo Web specificato quando viene generato un avviso.Azure will call a web address of your choice when an alert is raised.

Vedere ancheSee also