Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Splunk-tunnistussäännöt ovat suojaustietojen ja tapahtumienhallinnan (SIEM) osia, joita verrataan Microsoft Sentinel analytiikkasääntöihin. Tässä artikkelissa kuvataan käsitteet niiden tunnistamiseksi, vertailemiseksi ja siirtämiseksi Microsoft Sentinel. Paras tapa on aloittaa SIEM-siirtokokemuksesta, joka tunnistaa OOTB-analytiikkasäännöt, jotka käännetään automaattisesti.
Jos haluat siirtää Splunk Observability -käyttöönottosi, lue lisätietoja siitä, miten voit siirtyä Splunkista Azure Valvontalokeihin.
Valvontasäännöt
Microsoft Sentinel luo koneoppimisanalytiikan avulla laadukkaita ja toiminnallisia tapauksia. Jotkin nykyisistä Splunk-tunnistuksistasi saattavat olla turhia Microsoft Sentinel, joten älä siirrä niitä kaikkia sokeasti. Tarkista nämä seikat, kun tunnistat olemassa olevat tunnistussääntösi.
- Varmista, että valitset säännön siirtämisen oikeuttavat käyttötapaukset ottaen huomioon liiketoiminnan prioriteetin ja tehokkuuden.
- Tarkista, että ymmärrät Microsoft Sentinel sääntötyypit.
- Tarkista, että ymmärrät säännön terminologian.
- Tarkista vanhentuneet säännöt, joissa ei ole ilmoituksia viimeisten 6–12 kuukauden ajalta, ja selvitä, ovatko ne edelleen olennaisia.
- Poista matalan tason uhat tai hälytykset, jotka ohitat rutiininomaisesti.
- Vahvista yhdistetyt tietolähteet ja tarkista tietoyhteysmenetelmät. Microsoft Sentinel Analytics edellyttää, että tietotyyppi on olemassa Log Analytics -työtilassa, ennen kuin sääntö otetaan käyttöön. Käy uudelleen tietojenkeruukeskusteluissa varmistaaksesi tietojen syvyyden ja laajuuden käyttötapauksissa, jotka aiot tunnistaa. Käytä sitten SIEM-siirtokokemusta varmistaaksesi, että tietolähteet yhdistetään asianmukaisesti.
Siirrä säännöt
Kun olet tunnistanut siirrettävät Splunk-tunnistuksia, tarkista seuraavat huomioitavat asiat siirtoprosessissa:
- Vertaa Microsoft Sentinel OOTB-analytiikkasääntöjen olemassa olevia toimintoja nykyisiin käyttötapauksiin. SIEM-siirtokokemuksen avulla voit tarkistaa, mitkä Splunk-tunnistimet muunnetaan automaattisesti OOTB-malleiksi.
- Käännä tunnistuksia, jotka eivät ole linjassa OOTB-analytiikkasääntöjen kanssa. Paras tapa kääntää Splunk-tunnistuksia automaattisesti on SIEM-siirtokokemus.
- Löydä lisää käyttötapausten algoritmeja tutustumalla yhteisön resursseihin, kuten SOC Prime Threat Detection Marketplaceen.
- Käännä tunnistuksia manuaalisesti, jos sisäiset säännöt eivät ole käytettävissä tai niitä ei käännetä automaattisesti. Luo uudet KQL-kyselyt ja tarkista sääntöjen yhdistämismääritys.
Lisätietoja on ohjeaiheessa Tunnistussääntöjen siirtämisen parhaat käytännöt.
Sääntösietovaiheet
Varmista, että jokaisen siirrettävän säännön testausjärjestelmä on käytössä.
Valmistele siirrettyjen sääntöjen vahvistusprosessi , mukaan lukien täydelliset testiskenaariot ja komentosarjat.
Varmista, että tiimilläsi on hyödyllisiä resursseja siirrettyjen sääntöjen testaamiseen.
Vahvista, että tarvittavat tietolähteet on yhdistetty, ja tarkista tietoyhteysmenetelmät.
Tarkista, ovatko tunnistukset käytettävissä OOTB-malleina Microsoft Sentinel:
SIEM-siirtokokemuksen avulla voit automatisoida OOTB-mallien kääntämisen ja asennuksen.
Lisätietoja on kohdassa SIEM-siirtokokemuksen käyttäminen.
Jos käyttötapaukset eivät näy tunnistamisissa, luo sääntöjä omalle työtilallesi OOTB-sääntömalleilla.
Siirry Microsoft Sentinel Sisältökeskukseen.
Suodata SisältötyyppiAnalysointi-sääntömalleja varten.
Etsi ja asenna tai päivitä kutakin vastaavaa sisältökeskusratkaisua tai itsenäistä analytiikkasääntömallia.
Lisätietoja on ohjeaiheessa Uhkien tunnistaminen.
Jos sinulla on tunnistuksia, jotka eivät kuulu Microsoft Sentinel OOTB-sääntöjen piiriin, kokeile ensin SIEM-siirtokokemusta automaattista kääntämistä varten.
Jos OOTB-säännöt ja SIEM-siirto eivät käännä tunnistusta kokonaan, luo sääntö manuaalisesti. Luo tässä tapauksessa sääntö seuraavien vaiheiden avulla:
Määritä tietolähteet, joita haluat käyttää säännössäsi. Tunnista Microsoft Sentinel taulukot, joita haluat kysellä, luomalla yhdistämismääritystaulukko tietolähteiden ja tietotaulukoiden välille.
Määritä tiedoissa olevat määritteet, kentät tai entiteetit , joita haluat käyttää säännöissäsi.
Määritä säännön ehdot ja logiikka. Harkitse tässä vaiheessa sääntömallien etsimistä esimerkeiksi KQL-kyselyiden muodostamiseksi.
Harkitse suodattimia, korrelaatiosääntöjä, aktiivisia luetteloita, viitejoukkoja, katseluluetteloita, tunnistuspoikkeamia, koosteita ja niin edelleen. Saatat käyttää vanhan SIEM:n tarjoamia viittauksia kyselyn syntaksin määrittämiseen.
Tunnista käynnistinehto ja sääntötoiminto sekä muodosta KQL-kysely ja tarkista se. Kun tarkastelet kyselyä, harkitse KQL-optimoinnin ohjeresursseja.
Testaa sääntöä kunkin asianmukaisen käyttötapauksen kanssa. Jos se ei tarjoa odotettuja tuloksia, tarkista KQL ja muokkaa sitä ja testaa se uudelleen.
Kun olet tyytyväinen, harkitse säännön siirtoa. Luo tarvittaessa pelikirja sääntötoiminnollesi. Lisätietoja on artikkelissa Uhkien automaattinen reagointi Microsoft Sentinel-pelikirjojen avulla.
Lue lisätietoja analytiikkasäännöistä:
- Luo mukautettuja analytiikkasääntöjä uhkien havaitsemiseksi. Ilmoitusten ryhmittelyn avulla voit vähentää hälytysten väsymistä ryhmittelemällä tietyssä ajassa esiintyviä hälytyksiä.
- Yhdistä tietokentät entiteetteihin Microsoft Sentinel, jotta SOC-insinöörit voivat määrittää entiteetit osana näyttöä, jota seurataan tutkimuksen aikana. Entiteettikartoituksen avulla SOC-analyytikot voivat myös hyödyntää intuitiivista [tutkimuskaaviota] (investigate-cases.md#use-the-investigation-graph-to-deep-dive), joka voi auttaa vähentämään aikaa ja vaivaa.
- Tutki UEBA-tietoihin liittyviä tapauksia esimerkkinä siitä, miten voit käyttää todisteita tapahtumien, hälytysten ja tiettyyn tapaukseen liittyvien kirjanmerkkien näyttämiseen tapahtuman esikatseluruudussa.
- Kusto Query Language (KQL), jonka avulla voit lähettää vain luku -pyyntöjä Log Analytics -tietokantaasi tietojen käsittelyä ja tulosten palauttamista varten. KQL:ää käytetään myös muissa Microsoftin palveluissa, kuten Microsoft Defender for Endpoint ja Application Insightsissa.
Vertaa sääntöterminologiaa
Tämän taulukon avulla voit selventää kusto-kyselykieleen (KQL) perustuvan säännön käsitettä Microsoft Sentinel verrattuna SPL (Search Processing Language) -kielen perusteella tapahtuvaan Splunk-tunnistukseen.
| Splunk | Microsoft Sentinel | |
|---|---|---|
| Säännön tyyppi | •Ajoitettu •Reaaliaikainen |
• ajoitettu kysely •Fuusio • Microsoft Security • Koneoppimisen (ML) käyttäytymisanalytiikka |
| Kriteerit | Määritä SPL:ssä | Määritä KQL:ssä |
| Käynnistimen ehto | • tulosten määrä • isäntien määrä • lähteiden määrä •Mukautettu |
Raja-arvo: Kyselyn tulosten määrä |
| Toiminta | • Lisää käynnistettyihin hälytyksiin • Lokitapahtuma • haettava tuloste • Ja paljon muuta |
• luo hälytys tai tapaus • Integroituu Logic Appsiin |
Säännön mallien yhdistäminen ja vertaileminen
Näiden mallien avulla voit vertailla ja yhdistää sääntöjä Splunkista Microsoft Sentinel eri skenaarioissa.
Yleiset hakukomennot
| SPL-komento | Kuvaus | KQL-operaattori | Esimerkki KQL:stä |
|---|---|---|---|
chart/ timechart |
Palauttaa tulokset aikasarjakaavion taulukkotuloksissa. | hahmonnusoperaattori | … | render timechart |
dedup |
Poistaa seuraavat tulokset, jotka vastaavat määritettyä ehtoa. | • erillinen • yhteenveto |
… | summarize by Computer, EventID |
eval |
Laskee lausekkeen. Lue lisätietoja yleisistä eval komennoista. |
Laajentaa | T | extend duration = endTime - startTime |
fields |
Poistaa kenttiä hakutuloksista. | • projekti • projektin poistuminen |
T | project cost=price*quantity, price |
head/tail |
Palauttaa ensimmäisen tai viimeisen N tuloksen. | Top | T | top 5 by Name desc nulls last |
lookup |
Lisää kenttien arvot ulkoisesta lähteestä. | • ulkoiset tiedot • haku |
Esimerkki KQL:stä |
rename |
Nimeää kentän uudelleen. Käytä yleismerkkejä useiden kenttien määrittämiseen. | projektin nimeäminen uudelleen | T | project-rename new_column_name = column_name |
rex |
Määrittää ryhmien nimet käyttämällä säännönmukaisia lausekkeita kenttien poimimiseen. | vastaa rekisteriä | … | where field matches regex "^addr.*" |
search |
Suodattaa tulokset hakulauseketta vastaamaan tuloksia. | Etsi | search "X" |
sort |
Lajittelee hakutulokset määritettyjen kenttien mukaan. | Lajitella | T | sort by strlen(country) asc, price desc |
stats |
Tarjoaa tilastotietoja, jotka on valinnaisesti ryhmitelty kenttien mukaan. Lue lisätietoja yleisistä tilastotietokomennuksista. | Tiivistää | Esimerkki KQL:stä |
mstats |
Kuten tilastoja, käytetään mittareissa tapahtumien sijaan. | Tiivistää | Esimerkki KQL:stä |
table |
Määrittää, mitkä kentät tulosjoukossa säilytetään, ja säilyttää tiedot taulukkomuodossa. | Projektin | T | project columnA, columnB |
top/rare |
Näyttää kentän yleisimmät tai pienimmät arvot. | Top | T | top 5 by Name desc nulls last |
transaction |
Ryhmittelee hakutulokset tapahtumiksi. Esimerkki SPL-pl:stä |
Esimerkki: row_window_session | Esimerkki KQL:stä |
eventstats |
Luo yhteenvetotilastot tapahtumien kentistä ja tallentaa tilastotiedot uuteen kenttään. Esimerkki SPL-pl:stä |
Esimerkkejä: • liittyminen • make_list • mv-laajenna |
Esimerkki KQL:stä |
streamstats |
Selvitä kentän kumulatiivinen summa. SPL-esimerkki: ... | streamstats sum(bytes) as bytes _ total \| timechart |
row_cumsum | ...\| serialize cs=row_cumsum(bytes) |
anomalydetection |
Etsi poikkeamat määritetystä kentästä. Esimerkki SPL-pl:stä |
series_decompose_anomalies() | Esimerkki KQL:stä |
where |
Suodattaa hakutulokset lausekkeiden avulla eval . Käytetään kahden eri kentän vertailuun. |
Jossa | T | where fruit=="apple" |
lookup command: KQL esimerkki
Users
| where UserID in ((externaldata (UserID:string) [
@"https://storageaccount.blob.core.windows.net/storagecontainer/users.txt"
h@"?...SAS..." // Secret token to access the blob
])) | ...
stats command: KQL esimerkki
Sales
| summarize NumTransactions=count(),
Total=sum(UnitPrice * NumUnits) by Fruit,
StartOfMonth=startofmonth(SellDateTime)
mstats command: KQL esimerkki
T | summarize count() by price_range=bin(price, 10.0)
transaction command: SPL esimerkki
sourcetype=MyLogTable type=Event
| transaction ActivityId startswith="Start" endswith="Stop"
| Rename timestamp as StartTime
| Table City, ActivityId, StartTime, Duration
transaction command: KQL esimerkki
let Events = MyLogTable | where type=="Event";
Events
| where Name == "Start"
| project Name, City, ActivityId, StartTime=timestamp
| join (Events
| where Name == "Stop"
| project StopTime=timestamp, ActivityId)
on ActivityId
| project City, ActivityId, StartTime,
Duration = StopTime – StartTime
Käytä row_window_session() istunnon aloitusarvojen laskemiseen sarjoitetun rivijoukon sarakkeelle.
...| extend SessionStarted = row_window_session(
Timestamp, 1h, 5m, ID != prev(ID))
eventstats command: SPL esimerkki
… | bin span=1m _time
|stats count AS count_i by _time, category
| eventstats sum(count_i) as count_total by _time
eventstats command: KQL esimerkki
Tässä on esimerkki lausekkeesta join :
let binSize = 1h;
let detail = SecurityEvent
| summarize detail_count = count() by EventID,
tbin = bin(TimeGenerated, binSize);
let summary = SecurityEvent
| summarize sum_count = count() by
tbin = bin(TimeGenerated, binSize);
detail
| join kind=leftouter (summary) on tbin
| project-away tbin1
Tässä on esimerkki lausekkeesta make_list :
let binSize = 1m;
SecurityEvent
| where TimeGenerated >= ago(24h)
| summarize TotalEvents = count() by EventID,
groupBin =bin(TimeGenerated, binSize)
|summarize make_list(EventID), make_list(TotalEvents),
sum(TotalEvents) by groupBin
| mvexpand list_EventID, list_TotalEvents
anomalydetection command: SPL esimerkki
sourcetype=nasdaq earliest=-10y
| anomalydetection Close _ Price
anomalydetection command: KQL esimerkki
let LookBackPeriod= 7d;
let disableAccountLogon=SignIn
| where ResultType == "50057"
| where ResultDescription has "account is disabled";
disableAccountLogon
| make-series Trend=count() default=0 on TimeGenerated
in range(startofday(ago(LookBackPeriod)), now(), 1d)
| extend (RSquare,Slope,Variance,RVariance,Interception,
LineFit)=series_fit_line(Trend)
| extend (anomalies,score) =
series_decompose_anomalies(Trend)
Yleiset eval komennot
| SPL-komento | Kuvaus | Esimerkki SPL-pl:stä | KQL-komento | Esimerkki KQL:stä |
|---|---|---|---|---|
abs(X) |
Palauttaa X:n itseisarvon. | abs(number) |
abs() |
abs(X) |
case(X,"Y",…) |
Ottaa -ja Y -argumenttiparitX, joissa X argumentit ovat totuusarvolausekkeita. Kun arvoksi lasketaan TRUE, argumentit palauttavat vastaavan Y argumentin. |
Esimerkki SPL-pl:stä | case |
Esimerkki KQL:stä |
ceil(X) |
Luvun X katto. | ceil(1.9) |
ceiling() |
ceiling(1.9) |
cidrmatch("X",Y) |
Määrittää tiettyyn aliverkkoon kuuluvat IP-osoitteet. | cidrmatch("123.132.32.0/25",ip) |
• ipv4_is_match()• ipv6_is_match() |
ipv4_is_match('192.168.1.1', '192.168.1.255')== false |
coalesce(X,…) |
Palauttaa ensimmäisen arvon, joka ei ole tyhjäarvo. | coalesce(null(), "Returned val", null()) |
coalesce() |
coalesce(tolong("not a number"),tolong("42"), 33) == 42 |
cos(X) |
Laskee X:n kosinin. | n=cos(0) |
cos() | cos(X) |
exact(X) |
Laskee lausekkeen X käyttämällä kaksoistarkkuutta liukulukupisteen aritmetiikkaa. | exact(3.14*num) |
todecimal() |
todecimal(3.14*2) |
exp(X) |
Palauttaa eX:n. | exp(3) |
exp() | exp(3) |
if(X,Y,Z) |
Jos X arvo on TRUE, tulos on toinen argumentti Y. Jos X arvo FALSEon , tulos antaa tulokseksi kolmannen argumentin Z. |
if(error==200,"OK", "Error") |
iff() |
Esimerkki KQL:stä |
isbool(X) |
Palauttaa arvon TRUE , jos X on totuusarvo. |
isbool(field) |
• iff()• gettype |
iff(gettype(X) =="bool","TRUE","FALSE") |
isint(X) |
Palauttaa TRUE arvon, jos X on kokonaisluku. |
isint(field) |
• iff()• gettype |
Esimerkki KQL:stä |
isnull(X) |
Palauttaa arvon TRUE , jos X on tyhjäarvo. |
isnull(field) |
isnull() |
isnull(field) |
isstr(X) |
Palauttaa arvon TRUE , jos X on merkkijono. |
isstr(field) |
• iff()• gettype |
Esimerkki KQL:stä |
len(X) |
Tämä funktio palauttaa merkkijonon Xmerkin pituuden. |
len(field) |
strlen() |
strlen(field) |
like(X,"y") |
Palauttaa TRUE arvon jos ja vain, jos X on kuin SQLite-kaava kohteessa Y. |
like(field, "addr%") |
• has• contains• startswith• vastaa rekisteriä |
Esimerkki KQL:stä |
log(X,Y) |
Palauttaa ensimmäisen argumentin X lokin käyttäen toisena argumenttina toista argumenttia Y .
Y Oletusarvo on 10. |
log(number,2) |
• log• log2• log10 |
log(X)log2(X)log10(X) |
lower(X) |
Palauttaa kohteen pienillä kirjaimilla kirjoitetun Xarvon. |
lower(username) |
säikytys | tolower(username) |
ltrim(X,Y) |
Palauttaa X arvot, joissa parametrin Y merkit on rajattu vasemmalta puolelta. Oletustuloste Y on välilyönnit ja välilehdet. |
ltrim(" ZZZabcZZ ", " Z") |
trim_start() |
trim_start(“ ZZZabcZZ”,” ZZZ”) |
match(X,Y) |
Palauttaa arvon, jos X vastaa regex-kuviota Y. | match(field, "^\d{1,3}.\d$") |
matches regex |
… | where field matches regex @"^\d{1,3}.\d$") |
max(X,…) |
Palauttaa sarakkeen enimmäisarvon. | max(delay, mydelay) |
• max()• arg_max() |
… | summarize max(field) |
md5(X) |
Palauttaa merkkijonoarvon MD5-hajautusarvon X. |
md5(field) |
hash_md5 |
hash_md5("X") |
min(X,…) |
Palauttaa sarakkeen vähimmäisarvon. | min(delay, mydelay) |
• min_of()• min() • arg_min |
Esimerkki KQL:stä |
mvcount(X) |
Palauttaa arvojen määrän (yhteensä X ). |
mvcount(multifield) |
dcount |
…| summarize dcount(X) by Y |
mvfilter(X) |
Suodattaa moniarvokentän totuusarvolausekkeen X perusteella. |
mvfilter(match(email, "net$")) |
mv-apply |
Esimerkki KQL:stä |
mvindex(X,Y,Z) |
Palauttaa moniarvoisen X argumentin alijoukon aloitussijainnista (nollapohjainen) Y kohteeseen Z (valinnainen). |
mvindex( multifield, 2) |
array_slice |
array_slice(arr, 1, 2) |
mvjoin(X,Y) |
Annettu moniarvokenttä X ja merkkijonoerotin Yja liittää kohteen yksittäiset arvot :n X käyttöön Y. |
mvjoin(address, ";") |
strcat_array |
Esimerkki KQL:stä |
now() |
Palauttaa nykyisen ajan, esitettynä Unix-ajassa. | now() |
now() |
now()now(-2d) |
null() |
Ei hyväksy argumentteja ja palauttaa arvon NULL. |
null() |
Null | null |
nullif(X,Y) |
Sisältää kaksi argumenttia, X ja Yja palauttaa X , jos argumentit eroavat toisistaan. Muussa tapauksessa palauttaa arvon NULL. |
nullif(fieldA, fieldB) |
iff |
iff(fieldA==fieldB, null, fieldA) |
random() |
Palauttaa pseudosatunnaisen luvun väliltä 0 kohteeseen 2147483647. |
random() |
rand() |
rand() |
relative_ time(X,Y) |
Annettu aika-aika X ja suhteellinen aikamäärite Ypalauttaa aika-arvon Y , jota käytetään kohteessa X. |
relative_time(now(),"-1d@d") |
unix-aika | Esimerkki KQL:stä |
replace(X,Y,Z) |
Palauttaa merkkijonon, joka on muodostettu korvaamalla merkkijono Z säännönmukaisen lausekemerkkijonon Y jokaiselle esiintymälle merkkijonossa X. |
Palauttaa päivämäärän, jossa kuukauden ja päivän numerot on vaihdettu. Esimerkiksi syötteen 4/30/2015 tulos on 30/4/2009:replace(date, "^(\d{1,2})/ (\d{1,2})/", "\2/\1/") |
replace() |
Esimerkki KQL:stä |
round(X,Y) |
Palauttaa X kohteen määrittämän desimaalien määrän pyöristettynä Y. Oletusarvona on pyöristää kokonaislukuun. |
round(3.5) |
round |
round(3.5) |
rtrim(X,Y) |
Palauttaa X tiedot, joiden merkit Y on lyhennetty oikealta puolelta. Jos Y ei ole määritetty, välilyönnit ja välilehdet rajataan. |
rtrim(" ZZZZabcZZ ", " Z") |
trim_end() |
trim_end(@"[ Z]+",A) |
searchmatch(X) |
Palauttaa TRUE arvon , jos tapahtuma vastaa hakumerkkijonoa X. |
searchmatch("foo AND bar") |
iff() | iff(field has "X","Yes","No") |
split(X,"Y") |
Palauttaa X moniarvokenttänä jaettuna erottimen Ymukaan . |
split(address, ";") |
split() |
split(address, ";") |
sqrt(X) |
Palauttaa kohteen neliöjuuren X. |
sqrt(9) |
sqrt() |
sqrt(9) |
strftime(X,Y) |
Palauttaa aika-aika-arvon X , joka hahmonnetaan käyttämällä kohteen määrittämää muotoa Y. |
strftime(_time, "%H:%M") |
format_datetime() |
format_datetime(time,'HH:mm') |
strptime(X,Y) |
Kun annetaan merkkijonon Xedustama aika, palauttaa arvon, joka on jäsennys muodosta Y. |
strptime(timeStr, "%H:%M") |
format_datetime() | Esimerkki KQL:stä |
substr(X,Y,Z) |
Palauttaa alimerkkijonon X aloitussijainnista (yksipohjainen) Y (valinnaisille) merkeille Z . |
substr("string", 1, 3) |
substring() |
substring("string", 0, 3) |
time() |
Palauttaa kellonajan mikrosekunnin tarkkuudella. | time() |
format_datetime() |
Esimerkki KQL:stä |
tonumber(X,Y) |
Muuntaa syötemerkkijonon X luvuksi, jossa Y (valinnainen, oletusarvo on 10) määrittää muunnettavan luvun perustan. |
tonumber("0A4",16) |
toint() |
toint("123") |
tostring(X,Y) |
Kuvaus | Esimerkki SPL-pl:stä | tostring() |
tostring(123) |
typeof(X) |
Palauttaa kenttätyypin merkkijonoesityksen. | typeof(12) |
gettype() |
gettype(12) |
urldecode(X) |
Palauttaa URL-osoitteen X , jonka koodaus on purettu. |
Esimerkki SPL-pl:stä | url_decode |
Esimerkki KQL:stä |
case(X,"Y",…) Esimerkki SPL-pl:stä
case(error == 404, "Not found",
error == 500,"Internal Server Error",
error == 200, "OK")
case(X,"Y",…) Esimerkki KQL:stä
T
| extend Message = case(error == 404, "Not found",
error == 500,"Internal Server Error", "OK")
if(X,Y,Z) Esimerkki KQL:stä
iif(floor(Timestamp, 1d)==floor(now(), 1d),
"today", "anotherday")
isint(X) Esimerkki KQL:stä
iif(gettype(X) =="long","TRUE","FALSE")
isstr(X) Esimerkki KQL:stä
iif(gettype(X) =="string","TRUE","FALSE")
like(X,"y") Esimerkki
… | where field has "addr"
… | where field contains "addr"
… | where field startswith "addr"
… | where field matches regex "^addr.*"
min(X,…) Esimerkki KQL:stä
min_of (expr_1, expr_2 ...)
…|summarize min(expr)
…| summarize arg_min(Price,*) by Product
mvfilter(X) Esimerkki KQL:stä
T | mv-apply Metric to typeof(real) on
(
top 2 by Metric desc
)
mvjoin(X,Y) Esimerkki KQL:stä
strcat_array(dynamic([1, 2, 3]), "->")
relative time(X,Y) Esimerkki KQL:stä
let toUnixTime = (dt:datetime)
{
(dt - datetime(1970-01-01))/1s
};
replace(X,Y,Z) Esimerkki KQL:stä
replace( @'^(\d{1,2})/(\d{1,2})/', @'\2/\1/',date)
strptime(X,Y) Esimerkki KQL:stä
format_datetime(datetime('2017-08-16 11:25:10'),
'HH:mm')
time() Esimerkki KQL:stä
format_datetime(datetime(2015-12-14 02:03:04),
'h:m:s')
tostring(X,Y)
Palauttaa kentän arvon X merkkijonona.
- Jos -arvo
Xon luku,Xmuotoistetaan uudelleen merkkijonoarvoksi. - Jos
Xon totuusarvo,Xmuotoistetaan uudelleen kohteeksiTRUEtaiFALSE. - Jos
Xon luku, toinen argumenttiYon valinnainen ja se voi ollahexjoko (muuntaaXheksadesimaaliksi),commas(muodot, joissa on pilkkujaXja kaksi desimaalia) taiduration(muuntaaXaikamuodon sekunteina luettavaan aikamuotoon:HH:MM:SS).
tostring(X,Y) Esimerkki SPL-pl:stä
Tämä esimerkki palauttaa:
foo=615 and foo2=00:10:15:
… | eval foo=615 | eval foo2 = tostring(
foo, "duration")
urldecode(X) Esimerkki SPL-pl:stä
urldecode("http%3A%2F%2Fwww.splunk.com%2Fdownload%3Fr%3Dheader")
Esimerkki yleisistä stats komennoista KQL
| SPL-komento | Kuvaus | KQL-komento | Esimerkki KQL:stä |
|---|---|---|---|
avg(X) |
Palauttaa kentän Xarvojen keskiarvon. |
keskimääräinen keskiarvo () | avg(X) |
count(X) |
Palauttaa kentän Xesiintymien määrän. Määritä vastaava kentän arvo muotoa Xeval(field="value"). |
count() | summarize count() |
dc(X) |
Palauttaa kentän Xerillisten arvojen määrän. |
dcount() | …\| summarize countries=dcount(country) by continent |
earliest(X) |
Palauttaa aikajärjestyksessä aikaisin nähdyksi X-arvon . |
arg_min() | … \| summarize arg_min(TimeGenerated, *) by X |
latest(X) |
Palauttaa aikajärjestyksessä viimeisimmän nähdyt X-arvon . |
arg_max() | … \| summarize arg_max(TimeGenerated, *) by X |
max(X) |
Palauttaa kentän Xsuurimman arvon. Jos -arvot X eivät ole numeerisia, suurin arvo löytyy aakkosjärjestyksestä. |
max() | …\| summarize max(X) |
median(X) |
Palauttaa kentän Xkeskimmäisimmän arvon. |
percentile() | …\| summarize percentile(X, 50) |
min(X) |
Palauttaa kentän Xvähimmäisarvon. Jos -arvot X eivät ole numeerisia, pienin arvo löytyy aakkosjärjestyksestä. |
min() | …\| summarize min(X) |
mode(X) |
Palauttaa kentän Xyleisimmän arvon. |
parhaat lyöjät() | …\| top-hitters 1 of Y by X |
perc(Y) |
Palauttaa kentän YprosenttipistearvonX. Palauttaa esimerkiksi perc5(total) kentän totalviidennen prosenttipisteen arvon. |
percentile() | …\| summarize percentile(Y, 5) |
range(X) |
Palauttaa kentän Xenimmäis- ja vähimmäisarvojen välisen eron. |
range() | range(1, 3) |
stdev(X) |
Palauttaa kentän Xnäytteen keskihajonnan. |
Keskihajonta | stdev() |
stdevp(X) |
Palauttaa kentän Xpopulaation keskihajonnan. |
stdevp() | stdevp() |
sum(X) |
Palauttaa kentän Xarvojen summan. |
sum() | sum(X) |
sumsq(X) |
Palauttaa kentän Xarvojen neliöiden summan. |
||
values(X) |
Palauttaa kentän X kaikkien erillisten arvojen luettelon moniarvoisena tietueena. Arvojen järjestys on aakkosjärjestyksessä. |
make_set() | …\| summarize r = make_set(X) |
var(X) |
Palauttaa kentän Xmallivarianssin. |
Varianssi | variance(X) |
Seuraavat vaiheet
Tässä artikkelissa opit yhdistämään siirtosäännöt Splunkista Microsoft Sentinel.