A Azure Monitor Naplók lekérdezési API kérésformátuma

A Logs query API-val Kusto Query Language (KQL) lekérdezéseket futtathat egy Log Analytics-munkaterületen egy nyilvános REST-végponton keresztül. Naplóadatok lekérése vagy elemzése programozott módon automatizáláshoz, egyéni jelentéskészítéshez vagy más eszközökkel való integrációhoz.

Ez a cikk bemutatja, hogyan formázhatja GET és POST kéréseket a Logs query API-végponthoz, beleértve a közvetlen REST-példákat, valamint az ezzel egyenértékű Azure CLI parancsokat és Azure PowerShell parancsmagokat.

A szélesebb Azure Monitor API-felületért tekintse meg a Azure Monitor REST API-indexet.

Nyilvános lekérdezési végpont formátuma

A nyilvános Naplók lekérdezési API-végpont formátuma a következő:

https://api.loganalytics.azure.com/{apiVersion}/workspaces/{workspaceId}/query?[parameters]

  • apiVersion A nyilvános lekérdezési API-verzió. Használja a v1.
  • workspaceId a lekérdezendő Log Analytics munkaterület GUID azonosítója.
  • [parameters] olyan lekérdezési sztringértékek, mint a query, timespanés workspaces.

Lekérdezési paraméterek

Adja meg ezeket a paramétereket a kérések lekérdezési sztringjében GET vagy a kérelmek JSON törzsében POST .

Paraméter Szükséges Description
query Igen A futtatandó KQL-lekérdezés.
timespan No A lekérdezés időtartománya. Használjon ISO 8601 szerinti időtartamot (például 12 órához: PT12H), vagy egy / karakterrel elválasztott kezdő/záró értékpárt (például 2024-01-01/2024-01-02). Ha nincs megadva, a lekérdezés az összes elérhető adaton fut.
workspaces No A munkaterületek közötti lekérdezésben szerepeltetendő további munkaterület-azonosítók.

GET kérelemformátum

A(z) GET kérések esetében a kérési paramétereket a lekérdezési karakterláncban adja meg. Ha például az elmúlt 12 órában Category szerint szeretné megszámolni a(z) AzureActivity eseményeket, használja a következő lekérdezést:

A Logs query API közvetlen meghívására használható az rest .

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&timespan=$timespan" \
  --resource "$logsQueryApiEndpoint"

Alternatív megoldásként az Azure CLI támogatja ezt a műveletet a az monitor log-analytics query parancs használatával. Ez az Azure CLI által automatikusan telepített, általánosan elérhető log-analytics bővítmény része.

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 kérelemformátum

A(z) POST kérések esetén a kérés paramétereit a JSON-törzsében küldje el.

  • A kérelem törzsének érvényes JSON-nak kell lennie.
  • Adja meg a fejlécet Content-Type: application/json .
  • Helyezzen el kérésértékeket, például query, timespanés workspaces a JSON-törzsben.
  • Ha a lekérdezési sztringben és a törzsben is meg van adva timespan , a szolgáltatás a két érték metszetét használja.

A Logs query API közvetlen meghívására használható az rest .

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"

Hasznos adatfájl (query-payload.json):

{
  "query": "AzureActivity | summarize count() by Category",
  "timespan": "PT12H"
}

Másik lehetőségként használja az az monitor log-analytics lekérdezési parancsot, amely absztrakciót végez a HTTP-kérések formátumán, és mindkettőhöz GET és POST lekérdezési forgatókönyvekhez is használható. A parancsmintához tekintse meg a GET kérésformátum szakaszt.