Condividi tramite


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 API 2018-04-16 o versioni precedenti. 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 apportate all'esperienza di creazione delle regole di avviso di ricerca log

La procedura guidata delle regole di avviso corrente è diversa dall'esperienza precedente:

  • In precedenza, i risultati della ricerca erano inclusi nel payload dell'avviso attivato e delle notifiche associate. Il messaggio di posta elettronica includeva solo 10 righe di 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 attivato l'avviso, fornendo 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 altre personalizzazioni avanzate, 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. Nel portale di Azure selezionare la risorsa desiderata.

  2. In Monitoraggio selezionare Avvisi.

  3. Nella barra in alto 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 dei segnali con i dati cronologici della query visualizzati 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 dell'ora, il grafico mostra un singolo valore.

    Screenshot che mostra il riquadro Configura logica dei segnali.

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

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

    • Logica degli avvisi: 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 usando summarize raggruppato in base alle espressioni scelte e alla selezione di 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 degli avvisi di misurazione delle metriche, è possibile specificare come suddividere gli avvisi per dimensioni usando l'opzione Aggrega in base a. L'espressione di raggruppamento delle righe deve essere univoca e ordinata.

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

      Nota

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

      Screenshot che mostra l'opzione Aggrega in base a.

    • 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 l'Operatore, il Valore soglia e la Frequenza.

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

  11. Selezionare Fatto.

  12. È possibile modificare la Descrizione e la Gravità della regola. 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 alla 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 continuerà a essere eseguita e a creare avvisi, ma le azioni non verranno attivate per evitare il disturbo. Il valore Azioni di disattivazione notifiche deve essere maggiore della frequenza dell'avviso per essere applicato.

    Screenshot che mostra il riquadro Dettagli dell'avviso.

  14. Per rendere gli avvisi con stato, selezionare Risolvere automaticamente gli avvisi (anteprima).

  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: esegue l'override dell'oggetto posta elettronica delle azioni di posta elettronica. Non è possibile modificare il corpo del messaggio e questo campo non è destinato agli indirizzi di posta elettronica.
    • Includi payload JSON personalizzato per il webhook: esegue l'override del webhook JSON 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 che mostra gli override delle azioni per gli avvisi di ricerca log.

  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 di query pianificate:

Nota

I cmdlet di PowerShell ScheduledQueryRules possono gestire solo le regole create in questa versione dell'API Regole di query pianificate. Le regole di avviso di ricerca log create usando l'API di avviso di Log Analytics legacy possono essere gestite con PowerShell solo dopo essere passati 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 con PowerShell:

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

Passaggi successivi