Azure Log Analyticsin määrittäminen Power BI:tä varten
Power BI integroi Azure Log Analyticsin, jotta järjestelmänvalvojat ja Premium-työtilan omistajat voivat määrittää Log Analytics -yhteyden Power BI -tilaukseensa. Tässä artikkelissa kuvataan, miten Log Analyticsin ja Power BI:n välinen integrointi toimii ja miten se määritetään ympäristöösi.
Azure Log Analyticsin saamisessa käyttöön Power BI:ssä on kaksi elementtiä:
- Määritä Azure-tilauksesi Azure-portaali.
- Ota Power BI:n lokianalytiikka käyttöön Power BI -hallintaportaalissa.
Seuraavissa osioissa käydään läpi molempien vaiheet.
Edellytykset
Ennen kuin voit määrittää Log Analytics -integroinnin Power BI:stä, sinun on luotava Log Analytics -työtila Azure-portaali. Sinun on myös annettava Azuressa Käyttöoikeus Power BI -palveluun lokien kirjoittamiseksi. Tarkat vaatimukset ovat:
- Osallistujan käyttöoikeus Azure-tilaukseen.
- Rekisteröi microsoft.insights-resurssipalvelu Azure-tilaukseen, jossa keräät Power BI -lokitietoja.
- Käyttäjän, joka määrittää Log Analytics -integroinnin Power BI:hin, on oltava Log Analytics Contributor -roolissa Log Analytics -työtilassa. Jos Omistaja-roolia ei voi antaa, tarkista vaihtoehtoisten ratkaisujen usein kysytyt kysymykset.
Microsoft.insights-resurssipalvelun käyttöönotto
Log Analytics edellyttää microsoft.insights-resurssipalvelua, joka on otettu käyttöön Azure-tilauksen tasolla. Seuraavat vaiheet vievät sinut prosessin läpi.
Kirjaudu sisään Azure-portaali, valitse tilaus, jota haluat käyttää Log Analytics -toiminnossa ja joka sisältää Log Analytics -työtilasi. Valitse Asetukset-osiossa Resurssipalvelut seuraavassa kuvassa esitetyllä tavalla.
Hae microsoft.insights kohdasta Resurssipalvelut. Valitse sitten Rekisteröi.
Määritä käyttöoikeudet
Varmista, että Log Analytics -integrointia määrittävällä käyttäjällä on Log Analytics Contributor -rooli Log Analytics -työtilassa. Kun valitset Azure-portaali tilauksen käyttöoikeuksien valvonnan (IAM) ja valitset sitten roolimääritykset paneelin ylimmistä valinnoista, nykyisen käyttäjän on nähtävä yksi merkintä: Log Analytics Contributor käyttäjälle, joka määrittää Log Analytics -toiminnon:
Kun olet suorittanut nämä vaiheet, Azure Log Analytics -määritysosa on valmis. Seuraavassa osiossa kerrotaan, miten voit jatkaa ja viimeistellä määritykset Power BI -hallintaportaalissa.
Salli työtilatason kirjaaminen hallintaportaalista
Power BI -järjestelmänvalvojan on suoritettava seuraava vaihe, jotta Azure Log Analytics voidaan ottaa käyttöön Power BI Premium -työtiloissa. Tämän asetuksen avulla Power BI Premium -työtilan järjestelmänvalvojat voivat lähettää työtilalokinsa Azure Log Analyticsiin, kun edellytykset täyttyvät.
Siirry Power BI -hallintaportaalissa kohtaan Vuokraaja-asetuksetValvonta>- ja käyttöasetukset ja laajenna Azure Log Analytics -yhteydet työtilan järjestelmänvalvojille. Jotta työtilan järjestelmänvalvojat voivat ottaa Log Analyticsin käyttöön, aseta liukusäädin asentoon Käytössä ja määritä tarvittavat käyttöoikeusryhmät Käytä kohteeseen -kohdassa seuraavan kuvan mukaisesti.
Premium-työtilan kirjautumisen määrittäminen
Premium-työtilassa työtilan järjestelmänvalvojat voivat ottaa Log Analytics -toiminnon käyttöön. Voit tehdä tämän siirtymällä kohtaan Asetukset seuraavassa kuvassa esitetyllä tavalla.
Valitse Asetukset-ruudussa Azure-yhteydet ja laajenna Log Analytics seuraavassa kuvassa esitetyllä tavalla.
Valitse Azure-tilaus, resurssiryhmä ja sitten edellisessä osiossa määritetty Log Analytics -työtila. Valitse sitten Tallenna. Kun tämä onnistuu, laajennetun vuokraajatason lokianalyysi-osion pitäisi näyttää seuraavan kuvan kaltaiselta.
Azure Log Analyticsin irrottaminen
Voit lopettaa lokien lähettämisen Azureen katkaisemalla yhteyden Azure Log Analyticsiin. Jos haluat katkaista yhteyden, siirry Power BI -työtilan asetuksissa Log Analytics -asetuksiin. Valitse Katkaise yhteys Azureen. Katkaise yhteys valitsemalla Tallenna .
Muistiinpano
Kun katkaiset Power BI -työtilan yhteyden Azure Log Analyticsiin, lokeja ei poisteta. Tiedot pysyvät tallennus- ja säilytyskäytäntöjen mukaisesti.
Käyttöskenaariot
Azure Log Analytics ja Power BI voivat auttaa ratkaisemaan organisaatiosi todellisia haasteita monin tavoin. Ota seuraavat asiat huomioon:
- Tunnista korkean tai epätavallisen Analysis Services -moduulin toiminnan jaksot kapasiteetin, työtilan, raportin tai käyttäjän mukaan.
- Analysoi kyselyn suorituskykyä ja trendejä, mukaan lukien ulkoisia DirectQuery-toimintoja.
- Analysoi semanttisen mallin päivityksen kestoa, päällekkäisyyksiä ja käsittelyvaiheita.
- Analysoi premium-XMLA-päätepisteen avulla lähetettyjä mukautettuja toimintoja.
Lähetä meille Power BI -yhteisössä palautetta siitä, miten kirjaudut ja miten se on auttanut organisaatiotasi.
Virhe-ehdot ja ratkaisut
Seuraavassa taulukossa on kokoelma yleisiä virheitä, ne käynnistäneet tapahtumat tai kokoonpanot sekä ehdotetut ratkaisut.
Käynnistimen ehto | Tyyppi | Sanoma |
---|---|---|
Sinulla ei ole oikeuksia kirjoittaa Log Analytics -työtilaan | Virhe – ei voi jatkaa | Tarvitset kirjoitusoikeudet tähän Log Analytics -työtilaan, jotta voit yhdistää sen Power BI:hin. Voit korjata ongelman ottamalla yhteyttä organisaatiosi henkilöön, joka hallitsee Azure-tilauksia. |
Sinulla ei ole oikeutta kirjoittaa Log Analytics -työtilatiliin | Virhe – ei voi jatkaa | Tarvitset kirjoitusoikeudet tähän Log Analytics -työtilaan, jotta voit yhdistää sen Power BI:hin. |
Sinulla ei ole käyttöoikeuksia mihinkään Azure-tilauksiin | Virhe – ei voi jatkaa | Sinulla ei ole käyttöoikeuksia mihinkään Azure-tilauksiin. Pyydä organisaatiosi Azure-tilauksia hallinnoivalta henkilöltä, että hän myöntää sinulle osallistujan käyttöoikeuden tai sitä korkeamman käyttöoikeuden. |
Sinulla ei ole käyttöoikeutta mihinkään Azure Log Analytics -työtiloihin kyseisessä tilauksessa | Virhe – ei voi jatkaa | Sinulla ei ole azure log analytics -työtilan käyttöoikeutta. Pyydä organisaatiosi Azure-tilauksia hallinnoivalta henkilöltä lisäämään sinut Log Analytics -omistaja- tai osallistujarooliin. |
Työtilatason lokianalyysi poistettu käytöstä yhdistettäessä | Tiedot | Pyydä vuokraajan järjestelmänvalvojaa myöntämään työtilan järjestelmänvalvojille oikeus yhdistää Log Analytics -työtilat. |
Työtilatason lokianalyysi poistettu käytöstä, kun yhteyttä yritetään katkaista | Tiedot | Vuokraajan järjestelmänvalvoja on kumonnut työtilan järjestelmänvalvojien oikeuden yhdistää omat Azure Log Analytics -työtilansa. Jos katkaiset yhteyden, et voi muodostaa yhteyttä toiseen. |
Tapahtumat ja rakenne
Kun olet ottanut Azure Log Analyticsin käyttöön, se alkaa kirjata lokiin seuraavia tapahtumaluokkia. Lisätietoja näistä tapahtumista on artikkelissa Analysis Servicesin tapahtumien jäljitys.
- AggregateTableRewriteQuery
- Komento
- Umpikuja
- DirectQuery
- Tutustu
- Virhe
- ProgressReport
- Kysely
- Session Initialize
- VertiPaqSEQuery
- Ilmoitus
Rakenne kuvataan seuraavassa taulukossa.
Ominaisuus | Aiemmin luotu Azure Analysis Services -ominaisuus | Kuvaus |
---|---|---|
TimeGenerated | Lokin luonnin aikaleima (UTC). | |
Toiminnon nimi | EventClass_s | Lokitietueeseen liittyvä Analysis Services -jäljitystapahtuma. Katso AS Trace Events - dokumentaatiosivulta lisätietoja kunkin luokan mahdollisista tapahtumista. |
Korrelaatiotunnus | Korreloitujen tapahtumien tunnus. Voidaan käyttää useiden taulukoiden välisten korreloitujen tapahtumien tunnistamiseen. | |
PowerBIWorkspaceId | Sen työtilan yksilöllinen tunnus, joka sisältää käsiteltävän artefaktin. | |
PremiumCapacityId | Sen Premium-kapasiteetin yksilöllinen tunnus, joka isännöi käsiteltävää artefaktia. | |
ApplicationContext | ApplicationContext_s | Ominaisuussäiikki yksilöiviä tunnisteita, jotka antavat tietoja pyynnön suorittaneiden sovellusten ominaisuuksista. Esimerkiksi raporttitunnus. |
Sovelluksen nimi | ApplicationName_s | Sisältää sen asiakassovelluksen nimen, joka loi yhteyden palvelimeen. Tämä sarake täytetään sovelluksen välittämillä arvoilla eikä ohjelman näytetyllä nimellä. |
ArtifactId | Yksilöivä tunnus resurssille, joka kirjaa tiedot. | |
ArtifactKind | Toiminnon kirjaavan artefaktin tyyppi, esimerkiksi semanttinen malli. | |
Suoritin-, aika- ja aikakoneet | CPUTime_s | Tapahtuman käyttämä suoritinaika (millisekunteja). |
ArtifactName | DatabaseName_s | Tämän toiminnon kirjaavan Power BI -artefaktin nimi. |
LogAnalyticsCategory | Yksilöivä | Analysis Servicesin jäljityslokitietueeseen liittyvä tapahtumaluokka. Lisätietoja mahdollisista tapahtumaluokista on AS Trace Events - dokumentaatiosivulla . |
DatasetMode | Semanttisen mallin tila. Tuonti, DirectQuery tai Yhdistelmä. | |
Keston kestoajat | Duration_s | Toiminnon käyttämä aika (millisekunteja). |
Käyttäjä | User_s | Käynnissä-toimintoon liittyvä käyttäjä. Tätä käytetään, kun käyttäjätietona on tekeydyttävä palvelimessa. |
ExecutingUser | EffectiveUsername_s | Toimintoa suorittävä käyttäjä. |
OperationDetailName | EventSubclass_s | Lisätietoja lokitietueeseen liittyvästä Analysis Services -jäljitystapahtumasta. Katso lisätietoja mahdollisista arvoista kohdasta Jäljitystapahtuman dokumentaatiosivun Subclass-ominaisuus, esimerkiksi Komennon alku. |
XmlaObjectPath | ObjectPath_s | Objektin polku. Pilkuin eroteltu luettelo pääkohteista, alkaa objektin pääkohteesta. |
PowerBIWorkspaceName | Artefaktin sisältävän Power BI -työtilan nimi. | |
StatusCode | Error_s | Toiminnon tilakoodi. Se kattaa onnistumisen ja epäonnistumisen. |
ProgressCounter | ProgressTotal_s | Edistymislaskuri. |
XmlaProperties | RequestProperties_s | XMLA-pyynnön ominaisuudet. |
XmlaSessionId | SPID_s | Analysis Services -istunnon tunnus. |
Taso | Severity_s | Sisältää kirjatavan toiminnon vakavuustason. Onnistui, Tiedottava, Varoitus tai Virhe. |
Identiteetti | Käyttäjää ja väitteitä koskevat tiedot. | |
Tila | Toiminnon tila. | |
EventText | TextData_s | Sisältää toimintoon liittyviä yksityiskohtaisia tietoja, kuten DAX-kyselyn. |
CustomerTenantId | Asiakkaan Power BI -vuokraajan tunniste. | |
XmlaRequestId | RootActivityId_g | Pyynnön yksilöllinen tunnus. |
ReplicaId | Replikatunnus, jonka avulla voit tunnistaa replikan, kun Kyselyn skaalaus ulos (QSO) on käytössä. Luku/kirjoitus-replikoissa on aina ReplicaId='AAA' ja vain luku -replikoissa On ReplicaId-tunnus, joka alkaa AAB-mittarista eteenpäin. Muissa kuin QSO:ta käyttävissä semanttisissa malleissa ReplicaId on aina AAA. |
ExecutionMetrics-tapahtuma
Jokaista löytö-, komento - ja kyselypyyntöä varten luodaan pyynnön lopussa tapahtuma nimeltä ExecutionMetrics . Tämä tapahtuma sisältää pyynnön suoritustiedot, mikä voi auttaa sinua vianmäärityksessä ja vianmäärityksessä entistä tehokkaammin. ExecutionMetrics-jäljitys korreloi lähimmän [Discover|Komento|Query]End-tapahtuma .
Seuraava KQL-kysely noutaa suoritusmittareiden tapahtumat kaikille semanttisen mallin päivitystoiminnoille viimeisen päivän aikana:
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
Seuraava KQL-kysely noutaa tapahtumat, jotka työtila, kohde ja käyttäjä ovat rajoittaneet viimeisen päivän aikana:
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
Tilastotiedot esitetään JSON-tekstinä EventText-ominaisuudessa seuraavissa esimerkeissä.
{
"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
}
Seuraavassa taulukossa kuvataan kaikki mahdolliset ominaisuudet. Jokaista ominaisuutta ei poisteta jokaisessa tapahtumassa, koska sisältö riippuu pyynnöstä ja semanttisesta mallista.
Ominaisuus | Kuvaus |
---|---|
timeStart | Pyynnön alkamisen aikaleima (UTC). |
timeEnd | Aikaleima (UTC), kun pyyntö on päättynyt. |
durationMs | Suorituksen kokonaiskesto. |
datasourceConnectionThrottleTimeMs | Aika, joka kuluu paljon tietolähteen yhteysrajoituksen ylittämisen jälkeen. Lue lisätietoja samanaikaisten yhteyksien enimmäismäärästä täältä. |
externalQueryExecutionTimeMs | Kaikkien ulkoisten tietolähdekyselyiden suorittamiseen pyynnön aikana käytetty kokonaisaika. |
directQueryConnectionTimeMs | Uuden DirectQuery-yhteyden luomiseen pyynnön aikana käytetty kokonaisaika |
directQueryIterationTimeMs | DirectQuery-kyselyiden palauttamien tulosten iterointiin käytetty kokonaisaika. |
directQueryTotalTimeMs | Kaikkien DirectQuery-kyselyiden suorittamiseen ja lukemiseen pyynnön aikana käytetty kokonaisaika. |
executionDelayMs | Analysis Services -moduulin säikeen käytettävyyden odottamiseen käytetty kokonaisaika. |
totalCpuTimeMs | Pyynnön suoritinaika yhteensä. |
vertipaqJobCpuTimeMs | Vertipaq-moduulin käyttämä suoritinaika yhteensä. |
mEngineCpuTimeMs | PowerQuery-moduulin käyttämä suoritinaika yhteensä. |
queryProcessingCpuTimeMs | Analysis Services -kyselyketjuketjussa tehtävien käyttämä suoritinaika yhteensä. |
approximatePeakMemoryConsumptionKB | Arvioitu muistin kokonaiskulutuksen huippuarvo pyynnön aikana. |
mEnginePeakMemoryKB | Likimääräinen huippumuistin vahvistuskoko (kilotavuina) kaikissa PowerQuery-moduulin koostesäilöissä. |
directQueryTimeoutMs | DirectQuery-kyselyihin liittyvä aikakatkaisu. |
externalQueryTimeoutMs | Ulkoisiin tietolähteisiin liittyviin kyselyihin liittyvä aikakatkaisu. |
tabularConnectionTimeoutMs | Ulkoisiin taulukkomuotoisiin tietolähdeyhteyksiin (e.g. SQL) liittyvä aikakatkaisu. |
refreshParallelism | Pyynnössä käytetty tehokas maxparallelismi. |
vertipaqTotalRows | Vertipaq-moduulin päivitystoiminnon aikana käsittelemien rivien kokonaismäärä. |
queryResultRows | DAX-kyselyn tuloksena palautettujen rivien kokonaismäärä. |
directQueryTotalRows | Eri DirectQuery-kyselyistä luettujen rivien kokonaismäärä. |
directQueryRequestCount | DAX-moduulin suorittamien DirectQuery-säilömoduulikyselyiden kokonaismäärä. |
errorCount | Nykyisen pyynnön virheiden kokonaismäärä. |
qsoReplicaVersion | Semanttisten QSO-mallien replikaversio, joka esitetään FILETIME-muodossa . |
intendedUsage | Aiottu käyttö: Oletus (0); ajoitettu tai ohjelmointirajapinnan päivitys (1); Pyydettäessä suoritettava päivitys (2); Koontinäytön ruutu / Kyselyn välimuistin päivitys (3) |
commandType | Asiakkaan pyytämän Analysis Services -komennon tyyppi (esimerkiksi erä, lauseke, varmuuskopiointi,...) |
discoverType | Asiakkaan pyytämä etsimisen tyyppi. Katso luettelo etsityistä tyypeistä eventSubclasssta. |
queryDialect | Murreasiakkaan tyyppi on tehnyt kyselyn palvelimelle: Tuntematon (-1); MDX (0); DMX (1); SQL (2); DAX (3); JSON (4) |
capacityThrottlingMs | Kokonaisaika, jonka pyyntö viivästyi kapasiteetin rajoittamisen vuoksi. Lue lisää rajoittamisesta täältä. |
- Kaikki kestot ja suoritinajat esitetään millisekunteja.
- Muita kuin yllä olevassa taulukossa kuvattuja ominaisuuksia saatetaan kohdata, ja niitä tulee pitää dokumentoimattomina ja ne voivat muuttua.
Malli Log Analytics KQL -kyselyistä
Seuraava esimerkkikyselykokoelma voi olla hyödyllinen, kun käytät Azure Log Analyticsia Power BI:n kanssa. Ne voidaan suorittaa suoraan Azure-portaali tai ohjelmointirajapintojen kautta kyselemään uusimpia tietoja, jotka ovat yleensä noin 5–10 minuuttia vanhoja.
// 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 -raporttimallimalli
Tutustu Azure Log Analyticsin Power BI -tietoihin ja hanki niistä merkityksellisiä tietoja avoimen lähdekoodin Power BI -raporttimallilla GitHubissa.
Liittyvä sisältö
Seuraavista artikkeleista saat lisätietoja Power BI:stä ja sen integroinnista Azure Log Analyticsiin.