Använda sammanfattningsoperatorn
Count-operatorn med dess variationer skapar en ny kolumn med det beräknade resultatet för de angivna fälten.
Den första instruktionen nedan returnerar en kolumn som är en unik lista med värden för aktivitetskolumner.
Den andra instruktionen returnerar antalet SecurityEvent-rader där EventID är lika med 4688 och antalet grupperas efter Process och Dator. På grund av by-satsen innehåller resultatuppsättningen tre kolumner: Process, Dator, Antal.
Kör varje fråga separat för att se resultatet.
SecurityEvent | summarize by Activity
SecurityEvent
| where EventID == "4688"
| summarize count() by Process, Computer
Exemplet nedan är en partiell lista över de vanligaste enkla mängdfunktionerna som används med sammanfattningsoperatorn.
Funktioner | beskrivning |
---|---|
count(), countif() | Returnerar antalet poster per sammanfattningsgrupp |
dcount(), dcountif() | Returnerar en uppskattning för antalet distinkta värden som tas av ett skalärt uttryck i sammanfattningsgruppen. |
avg(), avgif() | Beräknar medelvärdet av Expr i gruppen. |
max(), maxif() | Returnerar det maximala värdet i gruppen. |
min(), minif() | Returnerar det minsta värdet i gruppen. |
percentile() | Returnerar en uppskattning för den angivna percentilen för den närmaste rangordningen av populationen som definieras av Expr. Noggrannheten beror på populationens densitet i percentilens region. |
stdev(), stdevif() | Beräknar standardavvikelsen för Expr i gruppen, med tanke på gruppen som ett exempel. |
sum(), sumif() | Beräknar summan av expr i gruppen. |
varians(), variansif() | Beräknar variansen för Uttr i gruppen med tanke på gruppen som ett exempel. |
exempel på count-funktion
En samlingsfunktionskolumn kan uttryckligen namnges genom att inkludera "fieldname=" före aggregeringsfunktionen.
KQL-instruktionen returnerar tre kolumner: "cnt", "AccountType" och "Computer". Fältnamnet "cnt" ersätter standardnamnet "count_".
SecurityEvent
| where TimeGenerated > ago(1h)
| where EventID == 4624
| summarize cnt=count() by AccountType, Computer
<exempel på funktionen dcount>
I följande exempel returneras antalet unika IP-adresser.
SecurityEvent
| summarize dcount(IpAddress)
Låt oss ta en titt på ett verkligt exempel
Följande instruktion är en regel för att identifiera ogiltiga lösenordsfel i flera program för samma konto.
Where-operatorn för ResultDescription filtrerar resultatuppsättningen för resultat, inklusive "Ogiltigt lösenord". Därefter skapar instruktionen "summarize" ett distinkt antal programnamn och gruppera efter användare och IP-adress. Slutligen finns det en kontroll mot en variabel som skapats (tröskelvärde) för att se om antalet överskrider det tillåtna beloppet.
let timeframe = 30d;
let threshold = 1;
SigninLogs
| where TimeGenerated >= ago(timeframe)
| where ResultDescription has "Invalid password"
| summarize applicationCount = dcount(AppDisplayName) by UserPrincipalName, IPAddress
| where applicationCount >= threshold