Gestire le regole di avviso create nelle versioni precedenti

Questo articolo descrive il processo di gestione delle regole di avviso create nell'interfaccia utente precedente o usando la versione 2018-04-16 dell'API o precedente. Le regole di avviso create nell'interfaccia utente più recente vengono visualizzate e gestite nella nuova interfaccia utente, come descritto in Creare, visualizzare e gestire gli avvisi di ricerca log usando Monitoraggio di Azure.

Modifiche all'esperienza di creazione della regola di avviso di ricerca log

La procedura guidata della regola di avviso corrente è diversa dall'esperienza precedente:

  • In precedenza, i risultati della ricerca sono stati inclusi nel payload dell'avviso attivato e delle relative notifiche associate. Il messaggio di posta elettronica includeva solo 10 righe dai risultati non filtrati, mentre il payload del webhook conteneva 1.000 risultati non filtrati. Per ottenere informazioni di contesto dettagliate sull'avviso in modo da poter decidere l'azione appropriata:
    • È consigliabile usare le dimensioni. Le dimensioni forniscono il valore della colonna che ha generato l'avviso, che fornisce il contesto per il motivo per cui l'avviso è stato attivato e come risolvere il problema.
    • Quando è necessario analizzare i log, usare il collegamento nell'avviso ai risultati della ricerca nei log.
    • Se sono necessari i risultati della ricerca non elaborati o per qualsiasi altra personalizzazione avanzata, usare App per la logica di Azure.
  • La creazione guidata della nuova regola di avviso non supporta la personalizzazione del payload JSON.
    • Usare le proprietà personalizzate nella nuova API per aggiungere parametri statici e valori associati alle azioni webhook attivate dall'avviso.
    • Per personalizzazioni più avanzate, usare App per la logica di Azure.
  • La creazione guidata della nuova regola di avviso non supporta la personalizzazione dell'oggetto del messaggio di posta elettronica.
    • I clienti usano spesso un oggetto del messaggio di posta elettronica personalizzato per indicare la risorsa in cui è stato generato l'avviso, invece di usare l'area di lavoro Log Analytics. Usare la nuova API per attivare un avviso della risorsa desiderata usando la colonna ID risorsa.
    • Per personalizzazioni più avanzate, usare App per la logica di Azure.

Gestire le regole di avviso create nelle versioni precedenti nel portale di Azure

  1. Nella portale di Azure selezionare la risorsa desiderata.

  2. In Monitoraggio selezionare Avvisi.

  3. Nella barra superiore selezionare Regole di avviso.

  4. Selezionare la regola di avviso da modificare.

  5. Nella sezione Condizione selezionare la condizione.

  6. Viene visualizzato il riquadro Configura logica del segnale con i dati cronologici per la query visualizzata come grafico. È possibile modificare l'intervallo di tempo del grafico per visualizzare i dati dalle ultime sei ore all'ultima settimana. Se i risultati della query contengono dati riepilogati o colonne specifiche senza la colonna temporale, il grafico mostra un singolo valore.

    Screenshot that shows the Configure signal logic pane.

  7. Modificare le condizioni delle regole di avviso usando queste sezioni:

    • Query di ricerca: in questa sezione è possibile modificare la query.

    • Logica di avviso: gli avvisi di ricerca log possono essere basati su due tipi di misure:

      1. Numero di risultati: numero di record restituiti dalla query.
      2. Misurazione della metrica: il valore aggregato viene calcolato tramite summarize raggruppamento in base alle espressioni scelte e alla selezione bin(). Ad esempio:
        // Reported errors
        union Event, Syslog // Event table stores Windows event records, Syslog stores Linux records
        | where EventLevelName == "Error" // EventLevelName is used in the Event (Windows) records
        or SeverityLevel== "err" // SeverityLevel is used in Syslog (Linux) records
        | summarize AggregatedValue = count() by Computer, bin(TimeGenerated, 15m)
        

      Per la logica di avviso delle misurazioni delle metriche, è possibile specificare come suddividere gli avvisi in base alle dimensioni usando l'opzione Aggregazione su . L'espressione di raggruppamento di righe deve essere univoca e ordinata.

      La funzione bin() può comportare intervalli di tempo non uniformi, pertanto il servizio avvisi converte automaticamente la funzione bin() in una funzione binat() con il tempo appropriato in fase di esecuzione per garantire i risultati con un punto fisso.

      Nota

      L'opzione Suddivisione per dimensioni avviso è disponibile solo per l'API scheduledQueryRules corrente. Se si usa l'API di avviso di Log Analytics legacy, è necessario passare. Altre informazioni sul passaggio. Gli avvisi incentrati sulle risorse su larga scala sono supportati solo nella versione 2021-08-01 dell'API e versioni successive.

      Screenshot that shows Aggregate on.

    • Periodo: scegliere l'intervallo di tempo in cui valutare la condizione specificata usando l'opzione Periodo .

  8. Al termine della modifica delle condizioni, selezionare Fine.

  9. Usare i dati di anteprima per impostare Operatore, Valore soglia e Frequenza.

  10. Impostare il numero di violazioni per attivare un avviso usando Totale o Violazioni consecutive.

  11. Selezionare Fatto.

  12. È possibile modificare la regola Descrizione e gravità. Questi dettagli vengono usati in tutte le azioni di avviso. È anche possibile scegliere di non attivare la regola di avviso alla creazione selezionando Abilita regola al momento della creazione.

  13. Usare l'opzione Elimina avvisi se si desidera eliminare le azioni della regola per un determinato periodo di tempo dopo l'attivazione di un avviso. La regola verrà comunque eseguita e creerà avvisi, ma le azioni non verranno attivate per evitare il rumore. Il valore Delle azioni di disattivazione automatica deve essere maggiore della frequenza dell'avviso per essere efficace.

    Screenshot that shows the Alert Details pane.

  14. Per rendere gli avvisi con stato, selezionare Risolvi automaticamente gli avvisi (anteprima).To make alertsful, select Automatically resolve alerts (preview).

  15. Specificare se la regola di avviso deve attivare uno o più gruppi di azioni quando viene soddisfatta la condizione di avviso. Per i limiti sulle azioni che è possibile eseguire, vedere Limiti del servizio Monitoraggio di Azure.

  16. (Facoltativo) Personalizzare le azioni nelle regole di avviso di ricerca log:

    • Oggetto di posta elettronica personalizzato: sostituisce l'oggetto del messaggio di posta elettronica delle azioni di posta elettronica. Non è possibile modificare il corpo del messaggio di posta elettronica e questo campo non è destinato agli indirizzi di posta elettronica.
    • Includi payload JSON personalizzato per webhook: esegue l'override del codice JSON del webhook usato dai gruppi di azioni, presupponendo che il gruppo di azioni contenga un'azione webhook. Altre informazioni sulle azioni webhook per gli avvisi di ricerca log.

    Screenshot that shows Action overrides for log search alerts.

  17. Dopo aver completato la modifica di tutte le opzioni della regola di avviso, selezionare Salva.

Gestire gli avvisi di ricerca log con PowerShell

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

Usare i cmdlet di PowerShell seguenti per gestire le regole con l'API Regole query pianificate:

Nota

I ScheduledQueryRules cmdlet di PowerShell possono gestire solo le regole create in questa versione dell'API Regole query pianificate. Le regole di avviso di ricerca log create usando l'API di avviso di Log Analytics legacy possono essere gestite solo usando PowerShell dopo aver eseguito il passaggio all'API Regole di query pianificate.

Passaggi di esempio per la creazione di una regola di avviso di ricerca log con PowerShell:

$source = New-AzScheduledQueryRuleSource -Query 'Heartbeat | summarize AggregatedValue = count() by bin(TimeGenerated, 5m), _ResourceId' -DataSourceId "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.OperationalInsights/workspaces/servicews"
$schedule = New-AzScheduledQueryRuleSchedule -FrequencyInMinutes 15 -TimeWindowInMinutes 30
$metricTrigger = New-AzScheduledQueryRuleLogMetricTrigger -ThresholdOperator "GreaterThan" -Threshold 2 -MetricTriggerType "Consecutive" -MetricColumn "_ResourceId"
$triggerCondition = New-AzScheduledQueryRuleTriggerCondition -ThresholdOperator "LessThan" -Threshold 5 -MetricTrigger $metricTrigger
$aznsActionGroup = New-AzScheduledQueryRuleAznsActionGroup -ActionGroup "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.insights/actiongroups/sampleAG" -EmailSubject "Custom email subject" -CustomWebhookPayload "{ `"alert`":`"#alertrulename`", `"IncludeSearchResults`":true }"
$alertingAction = New-AzScheduledQueryRuleAlertingAction -AznsAction $aznsActionGroup -Severity "3" -Trigger $triggerCondition
New-AzScheduledQueryRule -ResourceGroupName "contosoRG" -Location "Region Name for your Application Insights App or Log Analytics Workspace" -Action $alertingAction -Enabled $true -Description "Alert description" -Schedule $schedule -Source $source -Name "Alert Name"

Passaggi di esempio per la creazione di una regola di avviso di ricerca log con PowerShell con query tra risorse:

$authorized = @ ("/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.OperationalInsights/workspaces/servicewsCrossExample", "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.insights/components/serviceAppInsights")
$source = New-AzScheduledQueryRuleSource -Query 'Heartbeat | summarize AggregatedValue = count() by bin(TimeGenerated, 5m), _ResourceId' -DataSourceId "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.OperationalInsights/workspaces/servicews" -AuthorizedResource $authorized
$schedule = New-AzScheduledQueryRuleSchedule -FrequencyInMinutes 15 -TimeWindowInMinutes 30
$metricTrigger = New-AzScheduledQueryRuleLogMetricTrigger -ThresholdOperator "GreaterThan" -Threshold 2 -MetricTriggerType "Consecutive" -MetricColumn "_ResourceId"
$triggerCondition = New-AzScheduledQueryRuleTriggerCondition -ThresholdOperator "LessThan" -Threshold 5 -MetricTrigger $metricTrigger
$aznsActionGroup = New-AzScheduledQueryRuleAznsActionGroup -ActionGroup "/subscriptions/a123d7efg-123c-1234-5678-a12bc3defgh4/resourceGroups/contosoRG/providers/microsoft.insights/actiongroups/sampleAG" -EmailSubject "Custom email subject" -CustomWebhookPayload "{ `"alert`":`"#alertrulename`", `"IncludeSearchResults`":true }"
$alertingAction = New-AzScheduledQueryRuleAlertingAction -AznsAction $aznsActionGroup -Severity "3" -Trigger $triggerCondition
New-AzScheduledQueryRule -ResourceGroupName "contosoRG" -Location "Region Name for your Application Insights App or Log Analytics Workspace" -Action $alertingAction -Enabled $true -Description "Alert description" -Schedule $schedule -Source $source -Name "Alert Name" 

È anche possibile creare l'avviso di ricerca log usando un modello e file di parametri usando PowerShell:

Connect-AzAccount
Select-AzSubscription -SubscriptionName <yourSubscriptionName>
New-AzResourceGroupDeployment -Name AlertDeployment -ResourceGroupName ResourceGroupofTargetResource `
  -TemplateFile mylogalerttemplate.json -TemplateParameterFile mylogalerttemplate.parameters.json

Passaggi successivi