Az Azure Log Analytics konfigurálása a Power BI-hoz
A Power BI integrálva van az Azure Log Analytics szolgáltatással, hogy a rendszergazdák és a prémium szintű munkaterület-tulajdonosok log Analytics-kapcsolatot konfigurálhassanak a Power BI-előfizetésükhöz. Ez a cikk a Log Analytics és a Power BI integrációjának működését, valamint a környezethez való konfigurálását ismerteti.
Az Azure Log Analytics a Power BI-hoz való használatának két eleme van:
- Az Azure-előfizetés konfigurálása az Azure Portalon.
- A Power BI naplóelemzésének engedélyezése a Power BI Rendszergazda portálon.
A következő szakaszok végigvezetik a két lépésen.
Előfeltételek
Mielőtt konfigurálhatja a Log Analytics-integrációt a Power BI-ból, létre kell hoznia egy Log Analytics-munkaterületet az Azure Portalon. Emellett engedélyt kell adnia az Azure-ban a naplók írására vonatkozó Power BI szolgáltatás. A pontos követelmények a következők:
- Közreműködői hozzáférés az Azure-előfizetéshez.
- Regisztrálja a "microsoft.insights" erőforrás-szolgáltatót az Azure-előfizetésben, ahol Power BI-naplóadatokat fog gyűjteni.
- A Log Analytics-integrációt a Power BI-ban létrehozó felhasználónak a Log Analytics-munkaterület Log Analytics-közreműködői szerepkörében kell lennie. Ha a tulajdonosi szerepkör nem adható meg, tekintse meg a gyakori kérdéseket.
A "microsoft.insights" erőforrás-szolgáltató engedélyezése
A Log Analytics használatához engedélyezni kell a "microsoft.insights" erőforrás-szolgáltatót az Azure-előfizetés szintjén. Az alábbi lépések végigvezetik a folyamaton.
Jelentkezzen be az Azure Portalra, válassza ki a Log Analytics szolgáltatással használni kívánt előfizetést, és tartalmazza a Log Analytics-munkaterületeket. A Gépház szakaszban válassza ki az erőforrás-szolgáltatókat az alábbi képen látható módon.
Keressen rá a microsoft.insights kifejezésre az Erőforrás-szolgáltatók területen. Ezután kattintson a Regisztrálás elemre.
Engedélyek beállítása
Győződjön meg arról, hogy a Log Analytics-integrációt konfiguráló felhasználó rendelkezik a Log Analytics-munkaterület Log Analytics-közreműködői szerepkörével. Amikor az Azure Portalon kiválasztja az előfizetés hozzáférés-vezérlését (IAM), majd a panel felső beállításai közül választja ki a szerepkör-hozzárendeléseket , az aktuális felhasználónak egy bejegyzést kell látnia: Log Analytics-közreműködő a Log Analyticset konfiguráló felhasználóhoz:
A lépések elvégzése után az Azure Log Analytics konfigurációs része befejeződött. A következő szakasz bemutatja, hogyan folytathatja és fejezheti be a konfigurációt a Power BI Rendszergazda portálon.
Munkaterületszintű naplózás engedélyezése a Rendszergazda portálról
A Power BI-rendszergazdáknak végre kell hajtaniuk a következő lépést az Azure Log Analytics Power BI Premium-munkaterületekhez való engedélyezéséhez. Ezzel a beállítással a Power BI Premium-munkaterület rendszergazdái elküldhetik a munkaterületi naplóikat az Azure Log Analyticsnek, ha teljesülnek az előfeltételek.
A Power BI Rendszergazda portálon nyissa meg a bérlői Gépház > naplózási és használati beállításokat, és bontsa ki az Azure Log Analytics-kapcsolatokat a munkaterület-rendszergazdák számára. Ha engedélyezni szeretné a munkaterület rendszergazdáinak a Log Analytics engedélyezését, állítsa a csúszkát Engedélyezve értékre, és adja meg a szükséges biztonsági csoportokat az Alkalmaz területen, ahogyan az alábbi képen látható.
Naplózás konfigurálása prémium szintű munkaterületen
A Prémium munkaterületen a munkaterület rendszergazdái engedélyezhetik a Log Analytics szolgáltatást. Ehhez lépjen Gépház az alábbi képen látható módon.
A Gépház panelen válassza az Azure-kapcsolatokat, majd bontsa ki a Log Analyticst az alábbi képen látható módon.
Válassza ki az Azure-előfizetést, az erőforráscsoportot, majd az előző szakaszban konfigurált Log Analytics-munkaterületet. Ezután válassza a Mentés lehetőséget. Ha sikeresen befejeződött, a kibontott bérlőszintű Log Analytics szakasznak az alábbi képhez hasonlóan kell kinéznie.
Az Azure Log Analytics leválasztása
Ha nem szeretne naplókat küldeni az Azure-ba, leválaszthatja a kapcsolatot az Azure Log Analytics szolgáltatásról. A kapcsolat bontásához a Power BI-munkaterület Gépház lépjen a Log Analytics beállításaihoz. Válassza a Leválasztás az Azure-ból lehetőséget. Ezután válassza a Mentés lehetőséget a kapcsolat bontásához.
Feljegyzés
Ha leválaszt egy Power BI-munkaterületet az Azure Log Analyticsről, a naplók nem törlődnek. Az adatok megmaradnak, és követik az ott beállított tárolási és adatmegőrzési szabályzatokat.
Használati forgatókönyvek
Az Azure Log Analytics és a Power BI számos módon segíthet a szervezet valós kihívásainak megoldásában. A következőket ajánljuk figyelmébe:
- Az Analysis Services-motor tevékenységi időszakainak azonosítása kapacitás, munkaterület, jelentés vagy felhasználó szerint.
- A lekérdezések teljesítményének és trendjeinek elemzése, beleértve a külső DirectQuery-műveleteket is.
- A szemantikai modell frissítési időtartamának, átfedéseinek és feldolgozási lépéseinek elemzése.
- Elemezze a Prémium XMLA-végponttal küldött egyéni műveleteket.
Küldjön nekünk visszajelzést a Power BI-közösség, hogy hogyan használja a naplózást, és hogyan segített a szervezetének.
Hibafeltételek és -feloldások
Az alábbi táblázat a gyakori hibák, az őket kiváltó események és konfigurációk gyűjteményét és a javasolt megoldásokat tartalmazza.
Eseményindító feltétel | Típus | Üzenet |
---|---|---|
Nincs engedélye a Log Analytics-munkaterületre való írásra | Hiba – nem folytatható | A Log Analytics-munkaterület írási engedélyére van szüksége a Power BI-hoz való csatlakozáshoz. A probléma megoldásához lépjen kapcsolatba a szervezet azon személyével, aki azure-előfizetéseket kezel. |
Nincs engedélye a Log Analytics-munkaterületfiókba való írásra | Hiba – nem folytatható | A Log Analytics-munkaterület írási engedélyére van szüksége a Power BI-hoz való csatlakozáshoz. |
Nincs hozzáférése azure-előfizetésekhez | Hiba – nem folytatható | Nincs hozzáférése azure-előfizetésekhez. Kérje meg a szervezet Azure-előfizetéseit kezelő személyt, hogy biztosítson közreműködői hozzáférést vagy magasabb szintű hozzáférést. |
Nincs hozzáférése az előfizetésen belüli Azure Log Analytics-munkaterületekhez | Hiba – nem folytatható | Nincs hozzáférése az Azure Log Analytics-munkaterülethez. Kérje meg a szervezet Azure-előfizetéseit kezelő személyt, hogy vegye fel Önt a Log Analytics-tulajdonosi vagy közreműködői szerepkörbe. |
A munkaterületszintű Log Analytics le van tiltva a csatlakozáskor | Tájékoztatás | Kérje meg a bérlő rendszergazdáját, hogy adjon engedélyt a munkaterület rendszergazdáinak a Log Analytics-munkaterületek csatlakoztatására. |
A munkaterületszintű Log Analytics le van tiltva a kapcsolat bontásakor | Tájékoztatás | A bérlői rendszergazda visszavonta a munkaterület rendszergazdáinak a saját Azure Log Analytics-munkaterületek csatlakoztatására vonatkozó engedélyét. Ha leválasztja a kapcsolatot, nem tud csatlakozni egy másikhoz. |
Események és séma
Az Azure Log Analytics engedélyezése után a rendszer elkezdi naplózni a következő eseménykategóriákat. További információ ezekről az eseményekről: Analysis Services Trace Events.
- AggregateTableRewriteQuery
- Parancs
- Holtpont
- DirectQuery
- Felderítés
- Hiba
- ProgressReport
- Lekérdezés
- Munkamenet inicializálása
- VertiPaq Standard kiadás Query
- Értesítés
Az alábbi táblázat a sémát ismerteti.
Tulajdonság | Meglévő Azure Analysis Services-tulajdonság | Leírás |
---|---|---|
TimeGenerated | A napló létrehozásának időbélyege (UTC). | |
OperationName | EventClass_s | A naplórekordhoz társított művelet. |
Korrelációs azonosító | A korrelált események azonosítója. Több tábla közötti korrelált események azonosítására használható. | |
PowerBIWorkspaceId | A munkaterület egyedi azonosítója, amely tartalmazza a műterméket, amelyen dolgozik. | |
PremiumCapacityId | A üzemeltetett összetevőt üzemeltető Premium-kapacitás egyedi azonosítója. | |
ApplicationContext | ApplicationContext_s | Egyedi azonosítókat tartalmazó tulajdonságtáska, amely a kérést végrehajtó alkalmazás adatait tartalmazza. például jelentésazonosító. |
ApplicationName | ApplicationName_s | Annak az ügyfélalkalmazásnak a nevét tartalmazza, amely létrehozta a kapcsolatot a kiszolgálóval. Ez az oszlop a program megjelenített neve helyett az alkalmazás által átadott értékekkel van feltöltve. |
ArtifactId | Az adatokat naplózó erőforrás egyedi azonosítója. | |
ArtifactKind | A művelet naplózásának típusa, például szemantikai modell. | |
CpuTimeMs | CPUTime_s | Az esemény által használt processzoridő (ezredmásodpercben). |
ArtifactName | DatabaseName_s | A műveletet naplózó Power BI-összetevő neve. |
LogAnalyticsCategory | Egyedi | Az események kategóriája, például naplózás/biztonság/kérés. |
DatasetMode | A szemantikai modell módja. Importálás, DirectQuery vagy Összetett. | |
DurationMs | Duration_s | A művelet által igénybe vett idő (ezredmásodpercben). |
Felhasználó | User_s | A futó művelethez társított felhasználó. Akkor használatos, ha egy végfelhasználói identitást meg kell adni a kiszolgálón. |
ExecutingUser | EffectiveUsername_s | A műveletet futtató felhasználó. |
OperationDetailName | EventSubclass_s | További részletek a műveletről. |
XmlaObjectPath | ObjectPath_s | Objektum elérési útja. A szülők vesszővel tagolt listája, kezdve az objektum szülőjével. |
PowerBIWorkspaceName | Az összetevőt tartalmazó Power BI-munkaterület neve. | |
StatusCode | Error_s | A művelet állapotkódja. A sikert és a kudarcot ismerteti. |
ProgressCounter | ProgressTotal_s | Folyamatszámláló. |
XmlaProperties | RequestProperties_s | Az XMLA-kérelem tulajdonságai. |
XmlaSessionId | SPID_s | Analysis Services-munkamenet azonosítója. |
Szinten | Severity_s | A naplózott művelet súlyossági szintjét tartalmazza. Sikeres, tájékoztató, figyelmeztetés vagy hiba. |
Identitás | Információk a felhasználóról és a jogcímekről. | |
Állapot | A művelet állapota. | |
EventText | TextData_s | Részletes információkat tartalmaz a művelethez, például a DAX-lekérdezéshez. |
CustomerTenantId | Az ügyfél Power BI-bérlőazonosítója. | |
XmlaRequestId | RootActivityId_g | A kérés egyedi azonosítója. |
ReplicaId | Replikaazonosító, amely lehetővé teszi a replika azonosítását, ha a lekérdezési horizontális felskálázás (QSO) engedélyezve van. Az írási-olvasási replika mindig ReplicaId='AAA', az írásvédett replikák pedig az "AAB" kezdetű ReplicaId-et indítják el. Nem QSO-kompatibilis szemantikai modellek esetén a ReplicaId mindig "AAA" |
ExecutionMetrics esemény
Minden felderítési, parancs- és lekérdezéskéréshez egy ExecutionMetrics nevű esemény jön létre a kérelem végén. Ez az esemény végrehajtási metrikákat tartalmaz a kéréshez, amelyek segíthetnek a hatékonyabb diagnosztizálásban és hibaelhárításban. A ExecutionMetrics nyomkövetés a legközelebbi [Discover|Command|Lekérdezés]Záró esemény.
A következő KQL-lekérdezés lekéri egy szemantikai modell összes frissítési műveletének ExecutionMetrics-eseményeit az elmúlt napon:
let commands = PowerBIDatasetsWorkspace
| where TimeGenerated > ago(1d)
| where ArtifactId =~ "[Semantic Model Id]"
| where OperationName in ("CommandEnd")
| where EventText contains "<Refresh"
| project TimeGenerated, ArtifactId, CommandOperationName = OperationName, XmlaRequestId, CorrelationId, CommandText = EventText;
let executionMetrics = PowerBIDatasetsWorkspace
| where OperationName == "ExecutionMetrics"
| project TimeGenerated, XmlaRequestId, CorrelationId, EventText;
commands
| join kind=leftouter executionMetrics on XmlaRequestId
A következő KQL-lekérdezés lekéri azokat az eseményeket, amelyeket az elmúlt napon szabályoztak munkaterület, elem és felhasználó szerint:
let executionMetrics = PowerBIDatasetsWorkspace
| where TimeGenerated > ago(1d)
| where OperationName == "ExecutionMetrics"
| extend eventTextJson = parse_json(EventText)
| extend capacityThrottlingMs=toint(eventTextJson.capacityThrottlingMs)
| where capacityThrottlingMs > 0;
let commands = PowerBIDatasetsWorkspace
| where OperationName in ("CommandEnd", "QueryEnd", "DiscoverEnd")
| project
TimeGenerated,
ExecutingUser,
ArtifactId,
PowerBIWorkspaceId,
CommandOperationName = OperationName,
XmlaRequestId,
CorrelationId,
CommandText = EventText;
commands
| join kind=inner executionMetrics on XmlaRequestId
| project
TimeGenerated,
ArtifactId,
PowerBIWorkspaceId,
ExecutingUser,
CommandOperationName,
XmlaRequestId,
EventText,
CommandText,
capacityThrottlingMs
| summarize countThrottling = count(), avgThrottlingDuration = avg(capacityThrottlingMs) by PowerBIWorkspaceId, ArtifactId, ExecutingUser, CommandOperationName
A statisztikák JSON-szövegként jelennek meg az EventText tulajdonságban, lásd az alábbi példákat.
{
"timeStart": "2024-03-20T12:39:59.681Z",
"timeEnd": "2024-03-20T13:01:14.241Z",
"durationMs": 1274559,
"vertipaqJobCpuTimeMs": 156,
"mEngineCpuTimeMs": 9617484,
"totalCpuTimeMs": 9618469,
"executionDelayMs": 10,
"approximatePeakMemConsumptionKB": 1683409,
"mEnginePeakMemoryKB": 1676816,
"tabularConnectionTimeoutMs": 18000000,
"refreshParallelism": 16,
"vertipaqTotalRows": 114,
"intendedUsage": 2
}
Az alábbi táblázat az összes lehetséges tulajdonságot ismerteti. Az egyes események nem minden tulajdonságot bocsátanak ki, mivel a tartalom a kérelemtől és a szemantikai modelltől függ.
Tulajdonság | Leírás |
---|---|
timeStart | A kérés indításának időbélyege (UTC). |
timeEnd | A kérés befejezésének időbélyege (UTC). |
durationMs | A végrehajtás teljes időtartama. |
datasource Csatlakozás ionThrottleTimeMs | Az adatforrás kapcsolati korlátjának elérése után eltelt teljes szabályozási idő. Itt további információt talál az egyidejű kapcsolatok maximális mennyiségéről. |
directQuery Csatlakozás ionTimeMs | Az új DirectQuery-kapcsolat létrehozására fordított teljes idő a kérés során |
directQueryIterationTimeMs | A DirectQuery-lekérdezések által visszaadott eredmények iterálásával töltött teljes idő. |
directQueryTotalTimeMs | Az összes DirectQuery-lekérdezés végrehajtásával és olvasásával töltött teljes idő a kérés során. |
executionDelayMs | Az Analysis Services motorszálkészlet-szál rendelkezésre állására való várakozás teljes időtartama. |
totalCpuTimeMs | A kérelem teljes processzorideje. |
vertipaqJobCpuTimeMs | A Veripaq motor által töltött teljes processzoridő. |
mEngineCpuTimeMs | A PowerQuery-motor által töltött teljes cpu-idő. |
queryProcessingCpuTimeMs | Az Analysis Services lekérdezésiszál-készlet szálán a tevékenységek által eltöltött teljes CPU-idő. |
approximatePeakMemoryConsumptionKB | Becsült maximális memóriahasználat a kérés során. |
mEnginePeakMemoryKB | Hozzávetőleges memória véglegesítési mérete (kilobájtban) az összes PowerQuery-motoregyesítési tárolóban. |
directQueryTimeoutMs | DirectQuery-lekérdezésekhez társított időtúllépés. |
externalQueryTimeoutMs | Külső adatforrásokra vonatkozó lekérdezésekhez társított időtúllépés. |
táblázatos Csatlakozás ionTimeoutMs | Külső táblázatos adatforrás-kapcsolatokhoz (e.g. SQL) társított időtúllépés. |
refreshParallelism | A kérelemben használt hatékony MaxParallelism. |
vertipaqTotalRows | A Veripaq motor által a frissítési művelet során feldolgozott sorok teljes száma. |
queryResultRows | A DAX-lekérdezés eredményeként visszaadott sorok teljes száma. |
directQueryTotalRows | A különböző DirectQuery-lekérdezésekből beolvasott sorok teljes száma. |
directQueryRequestCount | A DAX-motor által végrehajtott DirectQuery-tárolómotor-lekérdezések teljes száma. |
errorCount | Az aktuális kérelem hibáinak teljes száma. |
qsoReplicaVersion | A QSO-kompatibilis szemantikai modellek replikaverziója FILETIME formátumban. |
intendedUsage | Tervezett használat: Alapértelmezett (0); Ütemezett vagy API-frissítés (1); Igény szerinti frissítés (2); Irányítópult-csempe/Lekérdezésgyorsítótár frissítése (3) |
discoverType | Az ügyfél által kért felderítés típusa. A felfedezési típusok listájáért tekintse meg az EventSubclass osztályt. |
queryDialect | A nyelvjárási ügyfél típusa a kiszolgáló lekérdezéséhez használatos: Ismeretlen (-1); MDX (0); DMX (1); SQL (2); DAX (3); JSON (4) |
capacityThrottlingMs | A kérelem késésének teljes időtartama a kapacitásszabályozás miatt. További információ a szabályozásról itt. |
- Minden időtartam és processzoridő ezredmásodpercben jelenik meg.
- A fenti táblázatban leírtakon túl további tulajdonságok is előfordulhatnak, és ezeket nem dokumentáltnak kell tekinteni, és változhatnak.
Minta Log Analytics KQL-lekérdezések
A mintalekérdezések alábbi gyűjteménye hasznos lehet, ha az Azure Log Analyticset a Power BI-val használja. Ezek futtathatók közvetlenül az Azure Portalon vagy API-kon keresztül a legújabb adatok lekérdezéséhez, általában körülbelül 5–10 percesek.
// log count per day for last 30d
PowerBIDatasetsWorkspace
| where TimeGenerated > ago(30d)
| summarize count() by format_datetime(TimeGenerated, 'yyyy-MM-dd')
// average query duration by day for last 30d
PowerBIDatasetsWorkspace
| where TimeGenerated > ago(30d)
| where OperationName == 'QueryEnd'
| summarize avg(DurationMs) by format_datetime(TimeGenerated, 'yyyy-MM-dd')
//query duration percentiles for a single day in 1 hour bins
PowerBIDatasetsWorkspace
| where TimeGenerated >= todatetime('2021-04-28') and TimeGenerated <= todatetime('2021-04-29')
| where OperationName == 'QueryEnd'
| summarize percentiles(DurationMs, 0.5, 0.9) by bin(TimeGenerated, 1h)
// refresh durations by workspace and semantic model for last 30d
PowerBIDatasetsWorkspace
| where TimeGenerated > ago(30d)
| where OperationName == 'CommandEnd'
| where ExecutingUser contains 'Power BI Service'
| where EventText contains 'refresh'
| project PowerBIWorkspaceName, DatasetName = ArtifactName, DurationMs
// query count, distinctUsers, avgCPU, avgDuration by workspace for last 30d
PowerBIDatasetsWorkspace
| where TimeGenerated > ago(30d)
| where OperationName == "QueryEnd"
| summarize QueryCount=count()
, Users = dcount(ExecutingUser)
, AvgCPU = avg(CpuTimeMs)
, AvgDuration = avg(DurationMs)
by PowerBIWorkspaceId
Power BI-jelentéssablon minta
Az Azure Log Analytics Power BI-adatainak megismerése és elemzése nyílt forráskódú Power BI-jelentéssablon használatával a GitHubon.
Kapcsolódó tartalom
Az alábbi cikkek segítségével többet tudhat meg a Power BI-ról és az Azure Log Analyticsbe való integrálásáról.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: