Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
API запросов журналов позволяет выполнять запросы языка запросов Kusto (KQL) к рабочей области Log Analytics через общедоступную конечную точку REST. Получение или анализ данных журнала программным способом для автоматизации, пользовательских отчетов или интеграции с другими средствами.
В этой статье показано, как оформлять запросы GET и POST для конечной точки API запросов к журналам, включая прямые примеры REST и эквивалентные команды Azure CLI и командлеты Azure PowerShell.
Сведения о более широком наборе API Azure Monitor см. в индексе REST API Azure Monitor.
Формат конечной точки общедоступного запроса
Конечная точка API запросов общедоступных журналов имеет следующий формат:
https://api.loganalytics.azure.com/{apiVersion}/workspaces/{workspaceId}/query?[parameters]
-
apiVersion— это версия API общедоступного запроса. Используйтеv1. -
workspaceId— это GUID рабочей области Log Analytics, к которой выполняется запрос. -
[parameters]— это строковые значения запроса, такие какquery,timespanиworkspaces.
Параметры запроса
Передайте эти параметры в строке запроса для GET запросов или в тексте JSON для POST запросов.
| Parameter | Обязательный | Description |
|---|---|---|
query |
Yes | Запрос KQL для выполнения. |
timespan |
Нет | Диапазон времени для запроса. Используйте длительность ISO 8601 (например, PT12H в течение 12 часов) или пару начала и окончания, разделенную / (например, 2024-01-01/2024-01-02). Если не указано, запрос выполняется по всем доступным данным. |
workspaces |
Нет | Дополнительные идентификаторы рабочих областей для включения в запрос между рабочими областями. |
Формат запроса GET
Для GET запросов включите параметры запроса в строку запроса. Например, чтобы подсчитать AzureActivity события за Category последние 12 часов, используйте следующий запрос:
Используйте az rest для вызова API запросов журналов напрямую.
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"
Кроме того, Azure CLI поддерживает эту операцию с помощью команды az monitor log-analytics query. Это часть общедоступного расширения log-analytics, которое Azure CLI устанавливается автоматически.
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"
Формат запроса POST
Для POST запросов отправьте параметры запроса в тексте JSON.
- Тело запроса должно быть допустимым JSON.
- Включите
Content-Type: application/jsonзаголовок. - Поместите такие значения запроса, как
query,timespanиworkspacesв текст JSON. - Если указать
timespanв строке запроса и тексте, служба использует пересечение двух значений.
Используйте az rest для вызова API запросов журналов напрямую.
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"
Файл полезной нагрузки (query-payload.json):
{
"query": "AzureActivity | summarize count() by Category",
"timespan": "PT12H"
}
Или используйте команду az monitor log-analytics query, которая скрывает детали формата HTTP-запроса и работает в обоих сценариях выполнения запросов: GET и POST. См. раздел формата запроса GET для примера команды.