Konfigurácia Azure Log Analytics pre Power BI
Služba Power BI sa integruje so službou Azure Log Analytics, čím správcom a vlastníkom pracovných priestorov Premium umožňuje nakonfigurovať pripojenie služby Log Analytics k ich predplatnému na Power BI. Tento článok popisuje, ako funguje integrácia medzi službou Log Analytics a Power BI a ako ju nakonfigurovať pre vaše prostredie.
Existujú dva prvky, pomocou ktorých služba Azure Log Analytics funguje v službe Power BI:
- Nakonfigurujte svoje predplatné služby Azure na portáli Azure.
- Povoľte funkciu Log analytics pre Power BI na portáli na správu služby Power BI.
Nasledujúce časti vás prejdú krokmi v téme , aby ste v oboch mohli postupovať.
Požiadavky
Pred nakonfigurovaním integrácie služby Log Analytics zo služby Power BI je potrebné na portáli Azure vytvoriť pracovný priestor služby Log Analytics. V službe Azure musíte tiež udeliť povolenie pre služba Power BI zapisovať denníky. Presné požiadavky sú:
- Prístup prispievateľa k predplatnému služby Azure.
- Zaregistrujte poskytovateľa prostriedkov microsoft.insights v predplatnom Azure, kde budete zhromažďovať údaje denníka služby Power BI.
- Používateľ, ktorý nastaví integráciu služby Log Analytics v službe Power BI, musí byť v role prispievateľa služby Log Analytics v pracovnom priestore služby Log Analytics. Ak rolu Vlastník nemožno poskytnúť, pozrite si najčastejšie otázky o alternatívnych riešeniach.
Povolenie poskytovateľa prostriedkov microsoft.insights
Log Analytics vyžaduje, aby bol poskytovateľ prostriedkov microsoft.insights povolený na úrovni predplatného Azure. Proces sa prevedie nasledujúcimi krokmi.
Prihláste sa na portál Azure, vyberte predplatné, ktoré chcete používať so službou Log Analytics a ktorá obsahuje vaše pracovné priestory služby Log Analytics. V časti Nastavenia vyberte položku Poskytovatelia zdrojov , ako je to znázornené na nasledujúcom obrázku.
Vyhľadajte microsoft.insights v časti Poskytovatelia zdrojov. Potom vyberte položku Registrovať.
Nastavenie povolení
Uistite sa, že používateľ, ktorý konfiguruje integráciu služby Log Analytics, má v pracovnom priestore služby Log Analytics rolu Prispievateľa do služby Log Analytics. Keď na portáli Azure vyberiete pre predplatné riadenie prístupu (IAM) a potom v paneli vyberiete položku Priradenia roly , aktuálny používateľ musí zobraziť jednu položku: Prispievateľ log Analytics pre používateľa, ktorý konfiguruje Službu Log Analytics:
Po dokončení týchto krokov sa dokončí konfigurácia služby Azure Log Analytics. V ďalšej časti sa dozviete, ako pokračovať a dokončiť konfiguráciu na portáli na správu služby Power BI.
Povoliť zapisovanie do denníka na úrovni pracovného priestoru z portálu na správu
Ak chcete povoliť službu Azure Log Analytics pre pracovné priestory služby Power BI Premium, správca služby Power BI musí dokončiť tento krok. Toto nastavenie umožňuje správcom pracovného priestoru služby Power BI Premium odosielať denníky svojho pracovného priestoru do služby Azure Log Analytics po splnení predpokladov.
Na portáli na správu služby Power BI prejdite do časti Nastavenia > nájomníka Nastavenia auditu a používania a rozbaľte pripojenia služby Azure Log Analytics pre správcov pracovného priestoru. Ak chcete správcom pracovného priestoru povoliť službu Log Analytics, nastavte jazdec na možnosť Povolené a v časti Použiť na zadajte potrebné skupiny zabezpečenia, ako je to znázornené na nasledujúcom obrázku.
Konfigurácia zapisovania do denníka v pracovnom priestore Premium
V pracovnom priestore Premium môžu správcovia pracovného priestoru povoliť službu Log Analytics. Ak to chcete urobiť, prejdite do časti Nastavenia , ako je to znázornené na nasledujúcom obrázku.
Na table Nastavenia vyberte položku Pripojenia Azure a potom rozbaľte položku Log Analytics, ako je to znázornené na nasledujúcom obrázku.
Vyberte predplatné Azure, skupinu zdrojov a potom pracovný priestor Log Analytics nakonfigurovaný v predchádzajúcej časti. Potom vyberte položku Uložiť. Po úspešnom dokončení by rozbalená časť Log Analytics na úrovni nájomníka mala vyzerať podobne ako na nasledujúcom obrázku.
Odpojenie služby Azure Log Analytics
Ak chcete zastaviť odosielanie denníkov do služby Azure, od služby Azure Log Analytics sa môžete odpojiť. Ak to chcete odpojiť, v nastaveniach pracovného priestoru služby Power BI prejdite do nastavení log analytics. Vyberte položku Odpojiť zo služby Azure. Potom vyberte položku Uložiť , aby ste sa odpájali.
Poznámka
Keď odpojíte pracovný priestor služby Power BI zo služby Azure Log Analytics, denníky sa neodstránia. Vaše údaje zostanú a dodržiavajte politiky ukladania a uchovávania údajov, ktoré ste nastavili.
Scenáre používania
Existuje mnoho spôsobov, ktorými môžu služby Azure Log Analytics a Power BI vo vašej organizácii riešiť reálne výzvy. Zvážte nasledujúce:
- Identifikujte obdobia vysokej alebo nezvyčajnej aktivity nástroja Analysis Services podľa kapacity, pracovného priestoru, zostavy alebo používateľa.
- Analyzujte výkon dotazov a trendy vrátane externých operácií režimu DirectQuery.
- Analyzujte trvanie obnovenia sémantického modelu, prekrývania a kroky spracovania.
- Analyzujte vlastné operácie odoslané pomocou koncového bodu XMLA Premium.
Pošlite nám pripomienky v Komunita Power BI o tom, ako používate zapisovanie do denníka a ako to pomohlo vašej organizácii.
Podmienky chýb a ich riešenia
Nasledujúca tabuľka obsahuje kolekciu bežných chýb, udalostí alebo konfigurácií, ktoré ich spustili, a navrhované riešenia.
Spúšťacia podmienka | Typ | Správa |
---|---|---|
Nemáte povolenie zapisovať do pracovného priestoru služby Log Analytics | Chyba – nemôže pokračovať | Na pripojenie k službe Power BI potrebujete povolenia na zápis v tomto pracovnom priestore služby Log Analytics. Ak chcete vyriešiť tento problém, obráťte sa na osobu vo vašej organizácii, ktorá spravuje predplatné služby Azure. |
Nemáte povolenie zapisovať do konta pracovného priestoru služby Log Analytics | Chyba – nemôže pokračovať | Na pripojenie k službe Power BI potrebujete povolenia na zápis v tomto pracovnom priestore služby Log Analytics. |
Nemáte prístup k žiadnemu predplatnému služby Azure | Chyba – nemôže pokračovať | Nemáte prístup k žiadnemu predplatnému služby Azure. Požiadajte osobu, ktorá spravuje predplatné služby Azure vo vašej organizácii, aby vám udelila prístup prispievateľa alebo novšiu verziu. |
V rámci tohto predplatného nemáte prístup k žiadnym pracovným priestorom služby Azure Log Analytics | Chyba – nemôže pokračovať | Nemáte prístup k pracovnému priestoru služby Azure Log Analytics. Požiadajte osobu, ktorá spravuje predplatné služby Azure vo vašej organizácii, aby vás pridala do roly vlastníka služby Log Analytics alebo prispievateľa. |
Pri pokuse o pripojenie je analýza denníka na úrovni pracovného priestoru zakázaná | Informácia | Požiadajte správcu nájomníka o udelenie povolenia správcom pracovného priestoru na pripojenie pracovných priestorov služby Log Analytics. |
Pri pokuse o odpojenie je služba Log Analytics na úrovni pracovného priestoru zakázaná | Informácia | Správca nájomníka zrušil správcom pracovného priestoru povolenie pripojiť vlastné pracovné priestory služby Azure Log Analytics. Ak sa odpojíte, nemôžete sa pripojiť k inému. |
Udalosti a schéma
Po povolení služby Azure Log Analytics sa začnú zapisovať do denníka nasledujúce kategórie udalostí. Ďalšie informácie o týchto udalostiach nájdete v téme Udalosti sledovania služby Analysis Services.
- AggregateTableRewriteQuery
- Command
- Uviaznutie
- DirectQuery,
- Zisťovanie
- Chyba
- ProgressReport
- Query
- Inicializácia relácie
- VertiPaqSEQuery
- Oznámenie
Táto schéma sa popisuje v nasledujúcej tabuľke.
Vlastnosť | Existujúca vlastnosť Azure Analysis Services | Description |
---|---|---|
TimeGenerated (Generované časom) | Časová pečiatka (UTC) znázorňujúca vygenerované denníky. | |
Názov operácie | EventClass_s | Udalosť sledovania služby Analysis Services priradená k záznamu denníka. Ďalšie podrobnosti o možných udalostiach jednotlivých kategórií nájdete na stránke dokumentácie k udalostiam sledovania AS. |
CorrelationId | ID pre korelované udalosti. Možno použiť na identifikáciu korelovaných udalostí medzi viacerými tabuľkami. | |
PowerBIWorkspaceId | Jedinečný identifikátor pracovného priestoru obsahujúceho spracovávaný artefakt. | |
PremiumCapacityId | Jedinečný identifikátor kapacity Premium, ktorá je hostiteľom spracovávaného artefaktu. | |
ApplicationContext | ApplicationContext_s | Vreca vlastností s jedinečnými identifikátormi poskytujúcimi podrobnosti o aplikácii vykonávajúcej žiadosť. napríklad ID zostavy. |
Názov aplikácie | ApplicationName_s | Obsahuje názov klientskej aplikácie, ktorá vytvorila pripojenie k serveru. Tento stĺpec sa vyplní hodnotami odovzdanými aplikáciou, a nie zobrazeným názvom programu. |
Id artefaktu | Jedinečný identifikátor zdroja, ktorý zaznamenáva údaje. | |
ArtefaktKind | Typ artefaktu do denníka operácie, napríklad sémantický model. | |
CpuTimeMs | CPUTime_s | Množstvo času procesora (v milisekundách) použitého udalosťou. |
Názov artefaktu | DatabaseName_s | Názov artefaktu služby Power BI do denníka tejto operácie. |
LogAnalyticsCategory | Jedinečné | Kategória udalosti sledovania služby Analysis Services priradená k záznamu denníka. Ďalšie podrobnosti o možných kategóriách udalostí nájdete na stránke dokumentácie k udalostiam sledovania AS. |
Režim množiny údajov | Režim sémantického modelu. Import, DirectQuery alebo zložený. | |
DurationMs (Parametre trvania) | Duration_s | Čas potrebný operáciou (v milisekundách). |
Užívateľ | User_s | Používateľ priradený k spustenej operácii. Používa sa v prípade, keď je na serveri nutné zosobniť identitu koncového používateľa. |
ExecutingUser (VykonávajúciPouýšer) | EffectiveUsername_s | Používateľ spustil operáciu. |
OperationDetailName | EventSubclass_s | Ďalšie podrobnosti o udalosti sledovania služby Analysis Services priradenej k záznamu denníka. Ďalšie podrobnosti o možných hodnotách nájdete na stránke dokumentácie k vlastnosti Subclass (Podtrieda), napríklad Command Begin (Začiatok príkazu). |
XmlaObjectPath | ObjectPath_s | Cesta k objektu. Zoznam nadradených položiek oddelených čiarkou začínajúci nadradenou položkou objektu. |
PowerBIWorkspaceName | Názov pracovného priestoru služby Power BI obsahujúceho artefakt. | |
StatusCode (Kód stavu) | Error_s | Kód stavu operácie. Pokrýva úspech a neúspech. |
ProgressCounter | ProgressTotal_s | Počítadlo priebehu. |
XmlaProperties | RequestProperties_s | Vlastnosti požiadavky XMLA. |
XmlaSessionId | SPID_s | Identifikátor relácie služby Analysis Services. |
Úroveň | Severity_s | Obsahuje úroveň závažnosti zaznamenávanej operácie. Success (Úspech), Informational (Informačné), Warning (Upozornenie) alebo Error (Chyba). |
Identita | Informácie o používateľovi a nárokoch. | |
Postavenie | Stav operácie. | |
Text Udalosti | TextData_s | Obsahuje podrobné informácie súvisiace s operáciou, napríklad dotaz DAX. |
CustomerTenantId | Identifikátor nájomníka služby Power BI zákazníka. | |
XmlaRequestId | RootActivityId_g | Jedinečný identifikátor požiadavky. |
ReplicaId | Identifikátor replica, ktorý vám umožní identifikovať repliku pri povolení funkcie Query Scale Out (QSO ). Read-write replika vždy replicaId = 'AAA' a čítanie-len repliky majú ReplicaId začína 'AAB' ďalej. V prípade sémantických modelov nepovolených QSO je ReplicaId vždy "AAA" |
Udalosť ExecutionMetrics
Pre každú požiadavku zisťovania, príkazu a dotazu sa na konci žiadosti vytvorí udalosť s názvom ExecutionMetrics . Táto udalosť obsahuje metriky vykonávania pre požiadavku, ktoré vám môžu pomôcť pri účinnej diagnostike a riešení problémov. Sledovanie ExecutionMetrics koreluje s najbližšou tabuľkou [Zistiť|Command|Query]End event.
Nasledujúci dotaz KQL načíta udalosti ExecutionMetrics pre všetky operácie obnovenia sémantického modelu za posledný deň:
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
Nasledujúci dotaz KQL načíta udalosti, ktoré boli v poslednom dni obmedzené pracovným priestorom, položkou a používateľom:
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
Štatistiky sú uvedené ako text JSON vo vlastnosti EventText a pozrite si nasledujúce príklady.
{
"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
}
V nasledujúcej tabuľke sú popísané všetky možné vlastnosti. Nie každá vlastnosť sa v každej udalosti vynechá, pretože obsah bude závisieť od požiadavky a sémantického modelu.
Vlastnosť | Description |
---|---|
timeStart | Časová pečiatka (UTC) začiatku žiadosti. |
timeEnd (časový server) | Časová pečiatka (UTC) dátumu skončenia žiadosti. |
durationMs (trvania) | Celkové trvanie spustenia. |
datasourceConnectionThrottleTimeMs | Celkový čas obmedzenia po dosiahnutí limitu pripojenia zdroja údajov. Ďalšie informácie o maximálnych súbežných pripojeniach nájdete tu. |
externalQueryExecutionTimeMs | Celkový čas strávený vykonávaním všetkých dotazov externého zdroja údajov počas požiadavky. |
directQueryConnectionTimeMs | Celkový čas strávený vytváraním nového pripojenia DirectQuery počas žiadosti |
directQueryIterationTimeMs | Celkový čas strávený iteráciou výsledkov vrátených dotazmi DirectQuery. |
directQueryTotalTimeMs | Celkový čas strávený vykonávaním a čítaním všetkých dotazov DirectQuery počas požiadavky. |
executionDelayMs | Celkový čas strávený čakaní na dostupnosť vlákna motora služby Analysis Services. |
totalCpuTimeMs | Celkový čas procesora žiadosti. |
vertipaqJobCpuTimeMs | Celkový čas procesora strávený motorom Vertipaq. |
mEngineCpuTimeMs | Celkový čas procesora strávený motorom PowerQuery. |
queryProcessingCpuTimeMs | Celkový čas procesora strávený úlohami na vlákne fondu vlákien dotazov služby Analysis Services. |
approximatePeakMemoryConsumptionKB | Približná maximálna celková spotreba pamäte počas požiadavky. |
mEnginePeakMemoryKB | Približná veľkosť potvrdenia maximálnej pamäte (v kilobajtoch) vo všetkých kontajneroch mashup modulu PowerQuery. |
directQueryTimeoutMs | Časový limit spojený s dotazmi DirectQuery. |
externalQueryTimeoutMs (externalQueryTimeoutMs) | Časový limit priradený dotazom k externým zdrojom údajov. |
tabularConnectionTimeoutMs | Časový limit priradený k externým tabuľkovým pripojeniam zdroja údajov (e.g. SQL). |
refreshParallelism (obnovenie) | Effective MaxParallelism used in the request. |
vertipaqTotalRows | Celkový počet riadkov spracovaných nástrojom Vertipaq počas operácie obnovenia. |
queryResultRows | Celkový počet riadkov vrátených ako výsledok dotazu JAZYKA DAX. |
directQueryTotalRows | Celkový počet riadkov prečítaných z rôznych dotazov DirectQuery. |
directQueryRequestCount | Celkový počet dotazov nástroja DirectQuery ukladacieho priestoru, ktoré vykonal nástroj DAX. |
errorCount (Počet chýb) | Celkový počet chýb aktuálnej požiadavky. |
QsoReplicaVersion | Replika verzie pre sémantické modely povolené QSO, zastúpené vo formáte FILETIME . |
intendedUsage (zamýšľané použitie) | Zamýšľané použitie: Predvolené (0); Plánované alebo obnovenie rozhrania API (1); Obnovenie na požiadanie (2); Dlaždica tabule alebo obnovenie vyrovnávacej pamäte dotazov (3) |
commandType (Typ príkazu) | Typ príkazu Analysis Services požadovaného klientom (napríklad Batch, Statement, Backup,...) |
discoverType (zistiť typ) | Typ zisťovania požadovaného klientom. Zoznam typov objavovania nájdete v časti EventSubclass. |
queryDialect | Typ klienta Diallect sa používa na dotazovanie servera: Neznámy (-1); MDX (0); DMX (1); SQL (2); DAX (3); JSON (4) |
capacityThrottlingMs | Celkový čas oneskorenia žiadosti z dôvodu obmedzenia kapacity. Ďalšie informácie o obmedzovaní tu. |
- Všetky trvania a čas procesora sú uvedené v milisekundách.
- Môžu sa vyskytnúť ďalšie vlastnosti nad rámec tých, ktoré sú popísané v tabuľke vyššie, a tieto vlastnosti by sa mali považovať za neregulárne a podliehajú zmenám.
Vzorové dotazy KQL služby Log Analytics
Nasledujúca kolekcia vzorových dotazov môže byť užitočná, ak používate službu Azure Log Analytics so službou Power BI. Je možné ich spustiť priamo na portáli Azure alebo prostredníctvom rozhraní API na dotazovanie najnovších údajov, zvyčajne starých približne 5 až 10 minút.
// 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
Vzorová šablóna zostavy Power BI
Preskúmajte a získajte prehľad o údajoch služby Power BI v službe Azure Log Analytics pomocou opensourceovej šablóny zostavy Power BI v službe GitHub.
Súvisiaci obsah
Nasledujúce články vám môžu pomôcť získať ďalšie informácie o službe Power BI a o jej integrácii so službou Azure Log Analytics.