Del via


Konfigurer Azure Log Analytics for Power BI

Power BI integrerer med Azure Log Analytics for å gjøre det mulig for administratorer og Eiere av Premium-arbeidsområder å konfigurere en Log Analytics-tilkobling til Power BI-abonnementet. Denne artikkelen beskriver hvordan integreringen mellom Log Analytics og Power BI fungerer, og hvordan du konfigurerer den for miljøet ditt.

Det finnes to elementer for å få Azure Log Analytics til å fungere for Power BI:

  • Konfigurer Azure-abonnementet i Azure-portalen.
  • Aktiver logganalyse for Power BI i administrasjonsportalen for Power BI.

De følgende inndelingene tar deg gjennom trinnene i å gjøre begge deler.

Skjermbilde av Azure-tilkoblingsfanen som er åpen i innstillingsruten.

Forutsetning

Før du kan konfigurere Log Analytics-integrering fra Power BI, må du opprette et log analytics-arbeidsområde i Azure-portalen. Du må også gi tillatelse i Azure for Power Bi-tjeneste til å skrive logger. De nøyaktige kravene er:

  • Bidragsytertilgang til Azure-abonnement.
  • Registrer ressursleverandøren microsoft.insights i Azure-abonnementet der du samler inn Power BI-loggdata.
  • Brukeren som konfigurerer Log Analytics-integrasjon i Power BI, må være i rollen Log Analytics Contributor for Log Analytics Workspace. Se vanlige spørsmål om midlertidige løsninger hvis eierrollen ikke kan gis.

Aktiver ressursleverandøren microsoft.insights

Log Analytics krever at ressursleverandøren microsoft.insights er aktivert på Azure-abonnementsnivå. Følgende trinn tar deg gjennom prosessen.

  1. Logg på Azure-portalen, velg abonnementet du vil bruke med Log Analytics, og som inneholder arbeidsområdene for Log Analytics. I Innstillinger-delen velger du Ressursleverandører som vist i illustrasjonen nedenfor.

    Skjermbilde av menyalternativene for innstillinger, ressursleverandører er valgt.

  2. Søk etter microsoft.insights under Ressursleverandører. Velg deretter Registrer.

    Skjermbilde av ressursleverandører i hovedruten med Microsoft.insights er registrert.

Angi tillatelser

  1. Kontroller at brukeren som konfigurerer Log Analytics-integrasjon, har rollen Log Analytics Contributor i Log Analytics-arbeidsområdet. Når du velger Access-kontroll (IAM) for abonnementet i Azure-portalen, og deretter velger Rolletilordninger fra de øverste valgene i panelet, må gjeldende bruker se én oppføring: Log Analytics Contributor for brukeren som konfigurerer Log Analytics:

    Skjermbilde av Access-kontrollruten med rollen uthevet.

Når du har fullført disse trinnene, er konfigurasjonsdelen for Azure Log Analytics fullført. Den neste delen viser deg hvordan du fortsetter og fullfører konfigurasjonen i administrasjonsportalen for Power BI.

Tillat logging på arbeidsområdenivå fra administrasjonsportalen

En Power BI-administrator må fullføre følgende trinn for å aktivere Azure Log Analytics for Power BI Premium-arbeidsområder. Med denne innstillingen kan administratorer for Power BI Premium-arbeidsområder sende arbeidsområdeloggene sine til Azure Log Analytics når forutsetningene er oppfylt.

  1. Gå til overvåkings- og bruksinnstillingene for leierinnstillinger > i administrasjonsportalen for Power BI, og utvid Azure Log Analytics-tilkoblinger for administratorer for arbeidsområder. Hvis du vil tillate at administratorer av arbeidsområdet aktiverer Log Analytics, angir du glidebryteren til Aktivert og angir de nødvendige sikkerhetsgruppene under Bruk på, som vist i illustrasjonen nedenfor.

    Skjermbilde av leierinnstillinger i administrasjonsportalen. Azure Log Analytics-tilkoblinger for arbeidsområdeadministratorer utvides og aktiveres.

Konfigurere logging i et Premium-arbeidsområde

  1. I Premium-arbeidsområdet kan administratorer for arbeidsområder aktivere Log Analytics. Hvis du vil gjøre dette, går du til Innstillinger som vist på bildet nedenfor.

    Skjermbilde av innstillingsruten i et Premium-arbeidsområde.

  2. Velg Azure-tilkoblinger i Innstillinger-ruten, og utvid deretter Log Analytics som vist i bildet nedenfor.

    Skjermbilde av Azure-tilkoblingsfanen som er åpen i innstillingsruten, er Log Analytics utvidet.

  3. Velg Azure-abonnementet, ressursgruppen, og deretter logganalysearbeidsområdet som er konfigurert i forrige del. Velg deretter Lagre. Når den utvidede log analytics-delen på leiernivå er fullført, skal den se omtrent slik ut.

    Skjermbilde av Azure-tilkoblingsfanen som er åpen i innstillingsruten, som viser eksempelinformasjon.

Koble fra Azure Log Analytics

Du kan koble fra Azure Log Analytics for å slutte å sende logger til Azure. Hvis du vil koble fra, går du til innstillingene for logganalyse i innstillingene for Power BI-arbeidsområdet. Velg Koble fra Azure. Velg deretter Lagre for å koble fra.

Skjermbilde av frakoblingsadvarselen i innstillingsruten.

Merk

Når du kobler fra et Power BI-arbeidsområde fra Azure Log Analytics, slettes ikke logger. Dataene dine forblir og følger lagrings- og oppbevaringspolicyene du angir der.

Bruksscenarier

Det finnes mange måter Azure Log Analytics og Power BI kan bidra til å løse virkelige utfordringer for organisasjonen. Vurder følgende:

  • Identifiser perioder med høy eller uvanlig Analysis Services-motoraktivitet etter kapasitet, arbeidsområde, rapport eller bruker.
  • Analyser spørringsytelse og trender, inkludert eksterne DirectQuery-operasjoner.
  • Analyser varighet for semantisk modelloppdatering, overlappinger og behandlingstrinn.
  • Analyser egendefinerte operasjoner som sendes ved hjelp av Premium XMLA-endepunktet.

Send oss tilbakemelding i Power BI-fellesskap for hvordan du bruker logging og hvordan det har hjulpet organisasjonen.

Feilbetingelser og løsninger

Tabellen nedenfor inneholder en samling vanlige feil, hendelser eller konfigurasjoner som utløste dem, og foreslåtte løsninger.

Utløserbetingelse Type Melding
Du har ikke tillatelse til å skrive til arbeidsområdet for logganalyse Feil – kan ikke fortsette Du trenger skrivetillatelser på dette logganalysearbeidsområdet for å koble det til Power BI. Kontakt personen i organisasjonen som administrerer Azure-abonnementer for å løse dette problemet.
Du har ikke tillatelse til å skrive til logganalysearbeidsområdekontoen Feil – kan ikke fortsette Du trenger skrivetillatelser på dette logganalysearbeidsområdet for å koble det til Power BI.
Du har ikke tilgang til azure-abonnementer Feil – kan ikke fortsette Du har ikke tilgang til azure-abonnementer. Be personen som administrerer Azure-abonnementer i organisasjonen, om å gi deg bidragsytertilgang eller høyere.
Du har ikke tilgang til azure log analytics-arbeidsområder i dette abonnementet Feil – kan ikke fortsette Du har ikke tilgang til et Azure Log Analytics-arbeidsområde. Be personen som administrerer Azure-abonnementer i organisasjonen, om å legge deg til i log analytics-eieren eller bidragsyterrollen.
Logganalyse på arbeidsområdenivå deaktivert når du prøver å koble til Informasjon Be leieradministratoren om å gi administratorer tillatelse til å koble til Arbeidsområder for logganalyse.
Logganalyse på arbeidsområdenivå deaktivert når du prøver å koble fra Informasjon Leieradministratoren opphevet tillatelsen for arbeidsområdeadministratorer til å koble til sine egne Azure Log Analytics-arbeidsområder. Hvis du kobler fra, kan du ikke koble til en annen.

Hendelser og skjema

Når du har aktivert Azure Log Analytics, begynner den å logge følgende hendelseskategorier. Hvis du vil ha mer informasjon om disse hendelsene, kan du se Sporingshendelser for Analysis Services.

  • AggregateTableRewriteQuery
  • Command
  • Stillstand
  • DirectQuery
  • Oppdag
  • Feil
  • Fremdriftsrapport
  • Query
  • Initialiser økt
  • VertiPaqSEQuery
  • Varsel

Tabellen nedenfor beskriver skjemaet.

Egenskap Eksisterende Azure Analysis Services-egenskap Bekrivelse
TimeGenerated Tidsstempelet (UTC) for når loggen ble generert.
OperationName EventClass_s Sporingshendelsen for Analysis Services som er knyttet til loggposten. Se dokumentasjonssiden for AS Trace Events for mer informasjon om mulige hendelser for hver kategori.
Korrelasjons-ID ID-en for korrelerte hendelser. Kan brukes til å identifisere korrelerte hendelser mellom flere tabeller.
PowerBIWorkspaceId Unik identifikator for arbeidsområdet som inneholder artefakten som betjenes.
PremiumCapacityId Unik identifikator for Premium-kapasiteten som er vert for artefakten som betjenes.
ApplicationContext ApplicationContext_s Egenskapspose med unike identifikatorer som gir detaljer om programmet som utfører forespørselen. for eksempel rapport-ID.
ApplicationName ApplicationName_s Inneholder navnet på klientprogrammet som opprettet tilkoblingen til serveren. Denne kolonnen fylles ut med verdiene som sendes av programmet i stedet for det viste navnet på programmet.
Artefakt-ID Unik identifikator for ressurslogging av dataene.
Artefaktkind Type artefakt som logger operasjonen, for eksempel semantisk modell.
CpuTimeMs CPUTime_s Mengden CPU-tid (i millisekunder) som brukes av hendelsen.
Artefaktnavn DatabaseName_s Navnet på Power BI-artefaktloggingen for denne operasjonen.
LogAnalyticsCategory Unik Kategorien Analysis Services-sporingshendelse som er knyttet til loggposten. Se dokumentasjonssiden for AS Trace Events for mer informasjon om mulige hendelseskategorier.
DatasetMode Modusen for den semantiske modellen. Import, DirectQuery eller Composite.
DurationMs Duration_s Tiden (i millisekunder) som er tatt av operasjonen.
Bruker User_s Brukeren som er knyttet til operasjonen som kjører. Brukes når en sluttbrukeridentitet må representeres på serveren.
ExecutingUser EffectiveUsername_s Brukeren som kjører operasjonen.
OperationDetailName EventSubclass_s Mer detaljert informasjon om Sporingshendelse for Analysis Services som er knyttet til loggposten. Se underklasseegenskapen for dokumentasjonssiden for sporingshendelsen for mer informasjon om mulige verdier, for eksempel Kommandostart.
XmlaObjectPath ObjectPath_s Objektbane. En kommadelt liste over foreldre, som begynner med objektets overordnede.
PowerBIWorkspaceName Navnet på Power BI-arbeidsområdet som inneholder artefakten.
Statuskode Error_s Statuskode for operasjonen. Den dekker suksess og fiasko.
ProgressCounter ProgressTotal_s Fremdriftsteller.
XmlaProperties RequestProperties_s Egenskaper for XMLA-forespørselen.
XmlaSessionId SPID_s Analysis Services-øktidentifikator.
Nivå Severity_s Inneholder alvorsgraden for operasjonen som loggføres. Vellykket, informasjonsmessig, advarsel eller feil.
Identitet Informasjon om bruker og krav.
Status Status for operasjonen.
EventText TextData_s Inneholder detaljert informasjon som er knyttet til operasjonen, for eksempel DAX Query.
CustomerTenantId Kundens Power BI-leieridentifikator.
XmlaRequestId RootActivityId_g Unik identifikator for forespørsel.
ReplicaId Replikaidentifikator som lar deg identifisere replikaen når QSO (Query Scale Out) er aktivert. Skrivebeskyttet replika har alltid ReplicaId='AAA' og skrivebeskyttede replikaer har ReplicaId som starter 'AAB' og fremover. For semantiske modeller som ikke er QSO-aktiverte, er ReplicaId alltid AAA

ExecutionMetrics-hendelse

For hver discover-, kommando- og spørringsforespørsel produseres en hendelse kalt ExecutionMetrics på slutten av forespørselen. Denne hendelsen inneholder kjøringsmåledata for forespørselen, som kan hjelpe deg med å diagnostisere og feilsøke mer effektivt. ExecutionMetrics-sporingen er korrelert med nærmeste [Discover|Kommando|Spørring]Avslutt hendelse.

Følgende KQL-spørring henter ExecutionMetrics-hendelsene for alle oppdateringsoperasjoner for en semantisk modell den siste dagen:

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

Følgende KQL-spørring henter hendelser som ble begrenset den siste dagen etter arbeidsområde, element og bruker:

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

Statistikken presenteres som en JSON-tekst i EventText-egenskapen , se følgende eksempler.

{
    "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
}

Tabellen nedenfor beskriver alle mulige egenskaper. Ikke alle egenskaper sendes ut i hver hendelse, da innholdet avhenger av forespørselen og den semantiske modellen.

Egenskap Bekrivelse
timeStart Tidsstempelet (UTC) for når forespørselen startet.
timeEnd Tidsstempelet (UTC) for når forespørselen ble avsluttet.
durationMs Total varighet for kjøringen.
datakildenConnectionThrottleTimeMs Total begrensningstid etter å ha nådd tilkoblingsgrensen for datakilden. Mer informasjon om maksimalt antall samtidige tilkoblinger her.
externalQueryExecutionTimeMs Total tid brukt på å utføre alle eksterne datakildespørringer under forespørselen.
directQueryConnectionTimeMs Total tid brukt på å opprette ny DirectQuery-tilkobling under forespørselen
directQueryIterationTimeMs Total tid brukt på gjentakelse av resultatene som returneres av DirectQuery-spørringene.
directQueryTotalTimeMs Total tid brukt på å kjøre og lese alle DirectQuery-spørringer under forespørselen.
executionDelayMs Total tid brukt på å vente på tilgjengelighet for Analysis Services-motorens trådutvalgstråd.
totalCpuTimeMs Total CPU-tid for forespørselen.
vertipaqJobCpuTimeMs Total CPU-tid brukt av Vertipaq-motoren.
mEngineCpuTimeMs Total CPU-tid brukt av PowerQuery-motoren.
queryProcessingCpuTimeMs Total CPU-tid brukt av oppgaver på Analysis Services spørringstrådutvalgstråd.
approximatePeakMemoryConsumptionKB Omtrentlig maksimalt minneforbruk under forespørselen.
mEnginePeakMemoryKB Omtrentlig maksimal minnestørrelse (i kilobyte) på tvers av alle PowerQuery-motor-mashup-beholdere.
directQueryTimeoutMs Tidsavbrudd knyttet til DirectQuery-spørringer.
externalQueryTimeoutMs Tidsavbrudd knyttet til spørringer til eksterne datakilder.
tabularConnectionTimeoutMs Tidsavbrudd knyttet til eksterne datakildetilkoblinger (e.g. SQL).
refreshParallelism Effektiv MaxParallelism som brukes i forespørselen.
vertipaqTotalRows Totalt antall rader behandlet av Vertipaq-motoren under en oppdateringsoperasjon.
queryResultRows Totalt antall rader som returneres som et resultat av DAX-spørringen.
directQueryTotalRows Totalt antall rader som leses fra de ulike DirectQuery-spørringene.
directQueryRequestCount Totalt antall DirectQuery-lagringsmotorspørringer utført av DAX-motoren.
errorCount Totalt antall feil for gjeldende forespørsel.
qsoReplicaVersion Replikaversjon for QSO-aktiverte semantiske modeller, representert i FILETIME-format .
intendedUsage Tiltenkt bruk: Standard (0); Planlagt oppdatering eller API-oppdatering (1); Oppdatering ved behov (2); Oppdatering av buffer for instrumentbordflis/spørringsbuffer (3)
commandType Type Analysis Services-kommando forespurt av klienten (f.eks. bunke, setning, sikkerhetskopiering,...)
discoverType Type Discover forespurt av klienten. Se EventSubclass for liste over oppdagingstyper.
queryDialect Type dialektklient har brukt til å spørre serveren: Ukjent (-1); MDX (0); DMX (1); SQL (2); DAX (3); JSON (4)
capacityThrottlingMs Total tid forespørselen ble forsinket på grunn av kapasitetsbegrensning. Mer informasjon om begrensning her.
  • Alle varigheter og prosessortider presenteres i millisekunder.
  • Det kan oppstå flere egenskaper utover de som er beskrevet i tabellen ovenfor, og disse bør betraktes som udokumenterte og kan endres.

KQL-spørringer for eksempellogganalyse

Følgende samling av eksempelspørringer kan være nyttig når du bruker Azure Log Analytics med Power BI. De kan kjøres direkte i Azure-portalen eller via API-er for å spørre de nyeste dataene, vanligvis omtrent 5–10 minutter gamle.

// 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

Eksempel på rapportmal for Power BI

Utforsk og få innsikt i Azure Log Analytics Power BI-data ved hjelp av en åpen kildekode-rapportmal for Power BI på GitHub.

Følgende artikler kan hjelpe deg med å lære mer om Power BI og integreringen med Azure Log Analytics.