Criar e gerenciar regras de alerta no Log Analytics com a API RESTCreate and manage alert rules in Log Analytics with REST API

A API REST de alerta do Log Analytics permite criar e gerenciar alertas no Log Analytics.The Log Analytics Alert REST API allows you to create and manage alerts in Log Analytics. Este artigo fornece detalhes da API e vários exemplos para executar operações diferentes.This article provides details of the API and several examples for performing different operations.

Importante

Conforme anunciado anteriormente, os espaços de trabalho do log Analytics criados após 1º de junho de 2019 – poderão gerenciar regras de alerta usando apenas a API RESTdo Azure scheduledQueryRules, o modelo Manager de recursos do Azure e Cmdlet do PowerShell.As announced earlier, log analytics workspace(s) created after June 1, 2019 - will be able to manage alert rules using only Azure scheduledQueryRules REST API, Azure Resource Mananger Template and PowerShell cmdlet. Os clientes podem facilmente alternar seus meios preferenciais de gerenciamento de regras de alerta para espaços de trabalho mais antigos para aproveitar Azure monitor scheduledQueryRules como padrão e obter muitos novos benefícios como a capacidade de usar cmdlets nativos do PowerShell, aumentou período de tempo de lookback em regras, criação de regras em um grupo de recursos ou assinatura separado e muito mais.Customers can easily switch their preferred means of alert rule management for older workspaces to leverage Azure Monitor scheduledQueryRules as default and gain many new benefits like the ability to use native PowerShell cmdlets, increased lookback time period in rules, creation of rules in separate resource group or subscription and much more.

A API REST de Pesquisa do Log Analytics é RESTful e pode ser acessada por meio da API REST do Azure Resource Manager.The Log Analytics Search REST API is RESTful and can be accessed via the Azure Resource Manager REST API. Neste documento, você encontrará exemplos em que a API é acessada por meio de uma linha de comando do PowerShell usando o ARMClient, uma ferramenta de linha de comando de software livre que simplifica a invocação da API do 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. O uso do ARMClient e do PowerShell é uma das muitas opções para acessar a API de Pesquisa do Log Analytics.The use of ARMClient and PowerShell is one of many options to access the Log Analytics Search API. Com essas ferramentas, você pode utilizar a API do RESTful Azure Resource Manager para fazer chamadas para espaços de trabalho do Log Analytics e executar comandos de pesquisa dentro deles.With these tools, you can utilize the RESTful Azure Resource Manager API to make calls to Log Analytics workspaces and perform search commands within them. A API produzirá resultados da pesquisa para você no formato JSON, permitindo que você use os resultados da pesquisa de diferentes maneiras por meio de programação.The API will output search results to you in JSON format, allowing you to use the search results in many different ways programmatically.

Pré-requisitosPrerequisites

Atualmente, os alertas somente podem ser criados com uma pesquisa salva no Log Analytics.Currently, alerts can only be created with a saved search in Log Analytics. Você pode consultar a API REST da Pesquisa de Log para obter mais informações.You can refer to the Log Search REST API for more information.

AgendamentosSchedules

Uma pesquisa salva pode ter um ou mais agendamentos.A saved search can have one or more schedules. O agendamento define a frequência com que a pesquisa é executada e o intervalo de tempo em que os critérios são identificados.The schedule defines how often the search is run and the time interval over which the criteria is identified. Os agendamentos têm as propriedades indicadas na tabela a seguir.Schedules have the properties in the following table.

PropriedadeProperty DescriçãoDescription
IntervalInterval A frequência com que a pesquisa é executada.How often the search is run. Medida em minutos.Measured in minutes.
QueryTimeSpanQueryTimeSpan O intervalo durante o qual os critérios são avaliados.The time interval over which the criteria is evaluated. Deve ser igual ou maior que Interval.Must be equal to or greater than Interval. Medida em minutos.Measured in minutes.
VersionVersion A versão da API que está sendo usada.The API version being used. Atualmente, isso sempre deve ser definido como 1.Currently, this should always be set to 1.

Por exemplo, considere uma consulta de evento com um Interval (Intervalo) de 15 minutos e Timespan (Período) de 30 minutos.For example, consider an event query with an Interval of 15 minutes and a Timespan of 30 minutes. Nesse caso, a consulta deverá ser executada a cada 15 minutos e um alerta deverá ser disparado se os critérios continuarem a ser resolvidos como verdadeiro por um período de 30 minutos.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.

Recuperando agendamentosRetrieving schedules

Use o método Get para recuperar todos os agendamentos de uma pesquisa salva.Use the Get method to retrieve all schedules for a saved search.

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

Use o método Get com uma ID de agendamento para recuperar um agendamento específico para uma pesquisa salva.Use the Get method with a schedule ID to retrieve a particular schedule for a saved search.

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

A seguir está um exemplo de resposta para um agendamento.Following is a sample response for a schedule.

{
    "value": [{
        "id": "subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/sampleRG/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,
            "Enabled": true,
        }
    }]
}

Criando uma agendaCreating a schedule

Use o método Put com uma ID de agendamento única para criar um novo agendamento.Use the Put method with a unique schedule ID to create a new schedule. Dois agendamentos não podem ter a mesma ID, mesmo se estiverem associados a pesquisas salvas diferentes.Two schedules cannot have the same ID even if they are associated with different saved searches. Quando você cria um agendamento no console do Log Analytics, um GUID é criado para o ID do agendamento.When you create a schedule in the Log Analytics console, a GUID is created for the schedule ID.

Observação

O nome para todas as pesquisas, agendas e ações salvas criadas com a API do Log Analytics deve estar em letras minúsculas.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, 'Enabled':'true' } }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/{ResourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/mynewschedule?api-version=2015-03-20 $scheduleJson

Editando um agendamentoEditing a schedule

Use o método Put com uma ID de agendamento existente para a mesma pesquisa salva para modificar esse agendamento; no exemplo a seguir, o agendamento está desabilitado.Use the Put method with an existing schedule ID for the same saved search to modify that schedule; in example below the schedule is disabled. O corpo da solicitação deve incluir a etag do agendamento.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, 'Enabled':'false' } }"
  armclient put /subscriptions/{Subscription ID}/resourceGroups/{ResourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/mynewschedule?api-version=2015-03-20 $scheduleJson

Excluindo agendamentosDeleting schedules

Use o método Delete com uma ID de agendamento para excluir um agendamento.Use the Delete method with a schedule ID to delete a schedule.

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

AçõesActions

Um agendamento pode ter várias ações.A schedule can have multiple actions. Uma ação pode definir um ou mais processos a serem executados, como enviar um email ou iniciar um runbook, ou então ela pode definir um limite que determina quando os resultados de uma pesquisa correspondem a certos critérios.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. Algumas ações definirão ambos para que os processos sejam executados quando o limite for atingido.Some actions will define both so that the processes are performed when the threshold is met.

Todas as ações têm as propriedades indicadas na tabela a seguir.All actions have the properties in the following table. Diferentes tipos de alertas têm diferentes propriedades adicionais que são descritas abaixo.Different types of alerts have different additional properties, which are described below.

PropriedadeProperty DescriçãoDescription
Type Tipo da ação.Type of the action. Atualmente, os valores possíveis são Alerta e Webhook.Currently the possible values are Alert and Webhook.
Name Nome de exibição para o alerta.Display name for the alert.
Version A versão da API que está sendo usada.The API version being used. Atualmente, isso sempre deve ser definido como 1.Currently, this should always be set to 1.

Recuperando açõesRetrieving actions

Use o método Get para recuperar todas as ações de um agendamento.Use the Get method to retrieve all actions for a schedule.

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

Use o método Get com a ID de ação para recuperar uma ação específica de um agendamento.Use the Get method with the action ID to retrieve a particular action for a schedule.

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

Criar ou editar açõesCreating or editing actions

Use o método Put com uma ID de ação que seja exclusiva para o agendamento para criar uma nova ação.Use the Put method with an action ID that is unique to the schedule to create a new action. Quando você cria uma ação no console do Log Analytics, um GUID é para o ID da ação.When you create an action in the Log Analytics console, a GUID is for the action ID.

Observação

O nome para todas as pesquisas, agendas e ações salvas criadas com a API do Log Analytics deve estar em letras minúsculas.The name for all saved searches, schedules, and actions created with the Log Analytics API must be in lowercase.

Use o método Put com uma ID de ação existente para a mesma pesquisa salva para modificar esse agendamento.Use the Put method with an existing action ID for the same saved search to modify that schedule. O corpo da solicitação deve incluir a Etag do agendamento.The body of the request must include the etag of the schedule.

O formato da solicitação para criar uma nova ação varia conforme o tipo de ação, veja os exemplos fornecidos nas seções a seguir.The request format for creating a new action varies by action type so these examples are provided in the sections below.

Excluindo açõesDeleting actions

Use o método Delete com a ID de ação para excluir uma ação.Use the Delete method with the action ID to delete an action.

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

Ações de AlertaAlert Actions

Um Agendamento deve ter somente uma ação de Alerta.A Schedule should have one and only one Alert action. Ações de alerta têm uma ou mais das seções na tabela a seguir.Alert actions have one or more of the sections in the following table. Elas são descritas em mais detalhes abaixo.Each is described in further detail below.

SeçãoSection DescriçãoDescription UsoUsage
LimiteThreshold Critérios para quando a ação for executada.Criteria for when the action is run. Necessário para cada alerta, antes ou depois de ser estendido para o Azure.Required for every alert, before or after they are extended to Azure.
SeveridadeSeverity Rótulo usado para classificar o alerta quando disparado.Label used to classify alert when triggered. Necessário para cada alerta, antes ou depois de ser estendido para o Azure.Required for every alert, before or after they are extended to Azure.
SuprimirSuppress Opção para interromper notificações do alerta.Option to stop notifications from alert. Opcional para cada alerta, antes ou depois de ser estendido para o Azure.Optional for every alert, before or after they are extended to Azure.
Grupos de AçõesAction Groups IDs do ActionGroup do Azure em que as ações necessárias são especificadas, como - Emails SMSs, Chamadas de voz, Webhooks, Runbooks de automação, Conectores ITSM, etc.IDs of Azure ActionGroup where actions required are specified, like - E-Mails, SMSs, Voice Calls, Webhooks, Automation Runbooks, ITSM Connectors, etc. Necessário quando os alertas são estendidos para o AzureRequired once alerts are extended to Azure
Personalizar AçõesCustomize Actions Modificar a saída padrão para determinadas ações do ActionGroupModify the standard output for select actions from ActionGroup Opcional para cada alerta, pode ser usado depois de alertas serem estendidos para o Azure.Optional for every alert, can be used after alerts are extended to Azure.

LimitesThresholds

Uma ação de Alerta deve ter somente um limite.An Alert action should have one and only one threshold. Quando os resultados de pesquisas salvas coincidem com o limite de uma ação associada à pesquisa, outros processos nesta ação são executados.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. Uma ação também pode conter apenas um limite para ser usado com ações de outros tipos que não contêm os limites.An action can also contain only a threshold so that it can be used with actions of other types that don’t contain thresholds.

Os limites têm as propriedades indicadas na tabela a seguir.Thresholds have the properties in the following table.

PropriedadeProperty DescriçãoDescription
Operator Operador de comparação de limite.Operator for the threshold comparison.
gt = Maior Quegt = Greater Than
lt = Menor Quelt = Less Than
Value Valor para o limite.Value for the threshold.

Por exemplo, considere uma consulta de evento com um Interval (Intervalo) de 15 minutos, Timespan (Período) de 30 minutos e Threshold (Limite) maior que 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. Nesse caso, a consulta deverá ser executada a cada 15 minutos e um alerta deverá ser disparado se ela retornar 10 eventos criados dentro de um período de 30 minutos.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.

Veja a seguir um exemplo de resposta para uma ação com apenas um limite.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
}

Use o método Put com uma ID de ação única para criar uma nova ação de limite para um agendamento.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/{ResourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/mythreshold?api-version=2015-03-20 $thresholdJson

Use o método Put com uma ID de ação existente para criar uma nova ação de limite para um agendamento.Use the Put method with an existing action ID to modify a threshold action for a schedule. O corpo da solicitação deve incluir a Etag da ação.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/{ResourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/mythreshold?api-version=2015-03-20 $thresholdJson

SeveridadeSeverity

O Log Analytics permite classificar alertas em categorias, para facilitar a triagem e o gerenciamento.Log Analytics allows you to classify your alerts into categories, to allow easier management and triage. A gravidade do Alerta definida é: informativo, aviso e crítico.The Alert severity defined is: informational, warning, and critical. São mapeadas para a escala de gravidade normalizada dos Alertas do Azure como:These are mapped to the normalized severity scale of Azure Alerts as:

Nível de gravidade do Log AnalyticsLog Analytics Severity Level Nível de gravidade dos Alertas do AzureAzure Alerts Severity Level
critical Sev 0Sev 0
warning Sev 1Sev 1
informational Sev 2Sev 2

Veja a seguir um exemplo de resposta para uma ação com apenas um limite e gravidade.Following is a sample response for an action with only a threshold and severity.

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

Use o método Put com uma ID de ação única para criar uma nova ação para um agendamento com gravidade.Use the Put method with a unique action ID to create a new action for a schedule with severity.

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

Use o método Put com uma ID de ação existente para modificar uma ação de gravidade para um agendamento.Use the Put method with an existing action ID to modify a severity action for a schedule. O corpo da solicitação deve incluir a Etag da ação.The body of the request must include the etag of the action.

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

SuprimirSuppress

Os alertas de consulta baseados no Log Analytics serão disparados sempre que o limite for atingido ou excedido.Log Analytics based query alerts will fire every time threshold is met or exceeded. Com base na lógica implícita na consulta, isso pode resultar no disparo de um alerta durante uma série de intervalos e, portanto, no envio de notificações constantemente.Based on the logic implied in the query, this may result in alert getting fired for a series of intervals and hence notifications also being sent constantly. Para evitar esse cenário, um usuário pode definir a opção Suprimir instruindo o Log Analytics a aguardar um período estipulado antes que a notificação seja disparada pela segunda vez para o regra de alerta.To prevent such scenario, a user can set Suppress option instructing Log Analytics to wait for a stipulated amount of time before notification is fired the second time for the alert rule. Portanto, se a supressão for definida para 30 minutos, o alerta será disparado pela primeira vez e enviará as notificações configuradas.So if suppress is set for 30 minutes; then alert will fire the first time and send notifications configured. Mas, depois, aguarde 30 minutos antes que a notificação da regra de alerta seja usada novamente.But then wait for 30 minutes, before notification for the alert rule is again used. No período temporário, o regra de alerta continuará em execução – apenas a notificação é suprimida pelo Log Analytics pelo tempo especificado, independentemente de quantas vezes a regra de alerta foi disparada nesse período.In the interim period, alert rule will continue to run - only notification is suppressed by Log Analytics for specified time, regardless of how many times the alert rule fired in this period.

A propriedade Supressão do regra de alerta do Log Analytics é especificada usando o valor Limitação e o período de supressão usando o valor DurationInMinutes.Suppress property of Log Analytics alert rule is specified using the Throttling value and the suppression period using DurationInMinutes value.

Veja a seguir uma resposta de exemplo para uma ação com apenas uma propriedade de limite, gravidade e supressãoFollowing is a sample response for an action with only a threshold, severity, and suppress property

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

Use o método Put com uma ID de ação única para criar uma nova ação para um agendamento com gravidade.Use the Put method with a unique action ID to create a new action for a schedule with severity.

$AlertSuppressJson = "{'properties': { 'Name': 'My Threshold', 'Version':'1','Severity': 'critical', 'Type':'Alert', 'Throttling': { 'DurationInMinutes': 30 },'Threshold': { 'Operator': 'gt', 'Value': 10 } }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/{ResourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/myalert?api-version=2015-03-20 $AlertSuppressJson

Use o método Put com uma ID de ação existente para modificar uma ação de gravidade para um agendamento.Use the Put method with an existing action ID to modify a severity action for a schedule. O corpo da solicitação deve incluir a Etag da ação.The body of the request must include the etag of the action.

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

Grupos de AçõesAction Groups

Todos os alertas no Azure, use o Grupo de Ações como mecanismo padrão para lidar com ações.All alerts in Azure, use Action Group as the default mechanism for handling actions. Com o Grupo de Ações, você pode especificar suas ações uma vez e, em seguida, associar o grupo de ações para vários alertas - em todo o Azure.With Action Group, you can specify your actions once and then associate the action group to multiple alerts - across Azure. Sem a necessidade de declarar repetidamente as mesmas ações.Without the need, to repeatedly declare the same actions over and over again. Os Grupos de Ações dão suportam a várias ações - incluindo Email, SMS, Chamada de voz, Conexão ITSM, Runbook de automação, URI de Webhook e muito mais.Action Groups support multiple actions - including email, SMS, Voice Call, ITSM Connection, Automation Runbook, Webhook URI and more.

Para os usuários que tiverem estendido seus alertas ao Azure, agora deve haver uma agenda com detalhes do Grupo de Ações passado junto com o limite para poder criar um alerta.For users who have extended their alerts into Azure - a schedule should now have Action Group details passed along with threshold, to be able to create an alert. Detalhes de email, URLs de Webhook, detalhes de automação de Runbook e outras ações precisam ser definidos no Grupo de Ações antes de criar um alerta; é possível criar o Grupo de Ações pelo Azure Monitor no Portal ou usar a API de Grupo de Ações.E-mail details, Webhook URLs, Runbook Automation details, and other Actions, need to be defined in side an Action Group first before creating an alert; one can create Action Group from Azure Monitor in Portal or use Action Group API.

Para adicionar a associação de grupo de ações a um alerta, especifique a ID exclusiva do Azure Resource Manager do grupo de ações na definição do alerta.To add association of action group to an alert, specify the unique Azure Resource Manager ID of the action group in the alert definition. Uma ilustração de exemplo é apresentada abaixo:A sample illustration is provided below:

 "etag": "W/\"datetime'2017-12-13T10%3A52%3A21.1697364Z'\"",
  "properties": {
    "Type": "Alert",
    "Name": "test-alert",
    "Description": "I need to put a description here",
    "Threshold": {
      "Operator": "gt",
      "Value": 12
    },
    "AzNsNotification": {
      "GroupIds": [
        "/subscriptions/1234a45-123d-4321-12aa-123b12a5678/resourcegroups/my-resource-group/providers/microsoft.insights/actiongroups/test-actiongroup"
      ]
    },
    "Severity": "critical",
    "Version": 1
  },

Use o método Put com uma ID de ação exclusiva para associar o Grupo de Ações já existente a um agendamento.Use the Put method with a unique action ID to associate already existing Action Group for a schedule. Abaixo é apresentada uma ilustração de exemplo do uso.The following is a sample illustration of usage.

$AzNsJson = "{'properties': { 'Name': 'test-alert', 'Version':'1', 'Type':'Alert', 'Threshold': { 'Operator': 'gt', 'Value': 12 },'Severity': 'critical', 'AzNsNotification': {'GroupIds': ['subscriptions/1234a45-123d-4321-12aa-123b12a5678/resourcegroups/my-resource-group/providers/microsoft.insights/actiongroups/test-actiongroup']} }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/{Resource Group Name}/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/myAzNsaction?api-version=2015-03-20 $AzNsJson

Use o método Put com uma ID de ação existente para modificar um Grupo de Ações associado a um agendamento.Use the Put method with an existing action ID to modify an Action Group associated for a schedule. O corpo da solicitação deve incluir a Etag da ação.The body of the request must include the etag of the action.

$AzNsJson = "{'etag': 'datetime'2017-12-13T10%3A52%3A21.1697364Z'\"', properties': { 'Name': 'test-alert', 'Version':'1', 'Type':'Alert', 'Threshold': { 'Operator': 'gt', 'Value': 12 },'Severity': 'critical', 'AzNsNotification': {'GroupIds': ['subscriptions/1234a45-123d-4321-12aa-123b12a5678/resourcegroups/my-resource-group/providers/microsoft.insights/actiongroups/test-actiongroup']} }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/{Resource Group Name}/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/myAzNsaction?api-version=2015-03-20 $AzNsJson

Personalizar AçõesCustomize Actions

Por padrão, as ações seguem o modelo e o formato padrão para notificações.By default actions, follow standard template and format for notifications. Mas o usuário pode personalizar algumas ações, mesmo se elas são controladas por Grupos de Ações.But user can customize some actions, even if they are controlled by Action Groups. Atualmente, a personalização é possível para o Assunto do Email e o Conteúdo de Webhook.Currently, customization is possible for Email Subject and Webhook Payload.

Personalizar o Assunto do Email para o Grupo de AçõesCustomize E-Mail Subject for Action Group

Por padrão, o assunto do email para alertas é: Notificação de alerta <AlertName> para <WorkspaceName>.By default, the email subject for alerts is: Alert Notification <AlertName> for <WorkspaceName>. Mas isso pode ser personalizado, para que você possa especificar palavras ou marcações - para permitir que você facilmente empregue regras de filtro na Caixa de entrada.But this can be customized, so that you can specific words or tags - to allow you to easily employ filter rules in your Inbox. Os detalhes de cabeçalho de email personalizado precisam ser enviados juntamente com os detalhes de ActionGroup, como no exemplo a seguir.The customize email header details need to send along with ActionGroup details, as in sample below.

 "etag": "W/\"datetime'2017-12-13T10%3A52%3A21.1697364Z'\"",
  "properties": {
    "Type": "Alert",
    "Name": "test-alert",
    "Description": "I need to put a description here",
    "Threshold": {
      "Operator": "gt",
      "Value": 12
    },
    "AzNsNotification": {
      "GroupIds": [
        "/subscriptions/1234a45-123d-4321-12aa-123b12a5678/resourcegroups/my-resource-group/providers/microsoft.insights/actiongroups/test-actiongroup"
      ],
      "CustomEmailSubject": "Azure Alert fired"
    },
    "Severity": "critical",
    "Version": 1
  },

Use o método Put com uma ID de ação exclusiva para associar o Grupo de Ações já existente com personalização a um agendamento.Use the Put method with a unique action ID to associate already existing Action Group with customization for a schedule. Abaixo é apresentada uma ilustração de exemplo do uso.The following is a sample illustration of usage.

$AzNsJson = "{'properties': { 'Name': 'test-alert', 'Version':'1', 'Type':'Alert', 'Threshold': { 'Operator': 'gt', 'Value': 12 },'Severity': 'critical', 'AzNsNotification': {'GroupIds': ['subscriptions/1234a45-123d-4321-12aa-123b12a5678/resourcegroups/my-resource-group/providers/microsoft.insights/actiongroups/test-actiongroup'], 'CustomEmailSubject': 'Azure Alert fired'} }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/{Resource Group Name}/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/myAzNsaction?api-version=2015-03-20 $AzNsJson

Use o método Put com uma ID de ação existente para modificar um Grupo de Ações associado a um agendamento.Use the Put method with an existing action ID to modify an Action Group associated for a schedule. O corpo da solicitação deve incluir a Etag da ação.The body of the request must include the etag of the action.

$AzNsJson = "{'etag': 'datetime'2017-12-13T10%3A52%3A21.1697364Z'\"', properties': { 'Name': 'test-alert', 'Version':'1', 'Type':'Alert', 'Threshold': { 'Operator': 'gt', 'Value': 12 },'Severity': 'critical', 'AzNsNotification': {'GroupIds': ['subscriptions/1234a45-123d-4321-12aa-123b12a5678/resourcegroups/my-resource-group/providers/microsoft.insights/actiongroups/test-actiongroup']}, 'CustomEmailSubject': 'Azure Alert fired' }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/{Resource Group Name}/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/myAzNsaction?api-version=2015-03-20 $AzNsJson
Personalizar o Conteúdo de Webhook para o Grupo de AçõesCustomize Webhook Payload for Action Group

Por padrão, o webhook enviado pelo Grupo de Ações para análise de logs tem uma estrutura fixa.By default, the webhook sent via Action Group for log analytics has a fixed structure. Mas você pode personalizar o conteúdo de JSON, usando variáveis específicas compatíveis, para atender aos requisitos do ponto de extremidade do webhook.But one can customize the JSON payload by using specific variables supported, to meet requirements of the webhook endpoint. Para obter mais informações, consulte Ação de webhook para alertas de log.For more information, see Webhook action for log alert rules.

Os detalhes de webhook personalizados precisam ser enviados com os detalhes do ActionGroup e serão aplicados a todos os URI do Webhook especificado dentro do grupo de ações, como no exemplo a seguir.The customize webhook details need to send along with ActionGroup details and will be applied to all Webhook URI specified inside the action group; as in sample below.

 "etag": "W/\"datetime'2017-12-13T10%3A52%3A21.1697364Z'\"",
  "properties": {
    "Type": "Alert",
    "Name": "test-alert",
    "Description": "I need to put a description here",
    "Threshold": {
      "Operator": "gt",
      "Value": 12
    },
    "AzNsNotification": {
      "GroupIds": [
        "/subscriptions/1234a45-123d-4321-12aa-123b12a5678/resourcegroups/my-resource-group/providers/microsoft.insights/actiongroups/test-actiongroup"
      ],
      "CustomWebhookPayload": "{\"field1\":\"value1\",\"field2\":\"value2\"}",
      "CustomEmailSubject": "Azure Alert fired"
    },
    "Severity": "critical",
    "Version": 1
  },

Use o método Put com uma ID de ação exclusiva para associar o Grupo de Ações já existente com personalização a um agendamento.Use the Put method with a unique action ID to associate already existing Action Group with customization for a schedule. Abaixo é apresentada uma ilustração de exemplo do uso.The following is a sample illustration of usage.

$AzNsJson = "{'properties': { 'Name': 'test-alert', 'Version':'1', 'Type':'Alert', 'Threshold': { 'Operator': 'gt', 'Value': 12 },'Severity': 'critical', 'AzNsNotification': {'GroupIds': ['subscriptions/1234a45-123d-4321-12aa-123b12a5678/resourcegroups/my-resource-group/providers/microsoft.insights/actiongroups/test-actiongroup'], 'CustomEmailSubject': 'Azure Alert fired','CustomWebhookPayload': '{\"field1\":\"value1\",\"field2\":\"value2\"}'} }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/{Resource Group Name}/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/myAzNsaction?api-version=2015-03-20 $AzNsJson

Use o método Put com uma ID de ação existente para modificar um Grupo de Ações associado a um agendamento.Use the Put method with an existing action ID to modify an Action Group associated for a schedule. O corpo da solicitação deve incluir a Etag da ação.The body of the request must include the etag of the action.

$AzNsJson = "{'etag': 'datetime'2017-12-13T10%3A52%3A21.1697364Z'\"', properties': { 'Name': 'test-alert', 'Version':'1', 'Type':'Alert', 'Threshold': { 'Operator': 'gt', 'Value': 12 },'Severity': 'critical', 'AzNsNotification': {'GroupIds': ['subscriptions/1234a45-123d-4321-12aa-123b12a5678/resourcegroups/my-resource-group/providers/microsoft.insights/actiongroups/test-actiongroup']}, 'CustomEmailSubject': 'Azure Alert fired','CustomWebhookPayload': '{\"field1\":\"value1\",\"field2\":\"value2\"}' }"
armclient put /subscriptions/{Subscription ID}/resourceGroups/{Resource Group Name}/Microsoft.OperationalInsights/workspaces/{Workspace Name}/savedSearches/{Search ID}/schedules/{Schedule ID}/actions/myAzNsaction?api-version=2015-03-20 $AzNsJson

Próximas etapasNext steps