ELK

1. ELK ๋ž€?

ELK๋Š” ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด, ๋ถ„์„ ๋ฐ ์ €์žฅ ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•˜๋Š” ElasticSearch, ์ˆ˜์ง‘ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” Logstash, ์ด๋ฅผ ์‹œ๊ฐํ™”ํ•˜๋Š” ๋„๊ตฌ์ธ Kibana์˜ ์•ž๊ธ€์ž๋งŒ ๋”ด ๋‹จ์–ด์ด๋‹ค. ELK๋Š” ์ ‘๊ทผ์„ฑ๊ณผ ์šฉ์ด์„ฑ์ด ์ข‹์•„ ์ตœ๊ทผ ๊ฐ€์žฅ ํ•ซํ•œ Log ๋ฐ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋„๊ตฌ์ด๋‹ค.

1) ElasticSearch

  • ElasticSearch๋Š” Lucene ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœํ•œ ๋ถ„์‚ฐ ๊ฒ€์ƒ‰์—”์ง„์œผ๋กœ, Logstash๋ฅผ ํ†ตํ•ด ์ˆ˜์‹ ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ์†Œ์— ์ €์žฅํ•˜๋Š” ์—ญํ• ์„ ๋‹ด๋‹น

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘์‹ฌ๋ถ€์— ์ €์žฅํ•˜์—ฌ ์˜ˆ์ƒ๋˜๋Š” ํ•ญ๋ชฉ์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ํ•ญ๋ชฉ์„ ๋ฐํ˜€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

  • ์ •ํ˜•, ๋น„์ •ํ˜•, ์œ„์น˜์ •๋ณด, ๋ฉ”ํŠธ๋ฆญ ๋“ฑ ์›ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ๊ฒ€์ƒ‰์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ฒฐํ•ฉํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์—˜๋ผ์Šคํ‹ฑ์„œ์น˜(Elasticsearch)๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฒ€์ƒ‰ ์—”์ง„์ด๋‹ค. ์ „ํ†ต์ ์ธ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์žฃ๋Œ€๋กœ ๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์žฅ์ ๊ณผ ๋‹จ์ ์ด ๋‚˜ํƒ€๋‚œ๋‹ค. ๊ฒ€์ƒ‰ ์—”์ง„์˜ ํŠน์„ฑ์„ ์ •ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์žฅ์ ๊ณผ ๋‹จ์ ์ด ์‹ค ์‚ฌ์šฉ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ๋‹ค.

2) Logstash

  • ์˜คํ”ˆ์†Œ์Šค ์„œ๋ฒ„์ธก ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ, ๋‹ค์–‘ํ•œ ์†Œ์Šค์—์„œ ๋™์‹œ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  ๋ณ€ํ™˜ํ•˜์—ฌ stash ๋ณด๊ด€์†Œ๋กœ ๋ณด๋‚ธ๋‹ค.

  • ์ˆ˜์ง‘ํ•  ๋กœ๊ทธ๋ฅผ ์„ ์ •ํ•ด์„œ, ์ง€์ •๋œ ๋Œ€์ƒ ์„œ๋ฒ„(ElasticSearch)์— ์ธ๋ฑ์‹ฑํ•˜์—ฌ ์ „์†กํ•˜๋Š” ์—ญํ• ์„ ๋‹ด๋‹นํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด

3) Kibana

  • ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ํƒ์ƒ‰ํ•˜๊ณ  ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ถ„์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์‹œ๊ฐํ™”๋ฅผ ๋‹ด๋‹นํ•˜๋Š” HTML + Javascript ์—”์ง„์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

  • ํ‚ค๋ฐ”๋‚˜(Kibana)์˜ ๊ฒฝ์šฐ ๋Œ€์ฒด ๊ฐ€๋Šฅํ•œ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ๊ทธ๋ผํŒŒ๋‚˜(Grafana)๊ฐ€ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž๊ฐ€ ์ฃผ๋กœ ์‚ฌ์šฉํ•  ๋ฒ•ํ•œ ๊ธฐ๋Šฅ์„ ์ผ๋ถ€ ์ œ์™ธํ•˜๊ณ  ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(UI) ์ธก๋ฉด์„ ๊ฐ•ํ™”ํ•œ ํŠน์ง•์ด ์žˆ๋‹ค.

2. ELK Stack

  • ELK ์†”๋ฃจ์…˜์—์„œ Beats ์ถ”๊ฐ€๋˜๋ฉด์„œ ELK Stack์ด๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค.

Beats : ์„œ๋ฒ„์— ์—์ด์ „ํŠธ๋กœ ์„ค์น˜ํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ๋ฐ์ดํ„ฐ๋ฅผ ElasticSearch ๋˜๋Š” Logstash์— ์ „์†กํ•˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ๋ฐ์ดํ„ฐ ๋ฐœ์†ก์ž๋‹ค.

3. ์žฅ๋‹จ์ 

์žฅ์ 

  • ๊ฐ•๋ ฅํ•œ ์œ ์—ฐ์„ฑ๊ณผ ํ˜ธํ™˜์„ฑ ์—˜๋ผ์Šคํ‹ฑ์„œ์น˜, ๋กœ๊ทธ์Šคํƒœ์‹œ, ํ‚ค๋ฐ”๋‚˜๋Š” ๊ฐ๊ฐ ๋ฐ์ดํ„ฐ์˜ ์ฟผ๋ฆฌ(๊ฒ€์ƒ‰), ์ˆ˜์ง‘, ์‹œ๊ฐํ™”๋ฅผ ๋‹ด๋‹นํ•œ๋‹ค. ์šฉ๋„๋ณ„๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ฐœ์ „ํ•˜๋Š” ์†”๋ฃจ์…˜์ด๊ธฐ์— ๊ตฌ์กฐ์  ์•ˆ์ •์„ฑ์€ ๋ฌผ๋ก  ๋‹ค๋ฅธ ์‹œ์Šคํ…œ๊ณผ๋„ ์œ ์—ฐํ•œ ํ˜ธํ™˜์„ฑ์„ ๊ฐ€์ง„๋‹ค.

  • ์ž์œ  ์Šคํ‚ค๋งˆ JSON ๋ฐฉ์‹์˜ Key-Value ํ˜•์‹์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฏ€๋กœ ํ˜•์‹์— ์ž์œ ๋กญ๋‹ค. ์ธ๋ฑ์Šค ์™€์ผ๋“œ์นด๋“œ ์ง€์› ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ์น˜๋ฉด ํ…Œ์ด๋ธ”(Table)์— ํ•ด๋‹นํ•˜๋Š” ๊ฐœ๋…์ธ ์ธ๋ฑ์Šค(Index)์˜ Union ๋˜๋Š” Join์ด ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ์™€์ผ๋“œ ์นด๋“œ(*) ํ‘œ๊ธฐ ํ•˜๋‚˜๋กœ ๋๋‚  ์ˆ˜๋„ ์žˆ๋‹ค.

  • ํ™•์žฅ(Scale-out) ๊ฐ€๋Šฅ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฒ˜์Œ๋ถ€ํ„ฐ ํ™•์žฅ์„ ๊ณ ๋ คํ•˜์—ฌ ๋งŒ๋“ค์–ด์กŒ๊ธฐ ๋•Œ๋ฌธ์—, ์—ฌ๋Ÿฌ๋Œ€์˜ ์„œ๋ฒ„๋ฅผ ์—ฎ์–ด์„œ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋Š” ํด๋Ÿฌ์Šคํ„ฐ ๋ฐฉ์‹์„ ๊ตฌ์„ฑํ•  ๋•Œ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ณด๋‹ค ์ƒ๋Œ€์ ์œผ๋กœ ๊ด€๋ จ ์ •๋ณด์— ์‰ฝ๊ฒŒ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

  • ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ ˆ์ฐจ๋ฅผ '๋ ˆ๊ฑฐ์‹œ ์ฝ”๋”ฉ'๋ณด๋‹จ ๊ฐœ๋ณ„ ์„ค์ •์œผ๋กœ ๊ฐ€๋Šฅ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ ˆ์ฐจ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ด์šฉํ•œ ์ฝ”๋”ฉ์œผ๋กœ ๋ช…์‹œํ•œ๋‹ค๋ฉด, ํ–ฅํ›„ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์šฉ์ดํ•˜์ง€ ์•Š๊ณ  ๋ถˆํ•„์š”ํ•œ ์ข…์†์„ฑ์ด ๋†’์•„์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์ง€๋งŒ ๋กœ๊ทธ์Šคํƒœ์‹œ(Logstash)๋ฅผ ํฌํ•จํ•˜๋Š” ELK ์Šคํƒ ๊ตฌ์„ฑ ์‹œ ์œ ์—ฐ์„ฑ ํ™•๋ณด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

  • ์‚ฌ์ „์— ์ค€๋น„๋œ ์‹œ๊ฐํ™” ๋„๊ตฌ์™€ ๋ถ€๊ฐ€๊ธฐ๋Šฅ ๋ฐ์ดํ„ฐ๋ฅผ ์‹œ๊ฐํ™”ํ•˜์—ฌ ๋ณด์—ฌ์ฃผ๊ธฐ ์œ„ํ•œ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค(UI)๋ฅผ ๋‚ด๋ณด๋‚ผ ํ”„๋กœ๊ทธ๋žจ์„ ๋”ฐ๋กœ ์ž‘์„ฑํ•˜์ง€ ์•Š์•„๋„, ์ด๋ฏธ ์‚ฌ์ „์— ์ค€๋น„๋œ ์‹œ๊ฐํ™” ๋„๊ตฌ๋ฅผ ๊ฐ€์ง„ ํ‚ค๋ฐ”๋‚˜(Kibana)๊ฐ€ ๋งˆ์šฐ์Šค ๋ช‡๋ฒˆ ์กฐ์ž‘ํ•˜๋ฉด ๊ฑฐ์ง„ ๋‹ค ์•Œ์•„์„œ ํ•ด์ค€๋‹ค. ๊ทธ ์™ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž๋ฅผ ์œ„ํ•œ ๋ถ€๊ฐ€๊ธฐ๋Šฅ์ด ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.

  • ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฉ”์‹œ์ง€ ํ(Message Queue, MQ)์™€ ๊ฒฐํ•ฉํ•˜๋ฉด ๊ฐ•๋ ฅํ•œ ์‹ค์‹œ๊ฐ„(Realtime) ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋ฐ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์ด ๋œ๋‹ค.

  • ์—˜๋ผ์Šคํ‹ฑ์„œ์น˜์˜ ๋ฒ„์ „ ๋ณ„ ๋ฒŒํฌ(Bulk) ๋ฐฉ๋ฒ• ์ฐจ์ด๋ฅผ ์™„ํ™” ์—˜๋ผ์Šคํ‹ฑ์„œ์น˜์˜ ๋ฒŒํฌ(Bulk)๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์‚ฝ์ž…(Insert)์— ํ•ด๋‹นํ•œ๋‹ค. ํ”„๋กœ๊ทธ๋ž˜๋ฐ์œผ๋กœ ์ง์ ‘ ๊ตฌํ˜„ํ•  ๊ฒฝ์šฐ ์—˜๋ผ์Šคํ‹ฑ์„œ์น˜ ๋ฒ„์ „ ๋ณ„ ๋ฒŒํฌ ๋ฐฉ๋ฒ•์˜ ์ฐจ์ด๊ฐ€ ํฌ๊ธฐ ๋•Œ๋ฌธ์—, ์ธํ„ฐ๋„ท์— ๋– ๋Œ์•„๋‹ค๋‹ˆ๋Š” ํŠœํ† ๋ฆฌ์–ผ๋งŒ ๋ณด๊ณ  ์ง„ํ–‰ํ•˜๊ธฐ์—๋Š” ์˜ค๋ž˜๋œ ์ž๋ฃŒ๋„ ๋งŽ์•„ ๋ฌด๋ฆฌ๊ฐ€ ๋”ฐ๋ฅผ ์ˆ˜ ์žˆ๋‹ค. ๋กœ๊ทธ์Šคํƒœ์‹œ(Logstash)๋กœ ์—˜๋ผ์Šคํ‹ฑ์„œ์น˜๋ฅผ ๋‹ค๋ฃฌ๋‹ค๋ฉด ์ด๋Ÿฐ ๊ฑฑ์ •์€ ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

๋‹จ์ 

  • ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ ๊ตฌ์„ฑ ๋ฐ ์ด๊ด€ ๋ฌธ์ œ ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์žฅ์ ์œผ๋กœ ํ‘œ๋ฐฉํ•˜๊ณ  ์žˆ์œผ๋‚˜, ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ ๊ตฌ์„ฑ์ด ๊ธฐ์กด์— ๋ณด์œ ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์—˜๋ผ์Šคํ‹ฑ์„œ์น˜๋กœ ์ด๊ด€ํ•˜๋Š” ๊ฒƒ์—์„œ ์‹œ์ž‘ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Œ์—๋„ ๊ณต์‹์ ์œผ๋กœ ๊ณต๊ฐœ๋œ ํŠœํ† ๋ฆฌ์–ผ์€ ์‹ฌ๊ฐํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋‚ด์šฉ์ด ์ฃผ๋ฅผ ์ด๋ฃจ๊ณ  ์žˆ๋‹ค. ๋ฌธ์ œ๋Š” ๋Œ€๋ถ€๋ถ„ ์‹ค์‹œ๊ฐ„(Realtime) ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ์ ํ•ฉํ•œ ๋ฐฉ์‹์„ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ด๊ด€์—๋„ ์œ ์šฉํ•˜๋‹ค๊ณ  ์†Œ๊ฐœํ•˜๋Š” ์ ์—์„œ ๋น„๋กฏ๋œ๋‹ค. ๊ฐ€๋ น, ๋ฉ”์‹œ์ง€ ํ(Message Queue, MQ)๋ฅผ ์ด์šฉํ•˜๋ฉด ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋Š” ๋ถ„๋ช… ์•ˆ์ •์„ฑ๊ณผ ์†๋„๋ฉด์—์„œ ๊ฐ•์ ์ด ์žˆ์œผ๋‚˜, 100 ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ(GB) ์ด์ƒ์˜ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(ex. MySQL, ์˜ค๋ผํด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค)์˜ ๋ฐ์ดํ„ฐ ์ด๊ด€ ์ ˆ์ฐจ์— ๊ทธ๋Œ€๋กœ ์ ์šฉํ•˜๋ฉด ์ƒ๋‹นํ•œ ์„ฑ๋Šฅ ์ €ํ•˜์˜ ์šฐ๋ ค๊ฐ€ ์žˆ๋‹ค. JDBC๋ฅผ ์ด์šฉํ•œ ๋ฐฉ๋ฒ•๋„ ๊ณต์‹ ํŠœํ† ๋ฆฌ์–ผ์ด๋‚˜ ์ง€๋‚˜์นœ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ๋ฌธ์ œ๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ๊ฐ€ ๋ช‡ ๊ธฐ๊ฐ€ ์ •๋„๋งŒ ๋˜์–ด๋„ ์‚ฌ์‹ค์ƒ ๋ฐ์ดํ„ฐ ์ด๊ด€ ์šฉ๋„๋กœ๋Š” ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ํ•˜์ง€๋งŒ ํ•ด๊ฒฐ์ฑ…์€ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ ์ด๊ด€์ด ๋ชฉ์ ์ธ ๊ฒฝ์šฐ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ” ๋‚ด์šฉ ์ „์ฒด๋ฅผ ํŒŒ์ผ๋กœ ์ €์žฅํ•œ ๋‹ค์Œ ํŒŒ์ผ๋น„ํŠธ(Filebeat)[1]๋ฅผ ์“ฐ๋Š”๊ฒŒ ํ›จ์”ฌ ๋น ๋ฅผ ์ˆ˜ ์žˆ๋‹ค.[2] ๊ธฐ์กด ๋ฐ์ดํ„ฐ์˜ ์šฉ๋Ÿ‰์ด ๋„ˆ๋ฌด ์ปค์„œ ์–ด์ฉ” ์ˆ˜ ์—†์ด ๋„คํŠธ์›Œํฌ๋ฅผ ์ด์šฉํ•œ๋‹ค ํ•˜์—ฌ๋„ ๋กœ๊ทธ์Šคํƒœ์‹œ(Logstash)์˜ ์ ‘์ ์—์„œ ์†๋„ ์ €ํ•˜ ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ๋„๋ก, ๋ชฉํ‘œํ•œ ํŒŒ์ผ์ด๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์˜ ํ–‰์„ ํ•˜๋‚˜ ์ด์ƒ ์”ฉ ์ผ์ •ํ•œ ์ˆ˜๋กœ ์ฝ์œผ๋ฉด์„œ TCP ๋˜๋Š” UDP ๋“ฑ ์†Œ์ผ“์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋ฉด ํ•ด๊ฒฐ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

  • ์ปค๋„ ๋ณ€์ˆ˜์˜ ๋ถˆํ•„์š”ํ•œ ์‚ฌ์šฉ ELK ์Šคํƒ์„ ๊ตฌ์„ฑํ•˜๋Š” ์†”๋ฃจ์…˜ ์ค‘ ๋กœ๊ทธ์Šคํƒœ์‹œ(Logstash)๋Š” ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ ์ปค๋„์˜ cgroups์— ํ•ด๋‹นํ•˜๋Š” ๋ณ€์ˆ˜๋ฅผ ์ฐธ์กฐํ•˜๋Š” ๋‚ด์šฉ์ด ํฌํ•จ๋˜์–ด ์žˆ๋Š”๋ฐ, ์ด๊ฒƒ์€ ์šด์˜์ฒด์ œ์—์„œ ์ •ํ•œ ์ž„๊ณ„๊ฐ’์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค. ํ•˜์ง€๋งŒ, ์ปค๋„ ์ปดํŒŒ์ผ ์„ค์ •์— ๋”ฐ๋ผ cgroups ๋‚ด์˜ ๋ณ€์ˆ˜๋Š” ์ผ๋ถ€๋Š” ์กด์žฌํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Œ์—๋„, ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘์ด๋ผ๋Š” ๋ชฉ์ ์— ๊ตฌ์ง€ ํ•„์ˆ˜์ ์ด์ง€ ์•Š์€ ๋ณ€์ˆ˜๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋กœ ํ”„๋กœ๊ทธ๋žจ์ด ์ค‘๋‹จ๋˜๋Š” ๋ฌธ์ œ์ ์ด ์žˆ๋‹ค. ์ฃผ๋กœ ์šด์˜์ฒด์ œ์˜ ์ปค๋„ ํฌ๊ธฐ๋ฅผ ์ตœ์†Œํ™”ํ•˜๋ ค๋Š” ์‹œ๋„๊ฐ€ ๋ฐ˜์˜๋˜์—ˆ๊ฑฐ๋‚˜, ์ปค๋„ ๊ณต์œ  ๋ฐฉ์‹์˜ ๊ฐ€์ƒํ™”(์ปค๋„ ๊ณต์œ  ๋ฐฉ์‹์€ ์ €๊ฐ€ํ˜• ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์—์„œ ์ข…์ข… ์“ฐ์ž„)์„ ์ง„ํ–‰ํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉฐ ์ •์ƒ ์„ค์น˜ ๋ฆฌ๋ˆ…์Šค ์šด์˜์ฒด์ œ์˜ ๊ฒฝ์šฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค.

  • ์ดˆ์ฐฝ๊ธฐ๋ถ€ํ„ฐ ํ˜„์žฌ๊นŒ์ง€๋„ ์›ํ™œํ•˜์ง€ ๋ชปํ•œ ์‹œ๊ฐ„๋Œ€(Timezone) ์ฒ˜๋ฆฌ 3๊ฐœ์˜ ์Šคํƒ(๋กœ๊ทธ์Šคํƒœ์‹œ->์—˜๋ผ์Šคํ‹ฑ์„œ์น˜->ํ‚ค๋ฐ”๋‚˜)๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ๋„˜์–ด๊ฐ€๋Š” ๊ณผ์ •์—์„œ ์‹œ๊ฐ„๋Œ€(Timezone) ์ผ๊ด€์„ฑ์ด ๊นจ์ง€๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. 'Asia/Seoul'๊ฐ™์€ ๋ช…์‹œ๋ฅผ ํ•˜์—ฌ๋„, ๋งˆ์น˜ 2์ค‘ ํ™˜์ „์„ ์—ฐ์ƒ์ผ€ํ•˜๋Š” ์‹œ๊ฐ„๋Œ€ ๋ณ€ํ™˜ ์˜ค๋ฅ˜๋ฅผ ์‰ฝ๊ฒŒ ๋ฒ”ํ•œ๋‹ค. ํ•˜์ง€๋งŒ 3๊ฐœ ์†”๋ฃจ์…˜ ๋ชจ๋‘ ๊ธฐ๋ณธ ์‹œ๊ฐ„๋Œ€๊ฐ€ UTC๋ผ๋Š” ์ ์„ ์ธ์ง€ํ•˜๊ณ , ์‹œ๊ฐ„๋Œ€ ์„ค์ •์˜ ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ๋ฅผ ์ตœ๋Œ€ํ•œ ์‹œ๋„ํ•˜์—ฌ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋ ค๋Š” ๋…ธ๋ ฅ์œผ๋กœ ๊ทน๋ณต์ด ๊ฐ€๋Šฅํ•˜๋‹ค

Last updated