Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Importante
O Relatório de Impacto do Azure está atualmente em pré-visualização. Para obter os termos legais que se aplicam aos recursos do Azure que estão em versão beta, em visualização ou ainda não lançados em disponibilidade geral, consulte Termos de uso suplementares para Visualizações do Microsoft Azure.
Para saber mais sobre as ações de gerenciamento de impacto disponíveis, consulte os documentos da API.
Use um aplicativo lógico como um cliente REST para relatórios de impacto.
Pré-requisitos
É necessária uma identidade gerenciada com acesso PUT à API ImpactRP e acesso de leitura à fonte de dados para a carga de trabalho. Você também precisa de uma consulta com um intervalo de sondagem de um minuto ou mais para que a fonte de dados gere os seguintes campos:
ImpactNameImpactStartTimeImpactedResourceIdWorkloadContextImpactCategory
Este artigo usa um cluster Kusto como uma fonte de dados de exemplo com a seguinte consulta:
ExampleTable
| where Status =~ "BAD" and ingestion_time() > ago(1m)
| distinct ImpactStartTime=TimeStamp, ImpactedResourceId=ResourceId, WorkloadContext=Feature, ImpactCategory="Resource.Availability", ImpactName = hash_sha1(strcat(TimeStamp, ResourceId , Feature, Computer, ingestion_time()))
Nota
Substitua a consulta por uma para um armazenamento de dados ou fonte que o Azure Logic Apps oferece suporte e que retorna as mesmas colunas. Se todas essas colunas não estiverem prontamente disponíveis, adicione mais etapas ao fluxo de trabalho para gerar os campos ausentes.
Criar uma aplicação lógica
Crie um novo aplicativo lógico no portal do Azure com as seguintes configurações:
- Publicar: defina como Fluxo de trabalho.
- Região: Definido como Central dos EUA.
- Plano: Definido como Padrão.
(Opcional) Na seção Monitoramento , defina Habilitar Application Insights como Sim para habilitar o monitoramento de falhas.
Revise e crie o aplicativo lógico. Depois de criá-lo, abra o aplicativo lógico e vá para Configurações>de identidade no painel lateral. Na seção Usuário atribuído , selecione Adicionar e selecione a identidade gerenciada que você criou nos pré-requisitos. Selecione Guardar para guardar as alterações.
Vá para Conexões de fluxos de trabalhoe selecione a guia >. Crie uma conexão para sua fonte de dados. Este exemplo usa Kusto com a identidade gerenciada, mas você pode usar qualquer fonte de dados suportada pelo Logic Apps:
{ "managedApiConnections": { "kusto": { "api": { "id": "/subscriptions/<subscription_id>/providers/Microsoft.Web/locations/<region>/managedApis/kusto" }, "authentication": { "type": "ManagedServiceIdentity" }, "connection": { "id": "/subscriptions/<subscription_id>/resourceGroups/<rg_name/providers/Microsoft.Web/connections/<connection_name>" }, "connectionProperties": { "authentication": { "audience": "https://kusto.kustomfa.windows.net", "identity": "/subscriptions/<subscription_id>/resourcegroups/<rg_name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed_identity_name>", "type": "ManagedServiceIdentity" } }, "connectionRuntimeUrl": "<kusto_connection_runtime_url>" } } }Selecione Guardar para guardar as alterações.
Vá para Fluxos de Trabalho>, selecione Adicionar e crie um novo fluxo de trabalho em branco com Tipo de Estado definido como Stateful.
Selecione o fluxo de trabalho recém-criado. Vá para Developer>Code e substitua o conteúdo JSON por:
{ "definition": { "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", "actions": { "For_each": { "actions": { "HTTP": { "inputs": { "authentication": { "identity": "/subscriptions/<subscription_id>/resourcegroups/<rg_name>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<managed_identity_name>",, "type": "ManagedServiceIdentity" }, "body": { "properties": { "endDateTime": null, "impactCategory": "@{items('For_each')?['ImpactCategory']}", "impactedResourceId": "@{items('For_each')?['ImpactedResourceId']}", "startDateTime": "@{items('For_each')?['ImpactStartTime']}", "workload": { "context": "@{items('For_each')?['WorkloadContext']}" } } }, "method": "PUT", "retryPolicy": { "count": 5, "interval": "PT30M", "maximumInterval": "PT24H", "minimumInterval": "PT30M", "type": "exponential" }, "uri": "@{concat('https://management.azure.com/subscriptions/', split(item().ImpactedResourceId, '/')[2], '/providers/Microsoft.Impact/workloadImpacts/', item().ImpactName, '?api-version=2022-11-01-preview')}" }, "runAfter": {}, "type": "Http" } }, "foreach": "@body('Run_KQL_query')?['value']", "runAfter": { "Run_KQL_query": [ "Succeeded" ] }, "type": "Foreach" }, "Run_KQL_query": { "inputs": { "body": { "cluster": "https://examplecluster.eastus.kusto.windows.net/", "csl": "ExampleTable\n|where Status =~ \"BAD\" and ingestion_time()>ago(1m)\n|distinct ImpactStartTime=TimeStamp, ImpactedResourceId=ResourceId, WorkloadContext=Feature, ImpactCategory=\"Resource.Availability\", ImpactName = hash_sha1(strcat(TimeStamp, ResourceId , Feature, Computer, ingestion_time()))", "db": "exampledb" }, "host": { "connection": { "referenceName": "kusto" } }, "method": "post", "path": "/ListKustoResults/false" }, "runAfter": {}, "type": "ApiConnection" } }, "contentVersion": "1.0.0.0", "outputs": {}, "triggers": { "Recurrence": { "recurrence": { "frequency": "Minute", "interval": 1 }, "type": "Recurrence" } } }, "kind": "Stateful" }Selecione Guardar para guardar as alterações.
Vá para Developer>Designer. Selecione o bloco
Run KQL (Kusto Query Language) Query. Substitua Cluster URL e Database pelo cluster e banco de dados Kusto de destino. Substitua Query pela consulta mencionada nos pré-requisitos.Selecione o link azul Alterar conexão . Defina Autenticação como Identidade gerenciada. Defina Identidade gerenciada como a identidade gerenciada que você criou nos pré-requisitos com um nome de conexão apropriado e selecione Criar.
Nota
Se você usar uma fonte diferente do Kusto, substitua o
Run KQL Querybloco pelo bloco apropriado para sua fonte de dados. OFor Eachbloco deve ser atualizado para iterar sobre os resultados da consulta. OHTTPbloco deve ser atualizado para usar os dados apropriados dos resultados da consulta.(Opcional) Se o intervalo de sondagem para a consulta for maior que um minuto, selecione o
Recurrencebloco e definaIntervalpara o intervalo de sondagem em minutos.Selecione o bloco
HTTPe atualizeAuthenticationpara a identidade gerida que foi criada nos pré-requisitos. Selecione Guardar para guardar as alterações.Vá para Visão geral e selecione Executar para testar o fluxo. Os resultados aparecem em Histórico de Execução.
(Opcional) Retorne ao aplicativo lógico no portal do Azure. Vá para Configurações>do Application Insights e selecione o hiperlink para o recurso do Application Insights. Vá para Alertas de monitoramento>. Selecione Criar>regra de alerta. A partir daqui, você pode criar uma regra de alerta para notificar sobre falhas.