Creare avvisi sulle metriche in Monitoraggio di Azure per i servizi di Azure: PowerShellCreate metric alerts in Azure Monitor for Azure services - PowerShell

PanoramicaOverview

Questo articolo descrive come impostare gli avvisi sulle metriche tramite PowerShell.This article shows you how to set up Azure metric alerts using PowerShell.

È possibile ricevere avvisi basati su metriche di monitoraggio o eventi nei servizi Azure.You can receive an alert based on monitoring metrics for, or events on, your Azure services.

  • Valori metrici : l'avviso si attiva quando il valore di una specifica metrica supera una soglia assegnata per eccesso o difetto.Metric values - The alert triggers when the value of a specified metric crosses a threshold you assign in either direction. Vale a dire che si attiva sia quando la condizione viene inizialmente soddisfatta e successivamente quando tale condizione non è più soddisfatta.That is, it triggers both when the condition is first met and then afterwards when that condition is no longer being met.
  • Eventi del log attività: è possibile attivare un avviso per ogni evento o solo quando si verifica un determinato evento.Activity log events - An alert can trigger on every event, or, only when a certain events occurs. Per altre informazioni sugli avvisi sui log attività fare clic quiTo learn more about activity log alerts click here

È possibile configurare un avviso sulle metriche affinché esegua queste operazioni al momento dell'attivazione:You can configure a metric alert to do the following when it triggers:

  • inviare un messaggio di posta elettronica all'amministratore e ai coamministratori del serviziosend email notifications to the service administrator and co-administrators
  • inviare un messaggio di posta elettronica ad altri indirizzi specificatisend email to additional emails that you specify.
  • chiamare un webhookcall a webhook
  • avviare l'esecuzione di un runbook di Azure (solo dal portale di Azure)start execution of an Azure runbook (only from the Azure portal)

È possibile configurare e ottenere informazioni sulle regole degli avvisi tramiteYou can configure and get information about alert rules using

Per altre informazioni è sempre possibile digitare Get-Help e quindi il comando di PowerShell da approfondire.For additional information, you can always type Get-Help and then the PowerShell command you want help on.

Creare regole di avviso in PowerShellCreate alert rules in PowerShell

  1. Accedere ad Azure.Log in to Azure.

    Login-AzureRmAccount
    
  2. Visualizzare l'elenco delle sottoscrizioni disponibili.Get a list of the subscriptions you have available. Assicurarsi di lavorare con la giusta sottoscrizione.Verify that you are working with the right subscription. In caso contrario, impostare la sottoscrizione giusta usando l'output di Get-AzureRmSubscription.If not, set it to the right one using the output from Get-AzureRmSubscription.

    Get-AzureRmSubscription
    Get-AzureRmContext
    Set-AzureRmContext -SubscriptionId <subscriptionid>
    
  3. Per elencare le regole esistenti in un gruppo di risorse, usare il comando seguente:To list existing rules on a resource group, use the following command:

    Get-AzureRmAlertRule -ResourceGroup <myresourcegroup> -DetailedOutput
    
  4. Per creare una regola, per prima cosa è necessario disporre di alcune informazioni importanti.To create a rule, you need to have several important pieces of information first.

    • L' ID risorsa della risorsa per la quale si intende impostare un avvisoThe Resource ID for the resource you want to set an alert for
    • Le definizioni delle metriche disponibili per tale risorsaThe metric definitions available for that resource

      È possibile ottenere l'ID della risorsa tramite il portale di Azure.One way to get the Resource ID is to use the Azure portal. Se la risorsa è già stata creata, selezionarla nel portale.Assuming the resource is already created, select it in the portal. Nel pannello successivo, nella sezione Impostazioni, selezionare Proprietà.Then in the next blade, select Properties under the Settings section. ID RISORSA è un campo del pannello successivo.RESOURCE ID is a field in the next blade. È anche possibile usare Esplora risorse di Azure.Another way is to use the Azure Resource Explorer.

      Un esempio di ID risorsa per un'app web èAn example Resource ID for a web app is

      /subscriptions/dededede-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/myresourcegroupname/providers/Microsoft.Web/sites/mywebsitename
      

      Usare Get-AzureRmMetricDefinition per visualizzare l'elenco di tutte le definizioni delle metriche per una specifica risorsa.You can use Get-AzureRmMetricDefinition to view the list of all metric definitions for a specific resource.

      Get-AzureRmMetricDefinition -ResourceId <resource_id>
      

      L'esempio seguente genera una tabella con la metrica Name e il relativo valore Unit.The following example generates a table with the metric Name and the Unit for that metric.

      Get-AzureRmMetricDefinition -ResourceId <resource_id> | Format-Table -Property Name,Unit
      

      Un elenco completo delle opzioni disponibili per Get-AzureRmMetricDefinition è visualizzabile eseguendo Get-Help Get-AzureRmMetricDefinition -Detailed.A full list of available options for Get-AzureRmMetricDefinition is available by running Get-Help Get-AzureRmMetricDefinition -Detailed.

  5. L'esempio seguente imposta un avviso relativo a una risorsa del sito Web.The following example sets up an alert on a web site resource. L'avviso viene attivato ogni volta che si riceve il traffico costantemente per 5 minuti e di nuovo quando non si riceve traffico per 5 minuti.The alert triggers whenever it consistently receives any traffic for 5 minutes and again when it receives no traffic for 5 minutes.

    Add-AzureRmMetricAlertRule -Name myMetricRuleWithWebhookAndEmail -Location "East US" -ResourceGroup myresourcegroup -TargetResourceId /subscriptions/dededede-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/myresourcegroupname/providers/Microsoft.Web/sites/mywebsitename -MetricName "BytesReceived" -Operator GreaterThan -Threshold 2 -WindowSize 00:05:00 -TimeAggregationOperator Total -Description "alert on any website activity"
    
  6. Per creare il webhook o inviare un messaggio di posta elettronica quando viene attivato l'avviso, creare prima il messaggio di posta elettronica e/o i webhook.To create webhook or send email when an alert triggers, first create the email and/or webhooks. Subito dopo creare la regola con il tag -Actions, come illustrato nell'esempio seguente.Then immediately create the rule afterwards with the -Actions tag and as shown in the following example. Non è possibile associare webhook o messaggi di posta elettronica a regole già create tramite PowerShell.You cannot associate webhook or emails with already created rules via PowerShell.

    $actionEmail = New-AzureRmAlertRuleEmail -CustomEmail myname@company.com
    $actionWebhook = New-AzureRmAlertRuleWebhook -ServiceUri https://www.contoso.com?token=mytoken
    
    Add-AzureRmMetricAlertRule -Name myMetricRuleWithWebhookAndEmail -Location "East US" -ResourceGroup myresourcegroup -TargetResourceId /subscriptions/dededede-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/myresourcegroupname/providers/Microsoft.Web/sites/mywebsitename -MetricName "BytesReceived" -Operator GreaterThan -Threshold 2 -WindowSize 00:05:00 -TimeAggregationOperator Total -Actions $actionEmail, $actionWebhook -Description "alert on any website activity"
    
  7. Verificare che gli avvisi siano stati creati correttamente esaminando le singole regole.To verify that your alerts have been created properly by looking at the individual rules.

    Get-AzureRmAlertRule -Name myMetricRuleWithWebhookAndEmail -ResourceGroup myresourcegroup -DetailedOutput
    
    Get-AzureRmAlertRule -Name myLogAlertRule -ResourceGroup myresourcegroup -DetailedOutput
    
  8. Eliminare gli avvisi.Delete your alerts. Questi comandi eliminano le regole create in precedenza in questo articolo.These commands delete the rules created previously in this article.

    Remove-AzureRmAlertRule -ResourceGroup myresourcegroup -Name myrule
    Remove-AzureRmAlertRule -ResourceGroup myresourcegroup -Name myMetricRuleWithWebhookAndEmail
    Remove-AzureRmAlertRule -ResourceGroup myresourcegroup -Name myLogAlertRule
    

Passaggi successiviNext steps