Naar hoofdinhoud gaan

Log Analytics-querytaalaanbevelingen voor summarize- en join-operators

Publicatiedatum: 29 mei, 2018

In deze update worden syntaxisaanbevelingen beschreven voor de Azure Log Analytics- en Application Insights-querytaal voor de summarize- en join-operators. De bestaande syntaxis wordt nog wel ondersteund, maar we raden u met klem aan om indien van toepassing uw querysyntaxis aan te passen in opgeslagen zoekopdrachten en waarschuwingen om ambiguïteit in de resultaten te voorkomen.

Als u vragen over de aanbevelingen hebt, kunt u contact met ons opnemen.

Auto-binning per uur in de summarize-operator

De gegevens die met de datum/tijd-sleutel worden geaggregeerd worden automatisch gegroepeerd in bins van één uur. In dit voorbeeld wordt de kolom TimeGenerated die in de summarize-operator is gebruikt, automatisch afgerond op bins van één uur:

SecurityEvent

| where TimeGenerated > ago(1d)

| where EventID == 4625

| summarize count() by TimeGenerated

Hier volgen queryresultaten:

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

 

Aanbevolen acties:

  • Als u niet afhankelijk bent van de functie voor auto-binning, in opgeslagen zoekopdrachten of in waarschuwingen (bijvoorbeeld, samenvatten op basis van TimeGenerated):
    • Geen actie vereist.
  • Als u zich niet bewust bent van de functie voor auto-binning, is het mogelijk dat uw query's resultaten retourneren met om het uur onbedoelde aggregaties:
    • Controleer of u gegevens aggregeert met de datum/tijd-sleutel (bijvoorbeeld samenvatten op basis van TimeGenerated). Als dit het geval is, corrigeert u de query's, zodat expliciete binning wordt gebruikt, bijvoorbeeld samenvatten op basis van bin(TimeGenerated, 1h).
  • Als u zich bewust bent van de functie voor auto-binning en hier afhankelijk van bent:
    • Corrigeer de query's, zodat expliciete binning wordt gebruikt, bijvoorbeeld samenvatten op basis van bin(TimeGenerated, 1h).

Gelijkheidsexpressies in de join-operator

Momenteel biedt de taalsyntaxis u de mogelijkheid om ambigue gelijkheidsexpressies als join-kenmerken te gebruiken (bijvoorbeeld key1 == key2) die ongewenste resultaten opleveren. U kunt ambigue gelijkheidsexpressies het beste wijzigen om dit soort gedrag te vermijden.

Hier volgt een voorbeeld van een ambigue join-expressie (een overzicht van de totale dagelijkse sessieduur per 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

 

Aanbevolen acties:

  • Als u geen gelijkheidsexpressies gebruikt in join-operators, zowel in opgeslagen zoekopdrachten als in waarschuwingen:
    • Geen actie vereist.
  • Als u gelijkheidsexpressies in join-operators gebruikt:
    • Corrigeer de syntaxis van de join-operator.
    • Corrigeer uw query's. De kolomnamen moeten worden gekwalificeerd met de toepasselijke eigenaartabel, zoals aangeduid met de notaties $left en $right. Voorbeelden:

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

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

 

  • Log Analytics
  • Azure Monitor
  • Services

Verwante producten