DevOps

๐Ÿ”ญ[Monitoring ํŠน์ง‘] ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ๊ณผ ELK ์Šคํƒ

์ด๋ฒˆ ์†Œ์‹์ง€์—์„  ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ ํŠน์ง‘์œผ๋กœ ๊ตฌ์„ฑํ•ด๋ดค์Šต๋‹ˆ๋‹ค.

2024.02.05 | ์กฐํšŒ 478 |
0
|

DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€

DevOps, ํด๋ผ์šฐ๋“œ, IT ๊ธฐ์ˆ  ๊ด€๋ จ ์ตœ์‹  ์†Œ์‹๊ณผ ์ •๋ณด๋ฅผ ์ •๋ฆฌํ•ด์„œ ์ฃผ 1ํšŒ ์ด๋ฉ”์ผ๋กœ ์ „ํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค๐Ÿ˜บ

์•ˆ๋…•ํ•˜์„ธ์š” ๊ตฌ๋…์ž๋‹˜, ์ตœ์‹  DevOps ์†Œ์‹์„ ์ •๋ฆฌํ•ด์„œ ๊ณต์œ ํ•ด๋“œ๋ฆฌ๋Š” DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€์ž…๋‹ˆ๋‹ค.

์ด๋ฒˆ ์†Œ์‹์ง€์—์„  ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ ํŠน์ง‘์œผ๋กœ ๊ตฌ์„ฑํ•ด๋ดค์Šต๋‹ˆ๋‹ค. ๋จผ์ € ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์— ๋Œ€ํ•ด ์†Œ๊ฐœํ•œ ๋‹ค์Œ, ํ˜„์žฌ ๋„๋ฆฌ ์“ฐ์ด๊ณ  ์žˆ๋Š” ELK ์Šคํƒ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ“œ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์ด๋ž€ ๋ฌด์—‡์ผ๊นŒ?

๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์€ ๋กœ๊ทธ๋ฅผ ์ˆ˜์ง‘, ์ฒ˜๋ฆฌ, ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.
๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์€ ๋กœ๊ทธ๋ฅผ ์ˆ˜์ง‘, ์ฒ˜๋ฆฌ, ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ์ถ•ํ•ฉ๋‹ˆ๋‹ค.

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

๊ทธ๋ ‡๋‹ค๋ฉด ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์€ ์™œ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฑธ๊นŒ์š”? ๊ทธ ์ด์œ ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

ํ˜„์žฌ ๋„๋ฆฌ ์“ฐ์ด๊ณ  ์žˆ๋Š” ์˜คํ”ˆ์†Œ์Šค ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง ์Šคํƒ์œผ๋กœ๋Š” ELK(Elasticsearch, Logstash, Kibana) ์Šคํƒ๊ณผ PLG(Promtail, Loki, Grafana) ์Šคํƒ์ด ์žˆ๋Š”๋ฐ์š”. ์ด๋ฒˆ์ฃผ์—” ELK ์Šคํƒ์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ”ŽELK ์Šคํƒ ์‚ดํŽด๋ณด๊ธฐ

ELK ์Šคํƒ์„ ์ด๋ฃจ๋Š” ์ฃผ์š” ๊ตฌ์„ฑ ํˆด์€ Elasticsearch, Logstash, Kibana, Beats์ž…๋‹ˆ๋‹ค. 
ELK ์Šคํƒ์„ ์ด๋ฃจ๋Š” ์ฃผ์š” ๊ตฌ์„ฑ ํˆด์€ Elasticsearch, Logstash, Kibana, Beats์ž…๋‹ˆ๋‹ค. 

ELK ์Šคํƒ์ด๋ž€ Elasticsearch, Logstash, Kibana์˜ ์•ž๊ธ€์ž๋ฅผ ๋”ฐ์˜จ ๋ง๋กœ, ๋ชจ๋‘ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ ๋ฐ ๋ถ„์„ํ•˜๋Š” ํˆด๋“ค์˜ ์ด๋ฆ„์„ ๋ชจ์•„์„œ ๋งŒ๋“  ์šฉ์–ด์ž…๋‹ˆ๋‹ค. 

Elasticsearch๋Š” ๋ฐ์ดํ„ฐ ๊ฒ€์ƒ‰ ์—”์ง„, Logstash๋Š” ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํŒŒ์ดํ”„๋ผ์ธ ํˆด, Kibana๋Š” ๋ฐ์ดํ„ฐ ์‹œ๊ฐํ™” ๋Œ€์‹œ๋ณด๋“œ ํˆด์ธ๋ฐ์š”. ์—ฌ๊ธฐ์— ์ถ”๊ฐ€๋กœ, Beats๋ผ๊ณ  ํ•˜๋Š” ๊ฒฝ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ํˆด์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.

์•ž์„œ ELK ์Šคํƒ์ด ๋„๋ฆฌ ์“ฐ์ด๊ณ  ์žˆ๋Š” ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง ์Šคํƒ ์ค‘ ํ•˜๋‚˜๋ผ๊ณ  ํ–ˆ๋Š”๋ฐ์š”. ์‚ฌ๋žŒ๋“ค์ด ELK ์Šคํƒ์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์ด์œ ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์˜คํ”ˆ์†Œ์Šค ํˆด๋กœ ๊ตฌ์„ฑ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋„์˜ ๋น„์šฉ ์—†์ด ๋ฌด๋ฃŒ๋กœ ๊ตฌ์ถ• ๊ฐ€๋Šฅ
  • ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค(์„œ๋น„์Šค, ์‹œ์Šคํ…œ)๋กœ๋ถ€ํ„ฐ ๋ฐœ์ƒํ•œ ๋กœ๊ทธ์™€ ์ด๋ฒคํŠธ ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์ˆ˜์ง‘ ๊ฐ€๋Šฅ
  • Kibana์—์„œ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ํ™œ์šฉํ•œ ๋Œ€์‹œ๋ณด๋“œ ๊ตฌ์ถ• ๊ฐ€๋Šฅ

 

ELK ์Šคํƒ์ด ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์ด์œ ๋ฅผ ์•Œ์•˜์œผ๋‹ˆ, ELK ์Šคํƒ์ด ๋™์ž‘ํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•ด ์ข€ ๋” ์‚ดํŽด๋ณผ๊นŒ์š”?

ELK ์‹œ์Šคํ…œ์—์„œ์˜ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๊ฐ„๋žตํžˆ ํ‘œํ˜„ํ•œ ๊ทธ๋ฆผ์ž…๋‹ˆ๋‹ค.
ELK ์‹œ์Šคํ…œ์—์„œ์˜ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ๊ฐ„๋žตํžˆ ํ‘œํ˜„ํ•œ ๊ทธ๋ฆผ์ž…๋‹ˆ๋‹ค.
  • Beats์˜ ์—ญํ• 
    • ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ๋Œ€์ƒ์œผ๋กœ๋ถ€ํ„ฐ ๋ฐœ์ƒํ•˜๋Š” ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘
    • ์ˆ˜์ง‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ์ง€์ •๋œ ๋Œ€์ƒ์—๊ฒŒ ์ „๋‹ฌ
  • Logstash์˜ ์—ญํ• 
    • Input: ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋กœ๋ถ€ํ„ฐ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ (Beats๋„ ๋ฐ์ดํ„ฐ ์†Œ์Šค ์ค‘ ํ•˜๋‚˜)
    • Filter: ์ˆ˜์ง‘ํ•œ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ํ•„ํ„ฐ๋ง (๋‹ค์–‘ํ•œ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ฐ€๊ณต ๋“ฑ์„ ์ˆ˜ํ–‰)
    • Output: ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋กœ ์ „๋‹ฌ (Elasticsearch๋„ ๋ฐ์ดํ„ฐ ์†Œ์Šค์— ํ•ด๋‹น)
  • Elasticsearch์˜ ์—ญํ• 
    • ์ „๋‹ฌ๋ฐ›์€ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ์ €์žฅ (Store)
    • ์ €์žฅ๋œ ๋กœ๊ทธ ๋ฐ์ดํ„ฐ๋ฅผ API๋กœ ๊ฒ€์ƒ‰ ๊ฐ€๋Šฅ (Search)
  • Kibana์˜ ์—ญํ• 
    • Elasticsearch์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์‹œ๊ฐํ™” ๊ฐ€๋Šฅ
    • Elasticsearch์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉ์ž๊ฐ€ ์‰ฝ๊ฒŒ ๊ฒ€์ƒ‰ํ•˜๊ณ  ํ•„ํ„ฐ๋ง ๊ฐ€๋Šฅ

 

์ด์ฒ˜๋Ÿผ ELK ์Šคํƒ์„ ํ™œ์šฉํ•˜๋ฉด ๋กœ๊ทธ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘๋ถ€ํ„ฐ ๊ฐ€๊ณต, ๋ถ„์„, ์‹œ๊ฐํ™”๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๐Ÿ”ญ๋งˆ์น˜๋ฉฐ...

์ด๋ฒˆ ์†Œ์‹์ง€์—์„  ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์†Œ๊ฐœ์™€, ํ˜„์žฌ ๋„๋ฆฌ ์‚ฌ์šฉ๋˜๋Š” ELK ์Šคํƒ์— ๋Œ€ํ•ด ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค.

๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์€ DevOps์— ์ค‘์š”ํ•œ ์š”์†Œ์ธ ๋งŒํผ, ์ถ”ํ›„ ๋‹ค๋ฅธ ๋กœ๊ทธ ๋ชจ๋‹ˆํ„ฐ๋ง ์Šคํƒ์— ๋Œ€ํ•ด์„œ๋„ ์†Œ๊ฐœํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์ ธ๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ˜น์‹œ ์ด๋ฒˆ ๋‚ด์šฉ ๊ด€๋ จํ•ด์„œ ๋” ๊ถ๊ธˆํ•œ ์ ์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด ์•„๋ž˜ ๋ฉ”์ผ๋ฆฌ ๋Œ“๊ธ€ ๋‚จ๊ฒจ์ฃผ์„ธ์š”.๐Ÿ˜€

๊ทธ๋Ÿผ, ๋‹ค์Œ ์†Œ์‹์ง€์—์„œ ๋ณด๋‹ค ์•Œ์ฐจ๊ณ  ํฅ๋ฏธ๋กœ์šด ๋‚ด์šฉ์œผ๋กœ ์ฐพ์•„๋ต™๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ˜บ

 

๐Ÿ”—์ถœ์ฒ˜

5 ELK Stack Pros and Cons

ELK Stack ํ›‘์–ด๋ณด๊ธฐ

https://www.elastic.co/kr/elastic-stack

 

๋‹ค๊ฐ€์˜ฌ ๋‰ด์Šค๋ ˆํ„ฐ๊ฐ€ ๊ถ๊ธˆํ•˜์‹ ๊ฐ€์š”?

์ง€๊ธˆ ๊ตฌ๋…ํ•ด์„œ ์ƒˆ๋กœ์šด ๋ ˆํ„ฐ๋ฅผ ๋ฐ›์•„๋ณด์„ธ์š”

์ด๋ฒˆ ๋‰ด์Šค๋ ˆํ„ฐ ์–ด๋– ์…จ๋‚˜์š”?

DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€ ๋‹˜์—๊ฒŒ โ˜•๏ธ ์ปคํ”ผ์™€ โœ‰๏ธ ์ชฝ์ง€๋ฅผ ๋ณด๋‚ด๋ณด์„ธ์š”!

๋Œ“๊ธ€

์˜๊ฒฌ์„ ๋‚จ๊ฒจ์ฃผ์„ธ์š”

ํ™•์ธ
์˜๊ฒฌ์ด ์žˆ์œผ์‹ ๊ฐ€์š”? ์ œ์ผ ๋จผ์ € ๋Œ“๊ธ€์„ ๋‹ฌ์•„๋ณด์„ธ์š” !

ยฉ 2024 DevOps ์—ฌํ–‰์„ ์œ„ํ•œ ์†Œ์‹์ง€

DevOps, ํด๋ผ์šฐ๋“œ, IT ๊ธฐ์ˆ  ๊ด€๋ จ ์ตœ์‹  ์†Œ์‹๊ณผ ์ •๋ณด๋ฅผ ์ •๋ฆฌํ•ด์„œ ์ฃผ 1ํšŒ ์ด๋ฉ”์ผ๋กœ ์ „ํ•ด๋“œ๋ฆฝ๋‹ˆ๋‹ค๐Ÿ˜บ

๋‰ด์Šค๋ ˆํ„ฐ ๋ฌธ์˜ : eduukulelekim@gmail.com

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ ์˜ค๋ฅ˜ ๋ฐ ๊ธฐ๋Šฅ ๊ด€๋ จ ์ œ๋ณด

์„œ๋น„์Šค ์ด์šฉ ๋ฌธ์˜admin@team.maily.so

๋ฉ”์ผ๋ฆฌ (๋Œ€ํ‘œ์ž: ์ดํ•œ๊ฒฐ) | ์‚ฌ์—…์ž๋ฒˆํ˜ธ: 717-47-00705 | ์„œ์šธ ์„œ์ดˆ๊ตฌ ๊ฐ•๋‚จ๋Œ€๋กœ53๊ธธ 8, 8์ธต 11-7ํ˜ธ

์ด์šฉ์•ฝ๊ด€ | ๊ฐœ์ธ์ •๋ณด์ฒ˜๋ฆฌ๋ฐฉ์นจ | ์ •๊ธฐ๊ฒฐ์ œ ์ด์šฉ์•ฝ๊ด€