Jaa


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.

Näyttökuva Asetukset-ruudussa avautuvasta Azuren Yhteydet-välilehdestä.

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.

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

    Näyttökuva asetukset-valikon vaihtoehdoista, resurssipalveluntarjoaja on valittuna.

  2. Hae microsoft.insights kohdasta Resurssipalvelut. Valitse sitten Rekisteröi.

    Näyttökuva resurssien tarjoajista pääruudussa, jossa Microsoft.insights on rekisteröity.

Määritä käyttöoikeudet

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

    Näyttökuva käyttöoikeuksien valvontaruudusta, jossa rooli on korostettuna.

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.

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

    Näyttökuva vuokraajan asetuksista hallintaportaalissa. Azure Log Analytics -yhteydet työtilan järjestelmänvalvojille laajennetaan ja otetaan käyttöön.

Premium-työtilan kirjautumisen määrittäminen

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

    Näyttökuva Premium-työtilan Asetus-ruudusta.

  2. Valitse Asetukset-ruudussa Azure-yhteydet ja laajenna Log Analytics seuraavassa kuvassa esitetyllä tavalla.

    Näyttökuva Asetukset-ruudussa avautuvasta Azuren Yhteydet-välilehdestä, Jossa Log Analytics laajennetaan.

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

    Näyttökuva Azuren Yhteydet-välilehdestä, joka on avoinna Asetukset-ruudussa ja jossa näkyvät mallitiedot.

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 .

Näyttökuva asetukset-ruudun katkaisemisvaroituksesta.

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.

Seuraavista artikkeleista saat lisätietoja Power BI:stä ja sen integroinnista Azure Log Analyticsiin.