Megosztás a következőn keresztül:


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.
  • Engedélyezze a Naplóelemzést a Power BI-hoz a Power BI felügyeleti portálján.

A következő szakaszok végigvezetik a két lépésen.

Képernyőkép a Beállítások panelen megnyitott Azure-kapcsolatok lapról.

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.

  1. 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 Beállítások szakaszban válassza az Erőforrás-szolgáltatók lehetőséget az alábbi képen látható módon.

    Képernyőkép a Beállítások menü beállításairól, az erőforrás-szolgáltatók ki vannak választva.

  2. Keressen rá a microsoft.insights kifejezésre az Erőforrás-szolgáltatók területen. Ezután kattintson a Regisztrálás elemre.

    Képernyőkép a fő panelen lévő erőforrás-szolgáltatókról a Microsoft.insights használatával.

Engedélyek beállítása

  1. 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:

    Képernyőkép a Hozzáférés-vezérlés panelről, kiemelt szerepkörrel.

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 felügyeleti portálján.

Munkaterületszintű naplózás engedélyezése a felügyeleti 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.

  1. A Power BI Felügyeleti portálon nyissa meg a Bérlői beállítások > naplózási és használati beállításait, é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ó.

    Képernyőkép a bérlői beállításokról a Felügyeleti portálon. A munkaterület-rendszergazdák Azure Log Analytics-kapcsolatai kibővültek és engedélyezve lesznek.

Naplózás konfigurálása prémium szintű munkaterületen

  1. A Prémium munkaterületen a munkaterület rendszergazdái engedélyezhetik a Log Analytics szolgáltatást. Ehhez lépjen a Beállítások elemre az alábbi képen látható módon.

    Képernyőkép a Prémium szintű munkaterület Beállítások paneljéről.

  2. A Beállítások panelen válassza az Azure-kapcsolatok lehetőséget, majd bontsa ki a Log Analyticst az alábbi képen látható módon.

    Képernyőkép a Beállítások panelen megnyíló Azure-kapcsolatok lapról, a Log Analytics ki van bontva.

  3. 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.

    Képernyőkép az Azure-kapcsolatok lapról a beállítások panelen, ahol a mintaadatok láthatók.

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 nyissa meg a Log Analytics beállításait a Power BI-munkaterület beállításai között. 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.

Képernyőkép a kapcsolat bontására vonatkozó figyelmeztetésről a Beállítások panelen.

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
  • VertiPaqSEQuery
  • É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 Analysis Services-nyomkövetési esemény. Az egyes kategóriák lehetséges eseményeiről az AS Trace Events dokumentációs oldalán talál további információt.
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 A naplórekordhoz társított Analysis Services nyomkövetési eseménykategória. A lehetséges eseménykategóriákról további információt az AS Trace Events dokumentációs oldalán talál.
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 információ a naplórekordhoz társított Analysis Services nyomkövetési eseményről. A lehetséges értékekkel kapcsolatos további részletekért tekintse meg a nyomkövetési esemény dokumentációjának "Alosztály" tulajdonságát, például a Command Beginet.
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.
datasourceConnectionThrottleTimeMs 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.
externalQueryExecutionTimeMs A kérés során az összes külső adatforrás-lekérdezés végrehajtásával töltött teljes idő.
directQueryConnectionTimeMs 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 Vertipaq 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.
tabularConnectionTimeoutMs 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 Vertipaq 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)
commandType Az ügyfél által kért Analysis Services-parancs típusa (pl. Batch, Utasítás, Biztonsági mentés,...)
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.

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.