Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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 Application Insights-erőforrásokból.
Ez a cikk bemutatja, hogyan használhatja a workspace()
, app()
és resource()
kifejezéseket adatok lekérdezéséhez több Log Analytics-munkaterületből, alkalmazásból és erőforrásból.
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ú Application Insights-erőforrást használ, a telemetriát egy Log Analytics-munkaterület 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
Művelet | A szükséges engedélyek |
---|---|
Munkaterület állapotának ellenőrzése |
Microsoft.OperationalInsights/workspaces/query/*/read az Ön által lekérdezett Log Analytics-munkaterületekre vonatkozó engedélyek, például a Log Analytics-olvasó beépített szerepkörének megfelelően. |
Lekérdezés mentése |
microsoft.operationalinsights/querypacks/queries/action a lekérdezést menteni kívánt lekérdezéscsomagra vonatkozó engedélyek, például a Log Analytics-közreműködő beépített szerepkörének megfelelően. |
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()
ésapp()
. - Egyetlen lekérdezésben legfeljebb 100 Log Analytics-munkaterületet vagy klasszikus Application Insights-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 a munkaterületek és alkalmazások kombinációi.
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 Application Insights-ö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 Application Insights-összetevőt, és hogyan jelenítheti meg a sikertelen kérelmek számát alkalmazásnév alapján.
Hozzon létre egy olyan lekérdezést, mint az alábbi példa, amely az Application Insights-ö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 applicationsScoping
haszná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 Application Insights-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 |
---|---|---|
ID (Azonosító) | A munkaterület GUID azonosítója | munkaterület("00000000-0000-0000-0000-000000000000") |
Azure-erőforrás azonosítója | Az Azure-erőforrás azonosítója | workspace("/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/Contoso/providers/Microsoft.OperationalInsights/workspaces/contosoretail") |
Példák
workspace("00000000-0000-0000-0000-000000000000").Update | count
workspace("/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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 Application Insights-alkalmazások között alkalmazás() használatával
app
A kifejezéssel adatokat kérdezhet le egy adott klasszikus Application Insights-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ú Application Insights-erőforrást használ, a telemetriát egy Log Analytics-munkaterület 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 |
---|---|---|
ID (Azonosító) | Az alkalmazás GUID azonosítója | app("00000000-0000-0000-0000-000000000000") |
Azure-erőforrás azonosítója | Az Azure-erőforrás azonosítója | app("/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/Fabrikam/providers/microsoft.insights/components/fabrikamapp") |
Példák
app("00000000-0000-0000-0000-000000000000").requests | count
app("/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/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.