La acción Azure Monitor Query Logs ejecuta una consulta KQL (Kusto Query Language) en un área de trabajo de Log Analytics de monitoreo de Azure y devuelve la tabla de resultados al flujo de trabajo.
Consulta de logs de monitoreo de Azure
Utilice esta acción para consultar datos de logs —por ejemplo, requests de la aplicación, fallas o logs personalizados— y luego bifurcar o notificar según los resultados.
Importante
La entidad de servicio de Azure AD que utilice debe tener el rol Log Analytics Reader en el área de trabajo objetivo.
Las siguientes entradas están disponibles para esta acción:
Aporte | Tipo | Descripción |
|---|---|---|
| Cadena | Requerido. Un ID de cliente de una entidad de servicio de Azure (formato UUID). Páselo como un secreto. Vea cómo |
| Cadena | Requerido. Un clientSecret de una entidad de servicio de Azure. Páselo como un secreto. Vea cómo |
| Cadena | Requerido. El identificador de inquilino de Azure (formato UUID). Se puede pasar como un secreto. |
| Cadena | Requerido. El ID del espacio de trabajo de Log Analytics (GUID). Por ejemplo,
. |
| Cadena | Requerido. La consulta KQL que se ejecutará en el espacio de trabajo. Por ejemplo,
. Máximo 8000 caracteres. |
| Cadena | Opcional. Una duración ISO-8601 que limita el rango de tiempo de la consulta. Por ejemplo,
(7 días) o
(1 hora). Cuando se omite, la consulta se ejecuta sin restricciones de tiempo. |
| Lista | Opcional. Una lista de selectores utilizados para extraer o renombrar valores específicos de la respuesta. Por ejemplo,
. |
Las siguientes salidas están disponibles para esta acción:
Producción | Tipo | Descripción |
|---|---|---|
| Booleano | Estado del resultado de la consulta.
cuando la llamada se realizó correctamente (HTTP 2xx).
de lo contrario. |
| Cadena | Motivo de la falla. La acción establece este campo cuando
es
. |
| Objeto | La respuesta completa de Log Analytics. Las filas de resultados están en
. Las definiciones de columna están en
. Para obtener más información, consulte la referencia de la API de Log Analytics de monitoreo de Azure . |
El siguiente ejemplo consulta la tabla AppRequests durante los últimos 25 días y envía un resumen a un canal de 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