Usare PowerShell per creare avvisi per i servizi di AzureUse PowerShell to create alerts for Azure services

Nota

Questo articolo descrive come creare avvisi delle metriche classici di tipo precedente. Monitoraggio di Azure supporta ora avvisi delle metriche più recenti e migliori. Questi avvisi possono monitorare più metriche e consentire le segnalazioni sulle metriche dimensionali. Il supporto di PowerShell per i nuovi avvisi per le metriche sarà presto disponibile.

Questo articolo descrive come configurare avvisi per le metriche in versione classica tramite PowerShell.This article shows you how to set up Azure classic metric alerts by using PowerShell.

È possibile ricevere avvisi in base alle metriche per i servizi di Azure oppure per gli eventi che si verificano in Azure.You can receive alerts based on metrics for your Azure services, or you can receive alerts for events that occur in Azure.

  • Valori delle metriche: l'avviso si attiva quando il valore di una metrica specifica supera una soglia assegnata per eccesso o per 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 che quando tale condizione non è più soddisfatta.That is, it triggers both when the condition is first met and then 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 when certain events occurs. Per altre informazioni sugli avvisi per i log attività, vedere Creare avvisi del log attività (versione classica).To learn more about activity log alerts, see Create activity log alerts (classic).

È possibile configurare un avviso per le metriche in versione classica in modo che vengano eseguite le attività seguenti al momento dell'attivazione:You can configure a classic metric alert to do the following tasks when it triggers:

  • Inviare notifiche di posta elettronica all'amministratore e ai coamministratori del servizio.Send email notifications to the service administrator and co-administrators.
  • Inviare un messaggio di posta elettronica a indirizzi aggiuntivi specificati.Send email to additional email addresses that you specify.
  • Chiamare un webhook.Call 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 le regole di avviso e ottenere informazioni su di esse dalle posizioni seguenti:You can configure and get information about alert rules from the following locations:

Per altre informazioni, è sempre possibile digitare Get-Help seguito dal comando di PowerShell per il quale serve aiuto.For additional information, you can always type Get-Help followed by the PowerShell command that you need help with.

Creare regole di avviso in PowerShellCreate alert rules in PowerShell

  1. Accedere ad Azure.Sign in to Azure.

    Connect-AzureRmAccount
    
  2. Ottenere un elenco delle sottoscrizioni disponibili.Get a list of the subscriptions that are available to you. Verificare che la sottoscrizione in uso sia quella corretta.Verify that you're working with the right subscription. In caso contrario, ottenere la sottoscrizione corretta tramite l'output di Get-AzureRmSubscription.If not, get to the right subscription by using the output from Get-AzureRmSubscription.

    Get-AzureRmSubscription
    Get-AzureRmContext
    Set-AzureRmContext -SubscriptionId <subscriptionid>
    
  3. Elencare le regole esistenti in un gruppo di risorse usando il comando seguente:List existing rules on a resource group by using 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.

    • ID della risorsa per la quale si vuole impostare un avviso.The resource ID for the resource you want to set an alert for.
    • Definizioni delle metriche disponibili per la risorsa.The metric definitions that are 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 that the resource has already been created, select it in the portal. Nel pannello successivo, nella sezione Impostazioni, selezionare quindi Proprietà.Then in the next blade, in the Settings section, select Properties. ID RISORSA è un campo del pannello successivo.RESOURCE ID is a field in the next blade.

      È anche possibile ottenere l'ID della risorsa tramite Azure Resource Explorer.You can also get the resource ID by using Azure Resource Explorer.

      Di seguito è illustrato un ID della risorsa di esempio per un'app Web:Following is an example resource ID for a web app:

      /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 risorsa specifica: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 il nome della metrica e la relativa unità:The following example generates a table with the metric name and unit for that metric:

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

      Per un elenco completo delle opzioni disponibili per Get-AzureRmMetricDefinition, eseguire Get-Help Get-AzureRmMetricDefinition -Detailed.To get a full list of available options for Get-AzureRmMetricDefinition, run Get-Help Get-AzureRmMetricDefinition -Detailed.

  5. L'esempio seguente configura un avviso relativo a una risorsa di un sito Web.The following example sets up an alert on a website 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 un webhook o inviare un messaggio di posta elettronica quando viene attivato un avviso, creare prima il messaggio di posta elettronica o il webhook.To create a webhook or send email when an alert triggers, first create the email or webhook. Subito dopo creare la regola con il tag -Actions, come illustrato nell'esempio seguente.Then immediately create the rule afterwards with the -Actions tag as shown in the following example. Non è possibile associare webhook o messaggi di posta elettronica a regole già create.You can't associate webhooks or emails with rules that have already been created.

    $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. Esaminare le singole regole per verificare che gli avvisi siano stati creati correttamente.Look at the individual rules to verify that your alerts have been created properly.

    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 that were 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