[ Splunk Basic ] SPL: Search Processing Language
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Splunk/Splunk Basic

[ Splunk Basic ] SPL: Search Processing Language

728x90
๋ฐ˜์‘ํ˜•

๐Ÿณ Splunk  ๊ฒ€์ƒ‰์€ ์ผ๋ จ์˜ command์™€ argument๋“ค๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๋‹ค.

 

splunk ๊ฒ€์ƒ‰ ๊ตฌ์กฐ

  • ๋ช…๋ น์€ ํŒŒ์ดํ”„ "|"์™€ ํ•จ๊ป˜ ์—ฐ๊ฒฐ๋˜๋ฉฐ
  • ์™ผ์ชฝ ๋ช…๋ น์˜ ์ถœ๋ ฅ์ด ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ๋‹ค์Œ ๋ช…๋ น์˜ ๋Œ€์ƒ์ด ๋œ๋‹ค.

 

๋งจ ์•ž์— ์ƒ๋žต๋œ search  command

  • ๊ฒ€์ƒ‰ ํŒŒ์ดํ”„๋ผ์ธ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์—๋Š” ์ธ๋ฑ์Šค์—์„œ ์ด๋ฒคํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•œ ์•”์‹œ์  ๊ฒ€์ƒ‰ ๋ช…๋ น์ด ์žˆ๋‹ค.
  • ๊ฒ€์ƒ‰ ์š”์ฒญ์€ ํ‚ค์›Œ๋“œ, ์ธ์šฉ๊ตฌ, ๋ถ€์šธ ์‹, ์™€์ผ๋“œ์นด๋“œ, ํ•„๋“œ ์ด๋ฆ„/๊ฐ’ ์Œ ๋ฐ ๋น„๊ต ์‹์œผ๋กœ ์ž‘์„ฑ๋˜๋ฉฐ
  • AND ์—ฐ์‚ฐ์ž๋Š” ๊ฒ€์ƒ‰์–ด ์‚ฌ์ด์— ๋‚ดํฌ๋˜์–ด ์žˆ๋‹ค.

  • ์œ„์˜ ๊ฒ€์ƒ‰์€ sourcetype์ด access_combined์ด๋ฉด์„œ event์— error๋ผ๋Š” string์ด ์žˆ๋Š” event๋ฅผ ๊ฒ€์ƒ‰ํ•œ ํ›„,
    ์ƒ์œ„ 5๊ฐœ์˜ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ uri๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • ๊ฒ€์ƒ‰ ๋ช…๋ น์€ ์›ํ•˜์ง€ ์•Š๋Š” ์ด๋ฒคํŠธ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ณ , ๋” ๋งŽ์€ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•˜๊ณ , ๊ฐ’์„ ๊ณ„์‚ฐํ•˜๊ณ , ๋ณ€ํ™˜ํ•˜๊ณ , ์ธ๋ฑ์‹ฑ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ†ต๊ณ„์ ์œผ๋กœ ๋ถ„์„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•œ๋‹ค.
  • ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ๋ฅผ ์ธ๋ฑ์Šค์—์„œ ๊ฐ€์ ธ์˜จ ๋™์ ์œผ๋กœ ์ƒ์„ฑ๋œ ํ…Œ์ด๋ธ”๋กœ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.
  • ์ธ๋ฑ์‹ฑ๋œ ๊ฐ ์ด๋ฒคํŠธ๋Š” ํ–‰์ž…๋‹ˆ๋‹ค. ํ•„๋“œ ๊ฐ’์€ ์—ด์ž…๋‹ˆ๋‹ค.
  • ๊ฐ ๊ฒ€์ƒ‰ ๋ช…๋ น์€ ํ•ด๋‹น ํ…Œ์ด๋ธ”์˜ ๋ชจ์–‘์„ ์žฌ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
    ์˜ˆ๋ฅผ ๋“ค์–ด ์ด๋ฒคํŠธ๋ฅผ ํ•„ํ„ฐ๋งํ•˜๋Š” ๊ฒ€์ƒ‰ ๋ช…๋ น์€ ํ–‰์„ ์ œ๊ฑฐํ•˜๊ณ  ํ•„๋“œ๋ฅผ ์ถ”์ถœํ•˜๋Š” ๊ฒ€์ƒ‰ ๋ช…๋ น์€ ์—ด์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

 

๐Ÿ€Time Modifiers๐Ÿ€

  • latest ๋ฐ earliest ๊ฒ€์ƒ‰ ์ˆ˜์ •์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰๊ณผ ํ•จ๊ป˜ ์ธ๋ผ์ธ์œผ๋กœ ์ด๋ฒคํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์‹œ๊ฐ„ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒ๋Œ€ ์‹œ๊ฐ„์€ ์‹œ๊ฐ„์˜ ์–‘(์ •์ˆ˜ ๋ฐ ๋‹จ์œ„)๊ณผ ์„ ํƒ์ ์ธ ์‹œ๊ฐ„ ๋‹จ์œ„์ธ "๋งž์ถ”๊ธฐ"๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด๋กœ ์ง€์ •๋ฉ๋‹ˆ๋‹ค.
  • ๋ฌธ๋ฒ•: [+|-] <integer><unit>@<snap_time_unit>
  • error earliest=-d@d latest=-h@h
    • ์–ด์ œ ๋ฐœ์ƒํ•œ error๊ฐ€ ํฌํ•จ๋œ ์ด๋ฒคํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ฒ˜์Œ์œผ๋กœ ์Šค๋ƒ…ํ•œ๋‹ค.
    • ์˜ค๋Š˜์˜ ๊ฐ€์žฅ ์ตœ๊ทผ ์‹œ๊ฐ„(00:00:00)๊ณผ ์˜ค๋Š˜์˜ ๊ฐ€์žฅ ์ตœ๊ทผ ์‹œ๊ฐ„๊นŒ์ง€ ์ •๊ฐ์— ์Šค๋ƒ…ํ•œ๋‹ค.
  • ์‹œ๊ฐ„ ๋‹จ์œ„๋กœ ๋งž์ถ”๊ธฐ๋Š” ์‹œ๊ฐ„์„ ๋‚ด๋ฆผํ•ฉ๋‹ˆ๋‹ค. 
    • ์˜ˆ๋ฅผ ๋“ค์–ด 11:59:00์ด๊ณ  ์‹œ๊ฐ„(@h)์œผ๋กœ ์Šค๋ƒ…ํ•˜๋ฉด ์‚ฌ์šฉ๋œ ์‹œ๊ฐ„์€ 12:00:00์ด ์•„๋‹ˆ๋ผ 11:00:00์ž…๋‹ˆ๋‹ค.
  • ์ผ์š”์ผ์€ @w0, ์›”์š”์ผ์€ @w1 ๋“ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ์š”์ผ๋กœ ์Šค๋ƒ…ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

๐Ÿ€Subsearches๐Ÿ€

  • ํ•˜์œ„ ๊ฒ€์ƒ‰์€ ์ž์ฒด ๊ฒ€์ƒ‰์„ ์‹คํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ์ธ์ˆ˜ ๊ฐ’์œผ๋กœ ์ƒ์œ„ ๋ช…๋ น์— ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
  • ํ•˜์œ„ ๊ฒ€์ƒ‰์ด ๋จผ์ € ์‹คํ–‰๋˜๊ณ  ๋Œ€๊ด„ํ˜ธ ์•ˆ์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  • sourcetype = syslog [ search login error | return 1 user ] 
  • ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์Œ ๊ฒ€์ƒ‰์€ ํ•˜์œ„ ๊ฒ€์ƒ‰์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งˆ์ง€๋ง‰ ๋กœ๊ทธ์ธ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•œ ์‚ฌ์šฉ์ž์˜ ๋ชจ๋“  syslog ์ด๋ฒคํŠธ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.

 

 

๐Ÿ€Optimizing Searches๐Ÿ€

  • ๋น ๋ฅธ ๊ฒ€์ƒ‰์˜ ํ•ต์‹ฌ์€ ๋””์Šคํฌ์—์„œ ๊ฐ€์ ธ์™€์•ผ ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ตœ์†Œํ•œ์œผ๋กœ ์ œํ•œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ํ•„ํ„ฐ๋งํ•˜์—ฌ ํ•„์š”ํ•œ ์ตœ์†Œํ•œ์˜ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•ด ์ฒ˜๋ฆฌ๊ฐ€ ์ˆ˜ํ–‰๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
  • ์—ฌ๋Ÿฌ ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ์—์„œ ๊ฒ€์ƒ‰์„ ๊ฑฐ์˜ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ„๋„์˜ ์ธ๋ฑ์Šค๋กœ ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด ์›น ๋ฐ์ดํ„ฐ๋ฅผ ํ•œ ์ธ๋ฑ์Šค์— ๋„ฃ๊ณ  ๋ฐฉํ™”๋ฒฝ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฅธ ์ธ๋ฑ์Šค์— ๋„ฃ์Šต๋‹ˆ๋‹ค.
  • ์‹œ๊ฐ„ ๋ฒ”์œ„๋ฅผ ํ•„์š”ํ•œ ๋งŒํผ๋งŒ ์ œํ•œํ•˜์‹ญ์‹œ์˜ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, -1w๊ฐ€ ์•„๋‹Œ -1h์ด๊ฑฐ๋‚˜ earliest = -1d์ž…๋‹ˆ๋‹ค.
  • ๊ฐ€๋Šฅํ•œ ํ•œ ๊ตฌ์ฒด์ ์œผ๋กœ ๊ฒ€์ƒ‰ํ•˜์‹ญ์‹œ์˜ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, *error*๊ฐ€ ์•„๋‹Œ fatal_error๋กœ ๊ฒ€์ƒ‰ํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์Šต๋‹ˆ๋‹ค.
  • ๋Œ€์‹œ๋ณด๋“œ์—์„œ ์‚ฌํ›„ ์ฒ˜๋ฆฌ ๊ฒ€์ƒ‰์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์š”์•ฝ ์ธ๋ฑ์‹ฑ, ๋ณด๊ณ ์„œ ๋ฐ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ๊ฐ€์† ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

 

 

๐Ÿ€Machine Learning Capabilities๐Ÿ€

  • Splunk์˜ ๋จธ์‹  ๋Ÿฌ๋‹ ๊ธฐ๋Šฅ์€ ํฌํŠธํด๋ฆฌ์˜ค ์ „์ฒด์— ํ†ตํ•ฉ๋˜์–ด ์žˆ์œผ๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ œํ’ˆ์„ ํ†ตํ•ด ์†”๋ฃจ์…˜์— ๋‚ด์žฅ๋˜์–ด ์žˆ๋‹ค.
    • Splunk MLTK
    • Streaming ML
    • Framework
    • Splunk Machine Learning Environment

 

๐Ÿ€SPL2๐Ÿ€

  • ์—ฌ๋Ÿฌ Splunk ์ œํ’ˆ์€ SPL2๋ผ๋Š” ์ƒˆ๋กœ์šด ๋ฒ„์ „์˜ SPL์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ ์–ธ์–ด๋ฅผ ๋” ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•˜๊ณ  ์ž์ฃผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ช…๋ น์„ ์ œ๊ฑฐํ•˜๋ฉฐ ๋ช…๋ น ๊ตฌ๋ฌธ์˜ ์ผ๊ด€์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.
  • https://docs.splunk.com/Documentation/SCS/current/SearchReference/Introduction ์ฐธ์กฐ
728x90
๋ฐ˜์‘ํ˜•