Budowanie zapytań KQL
Język zapytań Kusto (KQL) jest językiem zapytań, którego można użyć do wysłania zapytania do jeziora danych następnego pokolenia. KQL pozwala na budowanie różnych typów zapytań z prostych zapytań wyszukiwania do bardziej złożonych zapytań zagregowanych.
Procedura
Wyniki
Gdy zapytanie jest uruchamiane, dodawana jest karta 'active-query'. Każde zapytanie traci ważność po upływie 4 dni od momentu jego utworzenia. Czas utraty ważności jest wyświetlany na karcie.
Przykład
Zwraca 100 wierszy z tabeli zdarzeń.
events
| take 100
Zwraca 10 kategorii zdarzeń, które mają najwięcej zdarzeń.
events_all
| summarize Count=count() by qid_event_category
| order by Count desc
| take 10
Zwraca 10 źródeł danych, które mają największą liczbę zdarzeń.
events
| project data_source_name, original_time
| where data_source_name != ''
| summarize Events=count() by data_source_name
| order by Events desc
| take 10
Zwraca źródła danych w ciągu ostatniej godziny.
events
| project original_time, data_source_name
| where original_time > ago(1h)
| summarize Count=count() by Time=bin(original_time, 5m), data_source_name
| order by Time, data_source_name desc
Zwraca zdarzenia dla ostatnich 5 minut, maksymalnie do 10000.
events
| project original_time, data_source_name, name, user_id, low_level_categories,
src_ip, src_port, dst_ip, dst_port, payload
//--- Search for the last 5 minutes of data
| where original_time > ago(5m)
//--- USER Criteria Here
| take 10000
Zwraca zdarzenia dla ostatniej godziny, maksymalnie do 10000.
events
| project original_time, data_source_name, name, user_id, low_level_categories,
src_ip, src_port, dst_ip, dst_port, payload
//--- Search for the last hour of data
| where original_time > ago(5m)
//--- USER Criteria Here
| take 10000
Wyszukaj zdarzenia w ciągu ostatnich 24 godzin, które mają źródłowy adres IP 127.0.0.1.
events
| project original_time, data_source_name, name, user_id, low_level_categories,
src_ip, src_port, dst_ip, dst_port, payload
//--- Search for IP = 127.0.0.1 over the last 24 hour of data
| where original_time > ago(24h) and src_ip = ‘127.0.0.1’
//--- USER Criteria Here
| take 100
Wyszukaj zdarzenia w ciągu ostatnich 24 godzin, które nie mają źródłowego adresu IP 127.0.0.1.
events
| project original_time, data_source_name, name, user_id, low_level_categories,
src_ip, src_port, dst_ip, dst_port, payload
//--- Search for IP not equal to 127.0.0.1 over the last 24 hour of data
| where original_time > ago(24h) and src_ip != ‘127.0.0.1’
//--- USER Criteria Here
| take 100
Wyszukaj zdarzenia dla ostatniej godziny, w której ładunek ma zgodność z svchost.
events
| project original_time, data_source_name, name, user_id, low_level_categories,
src_ip, src_port, dst_ip, dst_port, payload
//--- Search for payload that has a match on ‘svchost’ over last hour
| where original_time > ago(1h) and payload has ‘svchost’
//--- USER Criteria Here
| take 100