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)