Creare e gestire regole di avviso in Log Analytics con l'API RESTCreate and manage alert rules in Log Analytics with REST API

L’API REST degli avvisi di Log Analytics consente di creare e gestire avvisi in OMS (Operations Management Suite)The Log Analytics Alert REST API allows you to create and manage alerts in Operations Management Suite (OMS). In questo articolo vengono forniti i dettagli dell'API e alcuni esempi per l'esecuzione di diverse operazioni.This article provides details of the API and several examples for performing different operations.

L'API REST di ricerca di Log Analytics è RESTful ed è accessibile tramite l'API REST Azure Resource Manager.The Log Analytics Search REST API is RESTful and can be accessed via the Azure Resource Manager REST API. In questo documento sono disponibili esempi in cui viene usata l'API di una riga di comando di PowerShell che a sua volta usa ARMClient, uno strumento della riga di comando open source che semplifica la chiamata dell'API di Azure Resource Manager.In this document you will find examples where the API is accessed from a PowerShell command line using ARMClient, an open source command line tool that simplifies invoking the Azure Resource Manager API. L'uso di ARMClient e PowerShell è una delle numerose opzioni di accesso all'API di ricerca di Log Analytics.The use of ARMClient and PowerShell is one of many options to access the Log Analytics Search API. Con questi strumenti è possibile usare l'API RESTful Azure Resource Manager per effettuare chiamate alle aree di lavoro di OMS ed eseguire i comandi di ricerca al loro interno.With these tools you can utilize the RESTful Azure Resource Manager API to make calls to OMS workspaces and perform search commands within them. L'API fornirà risultati della ricerca per l'utente in formato JSON, consentendo di usare i risultati della ricerca in molti modi diversi a livello di codice.The API will output search results to you in JSON format, allowing you to use the search results in many different ways programmatically.

PrerequisitiPrerequisites

Attualmente, gli avvisi possono essere creati solo con una ricerca salvata in Log Analytics.Currently, alerts can only be created with a saved search in Log Analytics. Per ulteriori informazioni, fare riferimento all’ API REST di ricerca log .You can refer to the Log Search REST API for more information.

PianificazioniSchedules

Una ricerca salvata può avere una o più pianificazioni.A saved search can have one or more schedules. La pianificazione definisce la frequenza con cui viene eseguita la ricerca e l'intervallo di tempo in cui vengono identificati i criteri.The schedule defines how often the search is run and the time interval over which the criteria is identified. Le pianificazioni includono le proprietà elencate nella tabella seguente.Schedules have the properties in the following table.

ProprietàProperty DescrizioneDescription
IntervalInterval La frequenza con cui viene eseguita la ricerca.How often the search is run. Il valore è espresso in minuti.Measured in minutes.
QueryTimeSpanQueryTimeSpan L'intervallo di tempo durante il quale vengono valutati i criteri.The time interval over which the criteria is evaluated. Deve essere maggiore o uguale a Interval.Must be equal to or greater than Interval. Il valore è espresso in minuti.Measured in minutes.
VersionVersion La versione API utilizzata.The API version being used. Attualmente, deve sempre essere impostata su 1.Currently, this should always be set to 1.

Si consideri ad esempio una query eventi con Interval pari a 15 minuti e Timespan pari a 30 minuti.For example, consider an event query with an Interval of 15 minutes and a Timespan of 30 minutes. In questo caso, la query viene eseguita ogni 15 minuti e viene generato un avviso se i criteri continuano a restituire true in un intervallo di 30 minuti.In this case, the query would be run every 15 minutes, and an alert would be triggered if the criteria continued to resolve to true over a 30 minute span.

Recupero delle pianificazioniRetrieving schedules

Utilizzare il metodo Get per recuperare tutte le pianificazioni per una ricerca salvata.Use the Get method to retrieve all schedules for a saved search.

armclient get /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search  ID}/schedules?api-version=2015-03-20

Usare il metodo Get con l'ID pianificazione per recuperare una determinata pianificazione per una ricerca salvata.Use the Get method with a schedule ID to retrieve a particular schedule for a saved search.

armclient get /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Subscription ID}/schedules/{Schedule ID}?api-version=2015-03-20

Di seguito è riportata una risposta di esempio per una pianificazione.Following is a sample response for a schedule.

{
    "value": [{
        "id": "subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/MyWorkspace/savedSearches/0f0f4853-17f8-4ed1-9a03-8e888b0d16ec/schedules/a17b53ef-bd70-4ca4-9ead-83b00f2024a8",
        "etag": "W/\"datetime'2016-02-25T20%3A54%3A49.8074679Z'\"",
        "properties": {
            "Interval": 15,
            "QueryTimeSpan": 15
        }
    }]
}

Creazione di una pianificazioneCreating a schedule

Usare il metodo Put con un ID pianificazione univoco per creare una nuova pianificazione.Use the Put method with a unique schedule ID to create a new schedule. Si noti che due pianificazioni non possono avere lo stesso ID anche se sono associate a ricerche diverse.Note that two schedules cannot have the same ID even if they are associated with different saved searches. Quando si crea una pianificazione nella console di OMS, viene creato un GUID per l'ID pianificazione.When you create a schedule in the OMS console, a GUID is created for the schedule ID.

Nota

Il nome per tutte le ricerche salvate, per le pianificazioni e per le azioni create con l'API Log Analytics deve essere in minuscolo.The name for all saved searches, schedules, and actions created with the Log Analytics API must be in lowercase.

$scheduleJson = "{'properties': { 'Interval': 15, 'QueryTimeSpan':15, 'Active':'true' } }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/mynewschedule?api-version=2015-03-20 $scheduleJson

Modifica di una pianificazioneEditing a schedule

Usare il metodo Put con un ID pianificazione esistente per la stessa ricerca salvata per modificare la pianificazione.Use the Put method with an existing schedule ID for the same saved search to modify that schedule. Il corpo della richiesta deve includere il valore ETag della pianificazione.The body of the request must include the etag of the schedule.

  $scheduleJson = "{'etag': 'W/\"datetime'2016-02-25T20%3A54%3A49.8074679Z'\""','properties': { 'Interval': 15, 'QueryTimeSpan':15, 'Active':'true' } }"
  armclient put /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/mynewschedule?api-version=2015-03-20 $scheduleJson

Eliminazione delle pianificazioniDeleting schedules

Per eliminare una pianificazione, utilizzare il metodo Delete con un ID pianificazione.Use the Delete method with a schedule ID to delete a schedule.

armclient delete /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Subscription ID}/schedules/{Schedule ID}?api-version=2015-03-20

AzioniActions

Una pianificazione può avere più azioni.A schedule can have multiple actions. Un'azione può definire uno o più processi da eseguire, ad esempio l'invio di un messaggio di posta o l'avvio di un runbook o ancora può definire una soglia che determina quando i risultati di una ricerca corrispondono a certi criteri.An action may define one or more processes to perform such as sending a mail or starting a runbook, or it may define a threshold that determines when the results of a search match some criteria. Alcune azioni definiranno entrambi, in modo che i processi vengano eseguiti quando viene raggiunta la soglia.Some actions will define both so that the processes are performed when the threshold is met.

Tutte le azioni includono le proprietà elencate nella tabella seguente.All actions have the properties in the following table. I vari tipi di avvisi hanno diverse proprietà aggiuntive che sono descritte di seguito.Different types of alerts have different additional properties which are described below.

ProprietàProperty DescrizioneDescription
TypeType Tipo di azione.Type of the action. Attualmente, i valori possibili sono Alert e Webhook.Currently the possible values are Alert and Webhook.
NameName Nome visualizzato per l'avviso.Display name for the alert.
VersionVersion La versione API utilizzata.The API version being used. Attualmente, deve sempre essere impostata su 1.Currently, this should always be set to 1.

Recupero delle azioniRetrieving actions

Utilizzare il metodo Get per recuperare tutte le azioni per una pianificazione.Use the Get method to retrieve all actions for a schedule.

armclient get /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search  ID}/schedules/{Schedule ID}/actions?api-version=2015-03-20

Utilizzare il metodo Get con l'ID azione per recuperare una determinata azione per una pianificazione.Use the Get method with the action ID to retrieve a particular action for a schedule.

armclient get /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Subscription ID}/schedules/{Schedule ID}/actions/{Action ID}?api-version=2015-03-20

Creazione o modifica di azioniCreating or editing actions

Usare il metodo Put con un ID azione univoco per la pianificazione per creare una nuova azione.Use the Put method with an action ID that is unique to the schedule to create a new action. Quando si crea un'azione nella console di OMS, un GUID è destinato all'ID azione.When you create an action in the OMS console, a GUID is for the action ID.

Nota

Il nome per tutte le ricerche salvate, per le pianificazioni e per le azioni create con l'API Log Analytics deve essere in minuscolo.The name for all saved searches, schedules, and actions created with the Log Analytics API must be in lowercase.

Usare il metodo Put con un ID azione esistente per la stessa ricerca salvata per modificare la pianificazione.Use the Put method with an existing action ID for the same saved search to modify that schedule. Il corpo della richiesta deve includere il valore ETag della pianificazione.The body of the request must include the etag of the schedule.

Il formato della richiesta per la creazione di una nuova azione varia in base al tipo di attività e alcuni esempi sono disponibili nelle sezioni seguenti.The request format for creating a new action varies by action type so these examples are provided in the sections below.

Eliminazione delle azioniDeleting actions

Utilizzare il metodo Delete con l'ID azione per eliminare un’azione.Use the Delete method with the action ID to delete an action.

armclient delete /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Subscription ID}/schedules/{Schedule ID}/Actions/{Action ID}?api-version=2015-03-20

Azioni di avvisoAlert Actions

Una pianificazione deve avere una sola azione di avviso.A Schedule should have one and only one Alert action. Le azioni di avviso includono una o più delle sezioni elencate nella tabella seguente.Alert actions have one or more of the sections in the following table. Ciascuna è descritta in dettaglio di seguito.Each is described in further detail below.

SezioneSection DescrizioneDescription
SogliaThreshold Criteri di esecuzione dell'azione.Criteria for when the action is run.
EmailNotificationEmailNotification Inviare messaggi a più destinatari.Send mail to multiple recipients.
CorrezioneRemediation Avviare un runbook in Automazione di Azure per tentare di risolvere il problema identificato.Start a runbook in Azure Automation to attempt to correct identified issue.

SoglieThresholds

Un’azione di avviso deve avere una sola soglia.An Alert action should have one and only one threshold. Quando i risultati di una ricerca salvata corrispondano alla soglia di un'azione associata a tale ricerca, vengono eseguiti tutti gli altri processi in tale azione.When the results of a saved search match the threshold in an action associated with that search, then any other processes in that action are run. Inoltre, un'azione può contenere solo una soglia, in modo da poter essere utilizzata con azioni di altri tipi che non contengono soglie.An action can also contain only a threshold so that it can be used with actions of other types that don’t contain thresholds.

Le soglie includono le proprietà elencate nella tabella seguente.Thresholds have the properties in the following table.

ProprietàProperty DescrizioneDescription
OperatorOperator Operatore di confronto soglie.Operator for the threshold comparison.
gt = Maggiore digt = Greater Than
lt = minore dilt = Less Than
ValueValue Valore per la soglia.Value for the threshold.

Si consideri ad esempio una query eventi con Interval pari a 15 minuti, Timespan pari a 30 minuti e Threshold maggiore di 10.For example, consider an event query with an Interval of 15 minutes, a Timespan of 30 minutes, and a Threshold of greater than 10. In questo caso, la query viene eseguita ogni 15 minuti e viene generato un avviso se restituisce 10 eventi creati in un intervallo di 30 minuti.In this case, the query would be run every 15 minutes, and an alert would be triggered if it returned 10 events that were created over a 30 minute span.

Di seguito è riportata una risposta di esempio per un'azione con una sola soglia.Following is a sample response for an action with only a threshold.

"etag": "W/\"datetime'2016-02-25T20%3A54%3A20.1302566Z'\"",
"properties": {
    "Type": "Alert",
    "Name": "My threshold action",
    "Threshold": {
        "Operator": "gt",
        "Value": 10
    },
    "Version": 1
}

Usare il metodo Put con un ID azione univoco per creare una nuova azione di soglia per una pianificazione.Use the Put method with a unique action ID to create a new threshold action for a schedule.

$thresholdJson = "{'properties': { 'Name': 'My Threshold', 'Version':'1', 'Type':'Alert', 'Threshold': { 'Operator': 'gt', 'Value': 10 } }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/mythreshold?api-version=2015-03-20 $thresholdJson

Usare il metodo Put con un ID azione esistente per modificare un'azione di soglia per una pianificazione.Use the Put method with an existing action ID to modify a threshold action for a schedule. Il corpo della richiesta deve includere il valore ETag dell'azione.The body of the request must include the etag of the action.

$thresholdJson = "{'etag': 'W/\"datetime'2016-02-25T20%3A54%3A20.1302566Z'\"','properties': { 'Name': 'My Threshold', 'Version':'1', 'Type':'Alert', 'Threshold': { 'Operator': 'gt', 'Value': 10 } }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/mythreshold?api-version=2015-03-20 $thresholdJson

Notifica tramite posta elettronicaEmail Notification

Le notifiche tramite posta elettronica inviano i messaggi a uno o più destinatari.Email Notifications send mail to one or more recipients. Includono le proprietà elencate nella tabella seguente.They include the properties in the following table.

ProprietàProperty DescrizioneDescription
RecipientsRecipients Elenco di indirizzi di posta elettronica.List of mail addresses.
SubjectSubject L’oggetto del messaggio.The subject of the mail.
AttachmentAttachment Gli allegati non sono attualmente supportati, pertanto il valore corrispondente sarà sempre "None".Attachments are not currently supported, so this will always have a value of “None”.

Di seguito è riportata una risposta di esempio per un'azione di notifica di posta elettronica con una determinata soglia.Following is a sample response for an email notification action with a threshold.

"etag": "W/\"datetime'2016-02-25T20%3A54%3A20.1302566Z'\"",
"properties": {
    "Type": "Alert",
    "Name": "My email action",
    "Threshold": {
        "Operator": "gt",
        "Value": 10
    },
    "EmailNotification": {
        "Recipients": [
            "recipient1@contoso.com",
            "recipient2@contoso.com"
        ],
        "Subject": "This is the subject",
        "Attachment": "None"
    },
    "Version": 1
}

Usare il metodo Put con un ID azione univoco per creare una nuova azione di posta elettronica per una pianificazione.Use the Put method with a unique action ID to create a new e-mail action for a schedule. Nell'esempio seguente viene creata una notifica tramite posta elettronica con una determinata soglia, per cui il messaggio viene inviato quando i risultati della ricerca salvata superano la soglia.The following example creates an email notification with a threshold so the mail is sent when the results of the saved search exceed the threshold.

$emailJson = "{'properties': { 'Name': 'MyEmailAction', 'Version':'1', 'Type':'Alert', 'Threshold': { 'Operator': 'gt', 'Value': 10 }, 'EmailNotification': {'Recipients': ['recipient1@contoso.com', 'recipient2@contoso.com'], 'Subject':'This is the subject', 'Attachment':'None'} }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/myemailaction?api-version=2015-03-20 $emailJson

Usare il metodo Put con un ID azione esistente per modificare un'azione di posta elettronica per una pianificazione.Use the Put method with an existing action ID to modify an e-mail action for a schedule. Il corpo della richiesta deve includere il valore ETag dell'azione.The body of the request must include the etag of the action.

$emailJson = "{'etag': 'W/\"datetime'2016-02-25T20%3A54%3A20.1302566Z'\"','properties': { 'Name': 'MyEmailAction', 'Version':'1', 'Type':'Alert', 'Threshold': { 'Operator': 'gt', 'Value': 10 }, 'EmailNotification': {'Recipients': ['recipient1@contoso.com', 'recipient2@contoso.com'], 'Subject':'This is the subject', 'Attachment':'None'} }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/myemailaction?api-version=2015-03-20 $emailJson

Azioni correttiveRemediation actions

Le correzioni avviano un runbook in Automazione di Azure che tenta di risolvere il problema identificato dall'avviso.Remediations start a runbook in Azure Automation that attempts to correct the problem identified by the alert. È necessario creare un webhook per il runbook utilizzato in un'azione correttiva e quindi specificare l'URI nella proprietà WebhookUri.You must create a webhook for the runbook used in a remediation action and then specify the URI in the WebhookUri property. Quando si crea questa azione utilizzando la console di OMS, viene creato automaticamente un nuovo webhook per il runbook.When you create this action using the OMS console, a new webhook is automatically created for the runbook.

Le correzioni includono le proprietà elencate nella tabella seguente.Remediations include the properties in the following table.

ProprietàProperty DescrizioneDescription
RunbookNameRunbookName Nome del runbook.Name of the runbook. Deve corrispondere a un runbook pubblicato nell'account di automazione configurato nella soluzione di automazione nell'area di lavoro OMS.This must match a published runbook in the automation account configured in the Automation Solution in your OMS workspace.
WebhookUriWebhookUri URL del webhook.URI of the webhook.
ExpiryExpiry La data e l’ora di scadenza del webhook.The expiration date and time of the webhook. Se il webhook non ha una scadenza, questo può essere una data futura valida.If the webhook doesn’t have an expiration, then this can be any valid future date.

Di seguito è riportata una risposta di esempio per un'azione correttiva con una determinata soglia.Following is a sample response for a remediation action with a threshold.

"etag": "W/\"datetime'2016-02-25T20%3A54%3A20.1302566Z'\"",
"properties": {
    "Type": "Alert",
    "Name": "My remediation action",
    "Threshold": {
        "Operator": "gt",
        "Value": 10
    },
    "Remediation": {
        "RunbookName": "My-Runbook",
        "WebhookUri": "https://s1events.azure-automation.net/webhooks?token=4jCibOjO3w4W2Cfg%2b2NkjLYdafnusaG6i8tnP8h%2fNNg%3d",
        "Expiry": "2018-02-25T18:27:20"
        },
    "Version": 1
}

Usare il metodo Put con un ID azione univoco per creare una nuova azione di correzione per una pianificazione.Use the Put method with a unique action ID to create a new remediation action for a schedule. Nell'esempio seguente viene creata una correzione con una determinata soglia, per cui il runbook viene avviato quando i risultati della ricerca salvata superano la soglia.The following example creates a remediation with a threshold so the runbook is started when the results of the saved search exceed the threshold.

$remediateJson = "{'properties': { 'Type':'Alert', 'Name': 'My Remediation Action', 'Version':'1', 'Threshold': { 'Operator': 'gt', 'Value': 10 }, 'Remediation': {'RunbookName': 'My-Runbook', 'WebhookUri':'https://s1events.azure-automation.net/webhooks?token=4jCibOjO3w4W2Cfg%2b2NkjLYdafnusaG6i8tnP8h%2fNNg%3d', 'Expiry':'2018-02-25T18:27:20Z'} }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/myremediationaction?api-version=2015-03-20 $remediateJson

Usare il metodo Put con un ID azione esistente per modificare un'azione di correzione per una pianificazione.Use the Put method with an existing action ID to modify a remediation action for a schedule. Il corpo della richiesta deve includere il valore ETag dell'azione.The body of the request must include the etag of the action.

$remediateJson = "{'etag': 'W/\"datetime'2016-02-25T20%3A54%3A20.1302566Z'\"','properties': { 'Type':'Alert', 'Name': 'My Remediation Action', 'Version':'1', 'Threshold': { 'Operator': 'gt', 'Value': 10 }, 'Remediation': {'RunbookName': 'My-Runbook', 'WebhookUri':'https://s1events.azure-automation.net/webhooks?token=4jCibOjO3w4W2Cfg%2b2NkjLYdafnusaG6i8tnP8h%2fNNg%3d', 'Expiry':'2018-02-25T18:27:20Z'} }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/myremediationaction?api-version=2015-03-20 $remediateJson

EsempioExample

Di seguito è riportato un esempio completo per creare un nuovo avviso di posta elettronica.Following is a complete example to create a new email alert. Verrà creata una nuova pianificazione con un'azione contenente una soglia e un messaggio di posta elettronica.This creates a new schedule along with an action containing a threshold and email.

$subscriptionId = "3d56705e-5b26-5bcc-9368-dbc8d2fafbfc"
$resourceGroup  = "MyResourceGroup"    
$workspaceName    = "MyWorkspace"
$searchId       = "MySearch"
$scheduleId     = "MySchedule"
$thresholdId    = "MyThreshold"
$actionId       = "MyEmailAction"

$scheduleJson = "{'properties': { 'Interval': 15, 'QueryTimeSpan':15, 'Active':'true' }"
armclient put /subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.OperationalInsights/workspaces/$workspaceName/savedSearches/$searchId/schedules/$scheduleId/?api-version=2015-03-20 $scheduleJson

$emailJson = "{'properties': { 'Name': 'MyEmailAction', 'Version':'1', 'Severity':'Warning', 'Type':'Alert', 'Threshold': { 'Operator': 'gt', 'Value': 10 }, 'EmailNotification': {'Recipients': ['recipient1@contoso.com', 'recipient2@contoso.com'], 'Subject':'This is the subject', 'Attachment':'None'} }"
armclient put /subscriptions/$subscriptionId/resourceGroups/$resourceGroup/providers/Microsoft.OperationalInsights/workspaces/$workspaceName/savedSearches/$searchId/schedules/$scheduleId/actions/$actionId/?api-version=2015-03-20 $emailJson

Azioni webhookWebhook actions

Le azioni webhook avviano un processo chiamando un URL e, facoltativamente, fornendo un payload da inviare.Webhook actions start a process by calling a URL and optionally providing a payload to be sent. Simili alle azioni correttive, sono destinate a webhook che possono richiamare processi diversi dai runbook di Automazione di Azure.They are similar to Remediation actions except they are meant for webhooks that may invoke processes other than Azure Automation runbooks. Hanno inoltre l'opzione aggiuntiva di fornire un payload da recapitare al processo remoto.They also provide the additional option of providing a payload to be delivered to the remote process.

Le azioni webhook non hanno una soglia, ma devono invece essere aggiunte a una pianificazione che includa un'azione di avviso con una determinata soglia.Webhook actions do not have a threshold but instead should be added to a schedule that has an Alert action with a threshold. È possibile aggiungere più azioni webhook che verranno tutte eseguite al raggiungimento della soglia.You can add multiple Webhook actions that will all be run when the threshold is met.

Le azioni webhook includono le proprietà elencate nella tabella seguente.Webhook actions include the properties in the following table.

ProprietàProperty DescrizioneDescription
WebhookUriWebhookUri L’oggetto del messaggio.The subject of the mail.
CustomPayloadCustomPayload Payload personalizzato da inviare al webhook.Custom payload to be sent to the webhook. Il formato dipenderà dalle previsioni del webhook.The format will depend on what the webhook is expecting.

Di seguito è riportato un esempio di risposta per un’azione webhook e un'azione di avviso associata con una determinata soglia.Following is a sample response for webhook action and an associated alert action with a threshold.

{
    "__metadata": {},
    "value": [
        {
            "id": "subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/bwren/savedSearches/2d1b30fb-7f48-4de5-9614-79ee244b52de/schedules/b80f5621-7217-4007-b32d-165d14377093/Actions/72884702-acf9-4653-bb67-f42436b342b4",
            "etag": "W/\"datetime'2016-02-26T20%3A25%3A00.6862124Z'\"",
            "properties": {
                "Type": "Webhook",
                "Name": "My Webhook Action",
                "WebhookUri": "https://oaaswebhookdf.cloudapp.net/webhooks?token=VfkYTIlpk%2fc%2bJBP",
                "CustomPayload": "{\"fielld1\":\"value1\",\"field2\":\"value2\"}",
                "Version": 1
            }
        },
        {
            "id": "subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/bwren/savedSearches/2d1b30fb-7f48-4de5-9614-79ee244b52de/schedules/b80f5621-7217-4007-b32d-165d14377093/Actions/90a27cf8-71b7-4df2-b04f-54ed01f1e4b6",
            "etag": "W/\"datetime'2016-02-26T20%3A25%3A00.565204Z'\"",
            "properties": {
                "Type": "Alert",
                "Name": "Threshold for my webhook action",
                "Threshold": {
                    "Operator": "gt",
                    "Value": 10
                },
                "Version": 1
            }
        }
    ]
}

Creazione o modifica di un’azione webhookCreate or edit a webhook action

Usare il metodo Put con un ID azione univoco per creare una nuova azione di webhook per una pianificazione.Use the Put method with a unique action ID to create a new webhook action for a schedule. Nell'esempio seguente viene creata un'azione webhook e un’azione di avviso con una determinata soglia, in modo che il webhook verrà attivato quando i risultati della ricerca salvata supereranno tale soglia.The following example creates a Webhook action and an Alert action with a threshold so that the webhook will be triggered when the results of the saved search exceed the threshold.

$thresholdAction = "{'properties': { 'Name': 'My Threshold', 'Version':'1', 'Type':'Alert', 'Threshold': { 'Operator': 'gt', 'Value': 10 } }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/mythreshold?api-version=2015-03-20 $thresholdAction

$webhookAction = "{'properties': {'Type': 'Webhook', 'Name': 'My Webhook", 'WebhookUri': 'https://oaaswebhookdf.cloudapp.net/webhooks?token=VrkYTKlhk%2fc%2bKBP', 'CustomPayload': '{\"field1\":\"value1\",\"field2\":\"value2\"}', 'Version': 1 }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/mywebhookaction?api-version=2015-03-20 $webhookAction

Usare il metodo Put con un ID azione esistente per modificare un'azione di webhook per una pianificazione.Use the Put method with an existing action ID to modify a webhook action for a schedule. Il corpo della richiesta deve includere il valore ETag dell'azione.The body of the request must include the etag of the action.

$webhookAction = "{'etag': 'W/\"datetime'2016-02-26T20%3A25%3A00.6862124Z'\"','properties': {'Type': 'Webhook', 'Name': 'My Webhook", 'WebhookUri': 'https://oaaswebhookdf.cloudapp.net/webhooks?token=VrkYTKlhk%2fc%2bKBP', 'CustomPayload': '{\"field1\":\"value1\",\"field2\":\"value2\"}', 'Version': 1 }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/OI-Default-East-US/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/mywebhookaction?api-version=2015-03-20 $webhookAction

Passaggi successiviNext steps