Log Analytics-spørrespråkanbefalinger for Summarize og Join-operatører

Publiseringsdato: 29 mai, 2018

Denne oppdateringen beskriver Azure Log Analytics og Application Innsights-spørringsspråkets syntaksanbefalinger for Summarize og Join-operatørene. Eksisterende syntaks støttes fortsatt, men vi anbefaler på det sterkeste at du endrer spørringssyntaksen din der det er aktuelt i lagrede søk og varsler, for å unngå tvetydig resultat.

For spørsmål om disse anbefalingene, kontakt oss.

Timesvis automatisk binning i Summarize-operatøren

For tiden grupperes data etter datetime-nøkkelen automatisk i timebokser. I dette eksemplet brukes kolonnen TimeGenerated i operatøren Summarize, avrundet automatisk til timebokser:

SecurityEvent

| where TimeGenerated > ago(1d)

| where EventID == 4625

| summarize count() by TimeGenerated

Her er søkeresultatene:

TimeGenerated [UTC]

count_

2018-02-04T09:00:00.000

2018-02-04T10:00:00.000

2018-02-04T11:00:00.000

2018-02-04T12:00:00.000

2018-02-04T13:00:00.000

2018-02-04T14:00:00.000

2018-02-04T15:00:00.000

2018-02-04T16:00:00.000

2018-02-04T17:00:00.000

2018-02-04T18:00:00.000

1205

1268

1234

1173

1007

1042

1041

1049

1090

1113

 

Anbefalte handlinger:

  • Hvis du ikke stoler på auto-binning-funksjonen, enten i lagrede søk eller i varsler (for eksempel, oppsummer etter TimeGenerated):
    • Du trenger ikke gjøre noe.
  • Hvis du ikke er klar over auto-binning-funksjonen, kan spørringene dine returnere resultater med utilsiktet timeaggregasjon:
    • Bekreft om du bruker aggregerende data etter datetime-nøkkelen (for eksempel oppsummer av TimeGenerated). Hvis ja, korriger spørsmålene for å bruke eksplisitt binning, for eksempel oppsummer etter bin(TimeGenerated, 1h).
  • Hvis du er klar over auto-binning-funksjonen og stoler på den:
    • Korriger spørringene for å bruke eksplisitt binning, for eksempel, oppsummer etter bin(TimeGenerated, 1h).

Likestillingsuttrykk i Join-operatøren

For øyeblikket tillater språksyntaksen bruk av tvetydige likestillingsuttrykk som Join-attributter (for eksempel key1 == key2) som gir uønskede resultater. Vi anbefaler at du endrer tvetydige likestillingsuttrykk for å unngå denne atferden.

Her er et eksempel på et tvetydig uttrykk for Join (summerer den daglige øktvarigheten per datamaskin):

SecurityEvent

| where EventID == 4624

| join kind= inner (

    SecurityEvent

    | where EventID == 4634

    ) on TargetLogonId == TargetLogonId

| extend Duration = LogoffTime - LogonTime

| summarize sum(Duration) by bin(LogonTime, 1d), Computer

 

Anbefalte handlinger:

  • Hvis du ikke bruker likhetsuttrykk i Join-operatorer, enten i lagrede søk eller i varsler:
    • Du trenger ikke gjøre noe.
  • Hvis du bruker likhetsuttrykk i Join-operatører:
    • Korriger Join-operatørens syntaks.
    • Rett opp spørringene. Kolonnenavnene bør kvalifiseres med gjeldende eiertabell merket med $left og $right notasjoner. Eksempler:

| join … on $left.Col1 == $right.Col2

| join … on X (equivalent to: | join … on $left.X == $right.X)

 

  • Log Analytics
  • Azure Monitor
  • Services

Relaterte produkter