Gå til hovedindhold

'Anbefalinger for operatorerne Summarize og Join i Log Analytics-forespørgselssproget

Dato for publicering: 29 maj, 2018

I denne opdatering beskrives anbefalinger for syntaks i forespørgselssproget i Azure Log Analytics og Application Insights for operatorerne Summarize og Join. Den eksisterende syntaks understøttes stadig, men vi anbefaler på det kraftigste, at du ændrer din forespørgselssyntaks efter behov i gemte søgninger og advarsler for at undgå tvetydige resultater.

Hvis du har spørgsmål til disse anbefalinger, skal du kontakte os.

Automatisk gruppering i operatoren Summarize hver time

I øjeblikket grupperes data, der er samlet af nøglen Datetime, automatisk hver time. I dette eksempel afsluttes kolonnen TimeGenerated, der er brugt i operatoren Summarize, automatisk til grupperinger hver time:

SecurityEvent

| where TimeGenerated > ago(1d)

| where EventID == 4625

| summarize count() by TimeGenerated

Her er forespørgselsresultaterne:

Oprettelsestidspunkt [UTC]

antal_

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

1.205

1.268

1.234

1.173

1.007

1.042

1.041

1.049

1.090

1.113

 

Anbefalede handlinger:

  • Hvis du ikke er afhængig af funktionen til automatisk gruppering i enten gemte søgninger eller advarsler (f.eks. opsummer efter TimeGenerated):
    • Der kræves ingen handling.
  • Hvis du ikke er opmærksom på funktionen til automatisk gruppering, kan dine forespørgsler muligvis returnere resultater med utilsigtet sammenlægning hver time:
    • Bekræft, om du bruger sammenlægning af data efter nøglen Datetime (f.eks. opsummer efter TimeGenerated). Hvis det er tilfældet, skal du rette forespørgslerne, så de anvender eksplicit gruppering – f.eks. opsummer efter bin(TimeGenerated, 1h).
  • Hvis du ikke er opmærksom på funktionen til automatisk gruppering og er afhængig af den:
    • Ret forespørgslerne, så de anvender eksplicit gruppering – f.eks. opsummer efter bin(TimeGenerated, 1h).

Lighedsudtryk i operatoren Join

I øjeblikket tillader den sproglige syntaks anvendelsen af tvetydige lighedsudtryk som Join-attributter (f.eks. key1 == key2), der giver uønskede resultater. Vi anbefaler, at du ændrer tvetydige lighedsudtryk for at undgå denne funktionsmåde.

Her er et eksempel på et tvetydigt Join-udtryk (opsummering af varigheden af den daglige session pr. computer):

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

 

Anbefalede handlinger:

  • Hvis du ikke bruger lighedsudtryk i Join-operatorerne i enten gemte søgninger eller advarsler:
    • Der kræves ingen handling.
  • Hvis du bruger lighedsudtryk i Join-operatorer:
    • Ret syntaksen for Join-operatoren.
    • Ret dine forespørgsler. Kolonnenavnene skal være kvalificeret vha. den gældende ejertabel, der er angivet af notationerne $left og $right. Eksempler:

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

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

 

  • Log Analytics
  • Azure Monitor
  • Services

Relaterede produkter