Utilizar ações de dimensionamento automático para enviar notificações de alerta de e-mail e webhook no Azure Monitor
Este artigo mostra-lhe como configurar notificações para que possa chamar URLs Web específicos ou enviar e-mails com base em ações de dimensionamento automático no Azure.
Webhooks
Os webhooks permitem-lhe enviar pedidos HTTP para um ponto final de URL específico (URL de chamada de retorno) quando ocorre um determinado evento ou acionador. Com os webhooks, pode automatizar e simplificar os processos ao ativar a troca automática de informações entre diferentes sistemas ou aplicações. Utilize webhooks para acionar código personalizado, notificações ou outras ações para executar quando ocorre um evento de dimensionamento automático.
Pode enviar um e-mail para qualquer endereço de e-mail válido quando ocorrer um evento de dimensionamento automático. Os administradores e coadministradores da subscrição onde a regra está em execução também são notificados.
Configurar Notificações
Utilize os modelos portal do Azure, CLI, PowerShell ou Resource Manager para configurar notificações.
Configure notificações com o portal do Azure.
Selecione o separador Notificar na página de definições de dimensionamento automático para configurar notificações.
Selecione as caixas de verificação para enviar um e-mail ao administrador ou coadministradores da subscrição. Também pode introduzir uma lista de endereços de e-mail para os quais enviar notificações.
Introduza um URI de webhook para enviar uma notificação para um serviço Web. Também pode adicionar cabeçalhos personalizados ao pedido do webhook. Por exemplo, pode adicionar um token de autenticação no cabeçalho, parâmetros de consulta ou adicionar um cabeçalho personalizado para identificar a origem do pedido.
Autenticação em webhooks
O webhook pode autenticar através da autenticação baseada em tokens, onde guarda o URI do webhook com um ID de token como parâmetro de consulta. Por exemplo, https://mysamplealert/webcallback?tokenid=123-abc456-7890&myparameter2=value123
.
Esquema de payload de webhook de notificação de dimensionamento automático
Quando a notificação de dimensionamento automático é gerada, os seguintes metadados são incluídos no payload do webhook:
{
"version": "1.0",
"status": "Activated",
"operation": "Scale Out",
"context": {
"timestamp": "2023-06-22T07:01:47.8926726Z",
"id": "/subscriptions/123456ab-9876-a1b2-a2b1-123a567b9f8767/resourceGroups/rg-001/providers/microsoft.insights/autoscalesettings/AutoscaleSettings-002",
"name": "AutoscaleSettings-002",
"details": "Autoscale successfully started scale operation for resource 'ScaleableAppServicePlan' from capacity '1' to capacity '2'",
"subscriptionId": "123456ab-9876-a1b2-a2b1-123a567b9f8767",
"resourceGroupName": "rg-001",
"resourceName": "ScaleableAppServicePlan",
"resourceType": "microsoft.web/serverfarms",
"resourceId": "/subscriptions/123456ab-9876-a1b2-a2b1-123a567b9f8767/resourceGroups/rg-001/providers/Microsoft.Web/serverfarms/ScaleableAppServicePlan",
"portalLink": "https://portal.azure.com/#resource/subscriptions/123456ab-9876-a1b2-a2b1-123a567b9f8767/resourceGroups/rg-001/providers/Microsoft.Web/serverfarms/ScaleableAppServicePlan",
"resourceRegion": "West Central US",
"oldCapacity": "1",
"newCapacity": "2"
},
"properties": {
"key1": "value1",
"key2": "value2"
}
}
Campo | Obrigatório | Description |
---|---|---|
status | Yes | Estado que indica que foi gerada uma ação de dimensionamento automático. |
operation | Yes | Para um aumento de instâncias, é "Aumentar Horizontalmente". Para uma diminuição das instâncias, é "Redução Horizontal". |
contexto | Yes | Contexto de ação de dimensionamento automático. |
carimbo de data/hora | Yes | Carimbo de data/hora quando a ação de dimensionamento automático foi acionada. |
ID | Yes | Resource Manager ID da definição de dimensionamento automático. |
name | Yes | Nome da definição de dimensionamento automático. |
detalhes | Yes | Explicação da ação que o serviço de dimensionamento automático tomou e da alteração na contagem de instâncias. |
subscriptionId | Yes | ID da subscrição do recurso de destino que está a ser dimensionado. |
resourceGroupName | Yes | Nome do grupo de recursos do recurso de destino que está a ser dimensionado. |
resourceName | Yes | Nome do recurso de destino que está a ser dimensionado. |
resourceType | Yes | Três valores suportados: "microsoft.classiccompute/domainnames/slots/roles" - Funções de Serviços Cloud do Azure, "microsoft.compute/virtualmachinescalesets" – Conjuntos de Dimensionamento de Máquinas Virtuais do Azure e "Microsoft.Web/serverfarms" – funcionalidade de Aplicação Web do Azure Monitor. |
resourceId | Yes | Resource Manager ID do recurso de destino que está a ser dimensionado. |
portalLink | Yes | portal do Azure ligação para a página de resumo do recurso de destino. |
oldCapacity | Yes | Contagem de instâncias atuais (antigas) quando o dimensionamento automático tomou uma ação de dimensionamento. |
newCapacity | Yes | Contagem de novas instâncias para a qual o dimensionamento automático dimensionou o recurso. |
propriedades | No | Opcional. Conjunto de Pares Chave <, Valor> (por exemplo, Cadeia de Dicionário <, Cadeia>). O campo de propriedades é opcional. Numa interface de utilizador personalizada ou num fluxo de trabalho baseado em aplicações lógicas, pode introduzir chaves e valores que podem ser transmitidos através do payload. Uma forma alternativa de transmitir propriedades personalizadas novamente para a chamada de webhook de saída é utilizar o próprio URI do webhook (como parâmetros de consulta). |