A ação Azure Monitor Query Logs executa uma consulta KQL (Kusto Query Language) em um workspace do Log Analytics do Azure Monitor e retorna a tabela de resultados para o seu fluxo de trabalho.
Consultar logs do Azure Monitor
Use esta ação para consultar dados de log — por exemplo, requests de aplicativo, falhas ou logs personalizados — e, em seguida, ramificar ou notificar com base nos resultados.
Importante
A entidade de serviço do Azure AD que você usa deve ter a função Log Analytics Reader no workspace de destino.
As seguintes entradas estão disponíveis para esta ação:
Entrada | Tipo | Descrição |
|---|---|---|
| Corda | Obrigatório. Um clientId de uma Entidade de Serviço do Azure (formato UUID). Passe como um segredo. Veja como |
| Corda | Obrigatório. Um clientSecret de Entidade de Serviço do Azure. Passe como um segredo. Veja como |
| Corda | Obrigatório. O identificador de locatário do Azure (formato UUID). Pode ser passado como um segredo. |
| Corda | Obrigatório. O ID do workspace do Log Analytics (GUID). Por exemplo,
. |
| Corda | Obrigatório. A consulta KQL a ser executada no workspace. Por exemplo,
. Máximo de 8000 caracteres. |
| Corda | Opcional. Uma duração ISO-8601 que limita o intervalo de tempo da consulta. Por exemplo,
(7 dias) ou
(1 hora). Quando omitido, a consulta é executada sem restrição de tempo. |
| Lista | Opcional. Uma lista de seletores usados para extrair ou renomear valores específicos da resposta. Por exemplo,
. |
As seguintes saídas estão disponíveis para esta ação:
Saída | Tipo | Descrição |
|---|---|---|
| Boleano | Status do resultado da consulta.
quando a chamada foi bem-sucedida (HTTP 2xx).
caso contrário. |
| Corda | Motivo da falha. A ação define este campo quando
for
. |
| Objeto | A resposta completa do Log Analytics. As linhas de resultado estão em
. As definições de coluna estão em
. Para obter mais informações, consulte a referência da API do Azure Monitor Log Analytics . |
O exemplo a seguir consulta a tabela AppRequests dos últimos 25 dias e envia um resumo para um canal do Slack.
name: query-azure-monitor-logs
steps: - name: query_app_requests type: action action: azure.monitor.queryLogs version: 1 inputs: clientId: ${{ :secrets:azure-client-id }} clientSecret: ${{ :secrets:azure-client-secret }} tenantId: ${{ :secrets:azure-tenant-id }} workspaceId: "78460d46-1c7c-494b-90b4-e21288a074d4" query: |- AppRequests | take 10 timespan: P25D selectors: - name: records expression: ".response.tables[0] as $t | ($t.columns | map(.name)) as $cols | $t.rows | map(. as $row | reduce range(0; ($cols | length)) as $i ({}; . + {($cols[$i]): $row[$i]}))" - name: send_slack_notification type: action action: newrelic.notification.sendSlack version: 1 inputs: destinationId: ${{ :secrets:slack-destination-id }} channel: ops-alerts text: ${{ "*AppRequests* (" + (.steps.query_app_requests.outputs.records | length | tostring) + " rows)\n\n" + (.steps.query_app_requests.outputs.records | map([(.OperationName // ""), (.ResultCode // ""), (.Url // ""), ((.DurationMs // 0) | tostring) + "ms"] | join(" | ")) | join("\n")) + "\n```" }} next: end