Adatok lekérdezése Log Analytics-munkaterületeken, alkalmazásokban és erőforrásokban az Azure Monitorban

Kétféleképpen kérdezhet le adatokat több munkaterületről, alkalmazásból és erőforrásból:

  • Kifejezetten a munkaterület, az alkalmazás vagy az erőforrás adatainak megadásával a munkaterület(), alkalmazás()vagy erőforrás() kifejezések használatával, a jelen cikkben leírtak szerint.
  • Implicit módon erőforrás-környezeti lekérdezések használatával. Amikor egy adott erőforrás, erőforráscsoport vagy előfizetés kontextusában kérdez le, a lekérdezés az összes olyan munkaterületről lekéri a releváns adatokat, amelyek ezen erőforrások adatait tartalmazzák. Az erőforrás-környezet lekérdezései nem kérnek le adatokat a klasszikus alkalmazásból Elemzések erőforrásokból.

Ez a cikk bemutatja, hogyan kérdezhet workspace()le adatokat több Log Analytics-munkaterületről, alkalmazásból és erőforrásból a , app()és resource() kifejezésekkel.

Ha más Microsoft Entra-bérlők előfizetéseit az Azure Lighthouse-on keresztül kezeli, a lekérdezésekbe belefoglalhatja az ezekben az ügyfélbérlőkben létrehozott Log Analytics-munkaterületeket.

Fontos

Ha munkaterület-alapú alkalmazás-Elemzések erőforrást használ, a telemetriát a rendszer egy Log Analytics-munkaterületen tárolja az összes többi naplóadattal együtt. A kifejezéssel workspace() adatokat kérdezhet le több munkaterület alkalmazásaiból. Nincs szükség munkaterületközi lekérdezésre az ugyanazon a munkaterületen található több alkalmazás adatainak lekérdezéséhez.

A szükséges engedélyek

Korlátozások

  • Az erőforrás- és szolgáltatásközi lekérdezések nem támogatják a paraméteres függvényeket és függvényeket, amelyek definíciója más munkaterületek közötti vagy szolgáltatásközi kifejezéseket is tartalmaz, beleértve a adx(), arg(), resource(), workspace()és app().
  • Egyetlen lekérdezésben legfeljebb 100 Log Analytics-munkaterületet vagy klasszikus alkalmazás-Elemzések-erőforrást vehet fel.
  • A nagy számú erőforrás lekérdezése jelentősen lelassíthatja a lekérdezést.
  • A naplókeresési riasztásokban lévő erőforrásközi lekérdezések csak az aktuális ütemezettQueryRules API-ban támogatottak. Ha az örökölt Log Analytics Alerts API-t használja, át kell váltania az aktuális API-ra.
  • A kereszterőforrásra, például egy másik munkaterületre mutató hivatkozásoknak explicitnek kell lenniük, és nem paraméterezhetők.

Lekérdezés munkaterületek, alkalmazások és erőforrások között függvények használatával

Ez a szakasz bemutatja, hogyan kérdezhet le munkaterületeket, alkalmazásokat és erőforrásokat függvényekkel és anélkül.

Lekérdezés függvény használata nélkül

Több erőforrást is lekérdezhet bármelyik erőforráspéldányból. Ezek az erőforrások lehetnek munkaterületek és alkalmazások kombinálva.

Példa egy lekérdezésre három munkaterületen:

union 
  Update, 
  workspace("00000000-0000-0000-0000-000000000001").Update, 
  workspace("00000000-0000-0000-0000-000000000002").Update
| where TimeGenerated >= ago(1h)
| where UpdateState == "Needed"
| summarize dcount(Computer) by Classification

Az egyesítésről, a hol és az operátorok összegzéséről további információt az egyesítő operátor, a where operátor és az összesítő operátor című témakörben talál.

Lekérdezés függvény használatával

Ha több Log Analytics-munkaterület és alkalmazás Elemzések összetevő adatainak korrelációja erőforrás-alapú lekérdezésekkel történik, a lekérdezés összetetté és nehezen karbantarthatóvá válhat. Az Azure Monitor-napló lekérdezésekben lévő függvényeket kell használnia, hogy elkülönítse a lekérdezési logikát a lekérdezési erőforrások hatókörétől. Ez a módszer leegyszerűsíti a lekérdezési struktúrát. Az alábbi példa bemutatja, hogyan monitorozhat több alkalmazás-Elemzések összetevőt, és hogyan jelenítheti meg a sikertelen kérelmek számát alkalmazásnév alapján.

Hozzon létre egy lekérdezést az alábbi példához hasonlóan, amely az alkalmazás Elemzések összetevők hatókörére hivatkozik. A withsource= SourceApp parancs hozzáad egy oszlopot, amely a naplót küldő alkalmazásnevet jelöli. Mentse a lekérdezést függvényként az alias applicationsScopinghasználatával.

// crossResource function that scopes my Application Insights components
union withsource= SourceApp
app('00000000-0000-0000-0000-000000000000').requests, 
app('00000000-0000-0000-0000-000000000001').requests,
app('00000000-0000-0000-0000-000000000002').requests,
app('00000000-0000-0000-0000-000000000003').requests,
app('00000000-0000-0000-0000-000000000004').requests

Ezt a függvényt most már használhatja erőforrás-alapú lekérdezésekben, például az alábbi példában. A függvény aliasa applicationsScoping az összes definiált alkalmazás kéréstáblájának egyesítését adja vissza. A lekérdezés ezután szűri a sikertelen kérelmeket, és alkalmazásonként jeleníti meg a trendeket. Az parse operátor ebben a példában nem kötelező. Kinyeri az alkalmazás nevét a SourceApp tulajdonságból.

applicationsScoping 
| where timestamp > ago(12h)
| where success == 'False'
| parse SourceApp with * '(' applicationId ')' * 
| summarize count() by applicationId, bin(timestamp, 1h) 
| render timechart

Feljegyzés

Ez a módszer nem használható naplókeresési riasztásokkal, mert a riasztási szabály erőforrásainak ( beleértve a munkaterületeket és alkalmazásokat is) hozzáférés-ellenőrzése a riasztás létrehozásakor történik. A riasztás létrehozása után nem lehet új erőforrásokat hozzáadni a függvényhez. Ha inkább egy függvényt szeretne használni az erőforrások hatókörének meghatározásához a naplókeresési riasztásokban, a riasztási szabályt a portálon vagy egy Azure Resource Manager-sablonnal kell szerkesztenie a hatókörben lévő erőforrások frissítéséhez. Másik lehetőségként felveheti az erőforrások listáját a naplókeresési riasztási lekérdezésbe.

Log Analytics-munkaterületek lekérdezése munkaterület() használatával

A kifejezéssel workspace() adatokat kérdezhet le egy adott munkaterületről ugyanabban az erőforráscsoportban, egy másik erőforráscsoportban vagy egy másik előfizetésben. Ezzel a kifejezéssel naplóadatokat vehet fel egy alkalmazás Elemzések lekérdezésbe, és adatokat kérdezhet le több munkaterületen egy napló lekérdezésben.

Szintaxis

workspace(Azonosító)

Argumentumok

*Identifier*: Azonosítja a munkaterületet az alábbi táblázatban szereplő formátumok egyikével.

Azonosító Leírás Példa
Azonosító A munkaterület GUID azonosítója munkaterület("000000000-0000-0000-0000-0000000000")
Azure-erőforrás azonosítója Az Azure-erőforrás azonosítója workspace("/subscriptions/000000000-0000-0000-0000-00000000000/resourcegroups/Contoso/providers/Microsoft.Operational Elemzések/workspaces/contosoretail")

Példák

workspace("00000000-0000-0000-0000-000000000000").Update | count
workspace("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/Contoso/providers/Microsoft.OperationalInsights/workspaces/contosoretail").Event | count
union 
( workspace("00000000-0000-0000-0000-000000000000").Heartbeat | where Computer == "myComputer"),
(app("00000000-0000-0000-0000-000000000000").requests | where cloud_RoleInstance == "myRoleInstance")
| count  
union 
(workspace("00000000-0000-0000-0000-000000000000").Heartbeat), (app("00000000-0000-0000-0000-000000000000").requests) | where TimeGenerated between(todatetime("2023-03-08 15:00:00") .. todatetime("2023-04-08 15:05:00"))

Lekérdezés klasszikus alkalmazás Elemzések alkalmazások között alkalmazás() használatával

app A kifejezéssel adatokat kérdezhet le egy adott klasszikus alkalmazásból Elemzések erőforrásból ugyanabban az erőforráscsoportban, egy másik erőforráscsoportban vagy egy másik előfizetésben. Ha munkaterület-alapú alkalmazás-Elemzések erőforrást használ, a telemetriát a rendszer egy Log Analytics-munkaterületen tárolja az összes többi naplóadattal együtt. A kifejezéssel workspace() adatokat kérdezhet le több munkaterület alkalmazásaiból. Nincs szükség munkaterületközi lekérdezésre az ugyanazon a munkaterületen található több alkalmazás adatainak lekérdezéséhez.

Szintaxis

app(Azonosító)

Argumentumok

*Identifier*: Az alkalmazást az alábbi táblázatban szereplő formátumok egyikével azonosítja.

Azonosító Leírás Példa
Azonosító Az alkalmazás GUID azonosítója app("000000000-0000-0000-0000-0000000000")
Azure-erőforrás azonosítója Az Azure-erőforrás azonosítója app("/subscriptions/000000000-0000-0000-0000-00000000000/resourcegroups/Fabrikam/providers/microsoft.insights/components/fabrikamapp")

Példák

app("00000000-0000-0000-0000-000000000000").requests | count
app("/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/Fabrikam/providers/microsoft.insights/components/fabrikamapp").requests | count
union 
(workspace("00000000-0000-0000-0000-000000000000").Heartbeat | where Computer == "myComputer"),
(app("00000000-0000-0000-0000-000000000000").requests | where cloud_RoleInstance == "myColumnInstance")
| count  
union 
(workspace("00000000-0000-0000-0000-000000000000").Heartbeat), (app("00000000-0000-0000-0000-000000000000").requests)
| where TimeGenerated between(todatetime("2023-03-08 15:00:00") .. todatetime("2023-04-08 15:05:00"))

Adatok korrelálása erőforrások között erőforrás() használatával

A resource kifejezés egy erőforrásra hatókörrel rendelkező Azure Monitor-lekérdezésben használatos, amely adatokat kér le más erőforrásokból.

Szintaxis

resource(Azonosító)

Argumentumok

*Identifier*: Azonosítja azt az erőforrást, erőforráscsoportot vagy előfizetést, amelyből az adatokat korrelálni szeretné.

Azonosító Leírás Példa
Erőforrás Az erőforrás adatait tartalmazza. resource("/subscriptions/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcesgroups/myresourcegroup/providers/microsoft.compute/virtualmachines/myvm")
Erőforráscsoport vagy előfizetés Az erőforrás és az összes benne lévő erőforrás adatait tartalmazza. resource("/subscriptions/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcesgroups/myresourcegroup)

Példák

union (Heartbeat),(resource("/subscriptions/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcesgroups/myresourcegroup/providers/microsoft.compute/virtualmachines/myvm").Heartbeat) | summarize count() by _ResourceId, TenantId
union (Heartbeat),(resource("/subscriptions/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourcesgroups/myresourcegroup).Heartbeat) | summarize count() by _ResourceId, TenantId

Következő lépések

Az Azure Monitor naplóadatainak elemzésével áttekintheti a napló lekérdezéseket és az Azure Monitor naplóadatainak strukturálását.