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

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 Gépház szakaszban válassza ki az erőforrás-szolgáltatókat 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 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.

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

    Képernyőkép a Rendszergazda portál bérlői beállításairól. 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 Gépház 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 Gépház panelen válassza az Azure-kapcsolatokat, 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 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.

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

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.