Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Rozhraní API pro dotazy nad protokoly umožňuje spouštět dotazy v jazyce Kusto Query Language (KQL) v pracovním prostoru Log Analytics prostřednictvím veřejného koncového bodu REST. Programově získávejte nebo analyzujte data protokolů pro automatizaci, vlastní reporting nebo integraci s dalšími nástroji.
Tento článek ukazuje, jak formátovat požadavky GET a POST koncového bodu rozhraní API pro dotazy protokolů, včetně přímých příkladů REST a ekvivalentních příkazů Azure CLI a rutin Azure PowerShell.
Širší povrch rozhraní API Azure Monitor najdete v indexu rozhraní REST API Azure Monitor.
Formát koncového bodu veřejného dotazu
Koncový bod rozhraní API pro dotazy na veřejné protokoly má tento formát:
https://api.loganalytics.azure.com/{apiVersion}/workspaces/{workspaceId}/query?[parameters]
-
apiVersionje verze rozhraní API pro veřejné dotazy. Použijtev1. -
workspaceIdje identifikátor GUID pracovního prostoru Log Analytics k dotazování. -
[parameters]jsou řetězcové hodnoty dotazu, napříkladquery,timespanaworkspaces.
Parametry dotazu
Tyto parametry předejte v řetězci dotazu pro GET požadavky nebo v textu JSON pro POST požadavky.
| Parametr | Povinné | Description |
|---|---|---|
query |
Ano | Dotaz KQL, který se má spustit. |
timespan |
No | Časový rozsah dotazu. Použijte dobu trvání ISO 8601 (například PT12H 12 hodin) nebo dvojici zahájení/ukončení oddělenou / (například 2024-01-01/2024-01-02). Pokud tento dotaz vynecháte, spustí se pro všechna dostupná data. |
workspaces |
No | Další ID pracovních prostorů, která se mají zahrnout do dotazu napříč pracovními prostory. |
Formát požadavku GET
V případě GET požadavků zahrňte do řetězce dotazu parametry požadavku. Pokud například chcete za posledních 12 hodin spočítat počet událostí AzureActivity podle Category, použijte následující požadavek:
Slouží az rest k přímému volání rozhraní API pro dotazy protokolů.
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"
Alternativně Azure CLI podporuje tuto operaci pomocí příkazu az monitor log-analytics query. Je součástí obecně dostupného rozšíření log-analytics, které Azure CLI nainstaluje automaticky.
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"
Formát požadavku POST
V případě POST požadavků odešlete parametry požadavku v textu JSON.
- Text požadavku musí být platný JSON.
- Zahrňte
Content-Type: application/jsonzáhlaví. - Vložte hodnoty požadavku, například
query,timespanaworkspacesdo textu JSON. - Pokud zadáte
timespanjak v řetězci dotazu, tak v těle požadavku, služba použije průnik obou hodnot.
Slouží az rest k přímému volání rozhraní API pro dotazy protokolů.
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"
Soubor s datovou částí (query-payload.json):
{
"query": "AzureActivity | summarize count() by Category",
"timespan": "PT12H"
}
Případně použijte příkaz az monitor log-analytics query, který skrývá formát požadavku HTTP a funguje pro scénáře dotazů GET i POST. Ukázku příkazu najdete v části Formát požadavku GET .