Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La API de consulta de registros le permite ejecutar consultas del lenguaje de consulta kusto (KQL) en un área de trabajo de Log Analytics a través de un punto de conexión REST público. Recupere o analice los datos de registro mediante programación para la automatización, los informes personalizados o la integración con otras herramientas.
En este artículo se muestra cómo formatear las solicitudes de GET y POST para el extremo de la API de consulta de registros, incluidos ejemplos directos de REST y los comandos equivalentes de CLI de Azure y los cmdlets de Azure PowerShell.
Para consultar el conjunto más amplio de API de Azure Monitor, consulte el índice de la API REST de Azure Monitor.
Formato de punto de conexión de consulta pública
El punto de conexión de la API de consulta de registros públicos tiene este formato:
https://api.loganalytics.azure.com/{apiVersion}/workspaces/{workspaceId}/query?[parameters]
-
apiVersiones la versión de la API de consulta pública. Utilicev1. -
workspaceIdes el GUID del área de trabajo de Log Analytics que se va a consultar. -
[parameters]son valores de cadena de consulta comoquery,timespanyworkspaces.
Parámetros de consulta
Pasa estos parámetros en la cadena de consulta para las solicitudes GET o en el cuerpo JSON para las solicitudes POST.
| Parámetro | Obligatorio | Descripción |
|---|---|---|
query |
Sí | Consulta de KQL que se va a ejecutar. |
timespan |
No | Intervalo de tiempo de la consulta. Use una duración ISO 8601 (por ejemplo, PT12H durante 12 horas) o un par de inicio y finalización separados por / (por ejemplo, 2024-01-01/2024-01-02). Si se omite, la consulta se ejecuta en todos los datos disponibles. |
workspaces |
No | Identificadores de área de trabajo adicionales que se van a incluir en una consulta entre áreas de trabajo. |
Formato de solicitud GET
En el caso GET de las solicitudes, incluya parámetros de solicitud en la cadena de consulta. Por ejemplo, para contar eventos AzureActivity por Category durante las 12 últimas horas, utilice la siguiente solicitud:
Use az rest para llamar directamente a la API de consulta de registros.
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
workspaceId="myWorkspaceId"
query="AzureActivity | summarize count() by Category"
timespan="PT12H"
logsQueryApiEndpoint="https://api.loganalytics.io"
resourceId="$logsQueryApiEndpoint/v1/workspaces/$workspaceId/query"
az account set --subscription "$subscriptionId"
az rest \
--method get \
--uri "$resourceId?query=$query×pan=$timespan" \
--resource "$logsQueryApiEndpoint"
Como alternativa, CLI de Azure admite esta operación mediante el comando az monitor log-analytics query. Forma parte de la extensión log-analytics disponible con carácter general, que CLI de Azure instala automáticamente.
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
workspaceId="myWorkspaceId"
query="AzureActivity | summarize count() by Category"
timespan="PT12H"
az account set --subscription "$subscriptionId"
az monitor log-analytics query \
--workspace "$workspaceId" \
--analytics-query "$query" \
--timespan "$timespan"
Formato de solicitud POST
Para solicitudes POST, envíe los parámetros de la solicitud en el cuerpo en formato JSON.
- El cuerpo de la solicitud debe ser JSON válido.
- Incluya el
Content-Type: application/jsonencabezado . - Coloque valores de solicitud como
query,timespanyworkspacesen el cuerpo JSON. - Si especifica
timespanen la cadena de consulta y en el cuerpo, el servicio usa la intersección de los dos valores.
Use az rest para llamar directamente a la API de consulta de registros.
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
workspaceId="myWorkspaceId"
logsQueryApiEndpoint="https://api.loganalytics.io"
resourceId="$logsQueryApiEndpoint/v1/workspaces/$workspaceId/query"
payloadFile="./query-payload.json"
az account set --subscription "$subscriptionId"
az rest \
--method post \
--uri "$resourceId" \
--resource "$logsQueryApiEndpoint" \
--headers Content-Type=application/json \
--body @"$payloadFile"
Archivo de carga (query-payload.json):
{
"query": "AzureActivity | summarize count() by Category",
"timespan": "PT12H"
}
Como alternativa, use el comando az monitor log-analytics query, que abstrae el formato de la solicitud HTTP y sirve para escenarios de consulta tanto de GET como de POST. Consulte la sección Formato de solicitud GET para obtener un ejemplo de comando.