Prometheus, Clickhouse ๋ฐ ELK์— ๋ชจ๋‹ˆํ„ฐ๋ง์„ ๊ตฌ์ถ•ํ•œ ๋ฐฉ๋ฒ•

๋‚ด ์ด๋ฆ„์€ ์•ˆํ†ค ๋ฒ ์ด๋”๋ฆฐ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ์ฒจ๋‹จ๊ธฐ์ˆ ์„ผํ„ฐ์—์„œ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ ์—…๋ฌด๋ฅผ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•œ ๋‹ฌ ์ „, ์šฐ๋ฆฌ ๋„์‹œ์˜ IT ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ์ถ•์ ๋œ ๊ฒฝํ—˜์„ ๊ณต์œ ํ•˜๋Š” ๊ธฐ์—… ์ปจํผ๋Ÿฐ์Šค๊ฐ€ ๋๋‚ฌ์Šต๋‹ˆ๋‹ค. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ชจ๋‹ˆํ„ฐ๋ง์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ์ž๋ฃŒ๋Š” ์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๊ตฌ์ถ•ํ•˜์ง€ ์•Š์€ ์ค‘๊ธ‰ ๋˜๋Š” ์ค‘๊ธ‰ ์ˆ˜์ค€์„ ๋Œ€์ƒ์œผ๋กœ ์ž‘์„ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Prometheus, Clickhouse ๋ฐ ELK์— ๋ชจ๋‹ˆํ„ฐ๋ง์„ ๊ตฌ์ถ•ํ•œ ๋ฐฉ๋ฒ•

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

ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ

์ด ํ”„๋กœ์ ํŠธ๋Š” ๋ฏธ๊ตญ ์ตœ๋Œ€ ๊ทœ๋ชจ์˜ ๋กœ์—ดํ‹ฐ ํ”„๋กœ๊ทธ๋žจ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ณด๋„ˆ์Šค ์นด๋“œ์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๋งˆ์ผ€ํŒ… ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์†Œ๋งค ์ฒด์ธ์ด ํŒ๋งค ๋นˆ๋„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ๋„๋ก ๋•์Šต๋‹ˆ๋‹ค. ์ „์ฒด์ ์œผ๋กœ ์ด ํ”„๋กœ์ ํŠธ์—๋Š” 14๊ฐœ์˜ ์„œ๋ฒ„์—์„œ ์‹คํ–‰๋˜๋Š” XNUMX๊ฐœ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

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

์ œ ๊ฒฝ์šฐ์—๋Š” ์ด์ „์— ๊ณ ๊ฐ์˜ ๋ชจ๋‹ˆํ„ฐ๋ง ์‹œ์Šคํ…œ์ด Icinga๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์œ„์˜ ๋ฌธ์ œ๋Š” ์–ด๋–ค ์‹์œผ๋กœ๋“  ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ณ ๊ฐ์ด ์ง์ ‘ ๋ฌธ์ œ์— ๋Œ€ํ•ด ์•Œ๋ ค์ฃผ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜์œผ๋ฉฐ, ์›์ธ์„ ํŒŒ์•…ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์•˜์Šต๋‹ˆ๋‹ค.

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

ํ”„๋กœ ๋ฉ”ํ…Œ์šฐ์Šค

์šฐ๋ฆฌ๋Š” ์„ธ ๊ฐ€์ง€ ์ฃผ์š” ์ง€ํ‘œ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ Prometheus๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ธก์ •ํ•ญ๋ชฉ์ด ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ์—๋Š” 60๋งŒ ๊ฐœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌผ๋ก  ์šฐ๋ฆฌ๋Š” ๊ทธ ์ค‘ ๋Œ€๋‹ค์ˆ˜(์•ฝ 95% ์ •๋„)๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ์ ์— ์ฃผ๋ชฉํ•  ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด์—, ๊ทธ๊ฒƒ๋“ค์€ ๋ชจ๋‘ ์ƒ๋Œ€์ ์œผ๋กœ ์ €๋ ดํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์—๊ฒŒ ์ด๊ฒƒ์€ ์ด์ „์— ์‚ฌ์šฉ๋œ Icinga์™€ ๋น„๊ตํ•  ๋•Œ ๋‹ค๋ฅธ ๊ทน๋‹จ์ž…๋‹ˆ๋‹ค. ๊ทธ ์•ˆ์—์„œ ์ธก์ •ํ•ญ๋ชฉ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ํŠน๋ณ„ํ•œ ๊ณ ํ†ต์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด ์ธก์ •ํ•ญ๋ชฉ์€ ๋น„์šฉ์ด ๋งŽ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค(ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์‚ดํŽด๋ณด์„ธ์š”). ๋ชจ๋“  ํ”Œ๋Ÿฌ๊ทธ์ธ์€ Bash ๋˜๋Š” Python์˜ ์Šคํฌ๋ฆฝํŠธ์˜€์œผ๋ฉฐ ์‹คํ–‰ ์‹œ ๋ฆฌ์†Œ์Šค ์†Œ๋น„ ์ธก๋ฉด์—์„œ ๋น„์šฉ์ด ๋งŽ์ด ๋“ญ๋‹ˆ๋‹ค.
  2. ์ด ์‹œ์Šคํ…œ์€ ์ƒ๋Œ€์ ์œผ๋กœ ์ ์€ ์–‘์˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์†Œ๋น„ํ•ฉ๋‹ˆ๋‹ค. 600MB RAM, 15๊ฐœ ์ฝ”์–ด์˜ XNUMX%, ์ˆ˜์‹ญ ๊ฐœ์˜ IOPS์ด๋ฉด ๋ชจ๋“  ์ธก์ • ํ•ญ๋ชฉ์— ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๋ฌผ๋ก  ๋ฉ”ํŠธ๋ฆญ ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ์‹คํ–‰ํ•ด์•ผ ํ•˜์ง€๋งŒ ๋ชจ๋‘ Go๋กœ ์ž‘์„ฑ๋˜์—ˆ์œผ๋ฉฐ ์ „๋ ฅ ์†Œ๋ชจ๋„ ํฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ํ˜„๋Œ€ ํ˜„์‹ค์—์„œ ์ด๊ฒƒ์ด ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  3. Kubernetes๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๊ณ ๊ฐ์˜ ๊ณ„ํš์„ ๊ณ ๋ คํ•˜๋ฉด ์„ ํƒ์€ ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๊ณ ๋ผ๋‹ˆ

์ด์ „์—๋Š” ๋กœ๊ทธ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ฑฐ๋‚˜ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‹จ์ ์€ ๋ˆ„๊ตฌ์—๊ฒŒ๋‚˜ ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ์ด ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ๊ฒฝํ—˜์ด ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ELK๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๊ทธ๋งŒ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ์„ ํƒ ๊ธฐ์ค€์€ ์ „์ฒด ํ…์ŠคํŠธ ๊ฒ€์ƒ‰๊ณผ ์†๋„์˜€์Šต๋‹ˆ๋‹ค.

ํด๋ฆญํ•˜์šฐ์Šค

์ฒ˜์Œ์—๋Š” InfluxDB๋ฅผ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Nginx ๋กœ๊ทธ, pg_stat_statements์˜ ํ†ต๊ณ„๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  Prometheus ๊ธฐ๋ก ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•ด์•ผ ํ•  ํ•„์š”์„ฑ์„ ๊นจ๋‹ฌ์•˜์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” Influx๊ฐ€ ์ฃผ๊ธฐ์ ์œผ๋กœ ๋งŽ์€ ์–‘์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์†Œ๋น„ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๊ณ  ์ถฉ๋Œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งˆ์Œ์— ๋“ค์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€, Remote_addr๋ณ„๋กœ ์ฟผ๋ฆฌ๋ฅผ ๊ทธ๋ฃนํ™”ํ•˜๊ณ  ์‹ถ์—ˆ๋Š”๋ฐ, ์ด DBMS์—์„œ๋Š” ํƒœ๊ทธ๋ณ„๋กœ ๊ทธ๋ฃนํ™”๋งŒ ๋˜๋„ค์š”. ํƒœ๊ทธ๋Š” ๋น„์šฉ์ด ๋งŽ์ด ๋“ค๊ณ (๋ฉ”๋ชจ๋ฆฌ) ๊ฐœ์ˆ˜๊ฐ€ ์กฐ๊ฑด๋ถ€๋กœ ์ œํ•œ๋ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋‹ค์‹œ ๊ฒ€์ƒ‰์„ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•œ ๊ฒƒ์€ ๋ฆฌ์†Œ์Šค ์†Œ๋น„๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ  ๊ฐ€๊ธ‰์ ์ด๋ฉด ๋””์Šคํฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ์••์ถ•ํ•˜๋Š” ๋ถ„์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜€์Šต๋‹ˆ๋‹ค.

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

NewRelic

NewRelic์€ ๊ณ ๊ฐ์˜ ์„ ํƒ์ด์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ญ์‚ฌ์ ์œผ๋กœ ์šฐ๋ฆฌ์™€ ํ•จ๊ป˜ํ•ด ์™”์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์„ APM์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ž ๋น„์ธ 

์šฐ๋ฆฌ๋Š” ๋‹ค์–‘ํ•œ API์˜ ๋ธ”๋ž™๋ฐ•์Šค๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•ด Zabbix๋ฅผ ๋…์ ์ ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋‹ˆํ„ฐ๋ง ์ ‘๊ทผ ๋ฐฉ์‹ ์ •์˜

์šฐ๋ฆฌ๋Š” ์ž‘์—…์„ ๋ถ„ํ•ดํ•˜์—ฌ ๋ชจ๋‹ˆํ„ฐ๋ง ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ฒด๊ณ„ํ™”ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด ์ €๋Š” ์‹œ์Šคํ…œ์„ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ˆ˜์ค€์œผ๋กœ ๋‚˜๋ˆ„์—ˆ์Šต๋‹ˆ๋‹ค.

  • ํ•˜๋“œ์›จ์–ด ๋ฐ VMS;
  • ์šด์˜ ์ฒด์ œ
  • ์‹œ์Šคํ…œ ์„œ๋น„์Šค, ์†Œํ”„ํŠธ์›จ์–ด ์Šคํƒ;
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜;
  • ๋น„์ฆˆ๋‹ˆ์Šค ๋…ผ๋ฆฌ.

์ด ์ ‘๊ทผ ๋ฐฉ์‹์ด ํŽธ๋ฆฌํ•œ ์ด์œ :

  • ์šฐ๋ฆฌ๋Š” ๊ฐ ์ˆ˜์ค€์˜ ์ž‘์—…์„ ๋‹ด๋‹นํ•˜๋Š” ์‚ฌ๋žŒ์ด ๋ˆ„๊ตฌ์ธ์ง€ ์•Œ๊ณ  ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฒฝ๊ณ ๋ฅผ ๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ฒฝ๊ณ ๋ฅผ ์–ต์ œํ•  ๋•Œ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€์ƒ ๋จธ์‹  ์ „์ฒด๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์„ ๋•Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ€์šฉ์„ฑ์— ๋Œ€ํ•œ ๊ฒฝ๊ณ ๋ฅผ ๋ณด๋‚ด๋Š” ๊ฒƒ์€ ์ด์ƒํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ์˜ ์ž„๋ฌด๋Š” ์‹œ์Šคํ…œ ์šด์˜์˜ ์œ„๋ฐ˜ ์‚ฌํ•ญ์„ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ๊ฐ ์ˆ˜์ค€์—์„œ ๊ฒฝ๊ณ  ๊ทœ์น™์„ ์ž‘์„ฑํ•  ๋•Œ ์ฃผ์˜ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ํŠน์ • ์ธก์ •ํ•ญ๋ชฉ ์ง‘ํ•ฉ์„ ๊ฐ•์กฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์œผ๋กœ "VMS", "์šด์˜ ์ฒด์ œ" ๋ฐ "์‹œ์Šคํ…œ ์„œ๋น„์Šค, ์†Œํ”„ํŠธ์›จ์–ด ์Šคํƒ" ์ˆ˜์ค€์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ€์ƒ ๋จธ์‹ 

ํ˜ธ์ŠคํŒ…์€ ์šฐ๋ฆฌ์—๊ฒŒ ํ”„๋กœ์„ธ์„œ, ๋””์Šคํฌ, ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ๋„คํŠธ์›Œํฌ๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ์ฒ˜์Œ ๋‘ ๊ฐœ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ธก์ •ํ•ญ๋ชฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

CPU ๋„๋‚œ ์‹œ๊ฐ„ - Amazon์—์„œ ๊ฐ€์ƒ ๋จธ์‹ (์˜ˆ: t2.micro)์„ ๊ตฌ๋งคํ•  ๋•Œ ์ „์ฒด ํ”„๋กœ์„ธ์„œ ์ฝ”์–ด๊ฐ€ ํ• ๋‹น๋˜์ง€ ์•Š๊ณ  ์‹œ๊ฐ„ ํ• ๋‹น๋Ÿ‰๋งŒ ํ• ๋‹น๋œ๋‹ค๋Š” ์ ์„ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์„ ์†Œ์ง„ํ•˜๋ฉด ํ”„๋กœ์„ธ์„œ๊ฐ€ ๋‹น์‹ ์—๊ฒŒ์„œ ๋ฉ€์–ด ์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด ์ง€ํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ทธ๋Ÿฌํ•œ ์ˆœ๊ฐ„์„ ์ถ”์ ํ•˜๊ณ  ๊ฒฐ์ •์„ ๋‚ด๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋” ๋†’์€ ์š”๊ธˆ์„ ๋ถ€๊ณผํ•˜๊ฑฐ๋‚˜ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—… ๋ฐ API ์š”์ฒญ ์ฒ˜๋ฆฌ๋ฅผ ๋‹ค๋ฅธ ์„œ๋ฒ„์— ๋ถ„์‚ฐํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

IOPS + CPU iowait ์‹œ๊ฐ„ - ์–ด๋–ค ์ด์œ ๋กœ ๋งŽ์€ ํด๋ผ์šฐ๋“œ ํ˜ธ์ŠคํŒ…์ด ์ถฉ๋ถ„ํ•œ IOPS๋ฅผ ์ œ๊ณตํ•˜์ง€ ์•Š์Œ์œผ๋กœ์จ ์ฃ„๋ฅผ ์ง“์Šต๋‹ˆ๋‹ค. ๊ฒŒ๋‹ค๊ฐ€ IOPS๊ฐ€ ๋‚ฎ์€ ์ผ์ •์€ ๊ทธ๋“ค์—๊ฒŒ ๋…ผ์Ÿ๊ฑฐ๋ฆฌ๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ CPU iowait๋ฅผ ์ˆ˜์ง‘ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. IOPS๊ฐ€ ๋‚ฎ๊ณ  I/O ๋Œ€๊ธฐ๊ฐ€ ๋†’์€ ์ด ๊ทธ๋ž˜ํ”„ ์Œ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋ฏธ ํ˜ธ์ŠคํŒ…๊ณผ ๋Œ€ํ™”ํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šด์˜ ์ฒด์ œ

์šด์˜ ์ฒด์ œ ์ธก์ •ํ•ญ๋ชฉ:

  • ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ ์–‘(%);
  • ์Šค์™‘ ์‚ฌ์šฉ ํ™œ๋™: vmstat swapin, swapout;
  • ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ inode ์ˆ˜ ๋ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ์—ฌ์œ  ๊ณต๊ฐ„(%)
  • ํ‰๊ท  ๋ถ€ํ•˜;
  • tw ์ƒํƒœ์˜ ์—ฐ๊ฒฐ ์ˆ˜;
  • conntrack ํ…Œ์ด๋ธ” ์ถฉ๋งŒ๋„;
  • ๋„คํŠธ์›Œํฌ ํ’ˆ์งˆ์€ ss ์œ ํ‹ธ๋ฆฌํ‹ฐ์ธ iproute2 ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ถœ๋ ฅ์—์„œ โ€‹โ€‹RTT ์—ฐ๊ฒฐ ํ‘œ์‹œ๊ธฐ๋ฅผ ๊ฐ€์ ธ์™€ ๋Œ€์ƒ ํฌํŠธ๋ณ„๋กœ ๊ทธ๋ฃนํ™”ํ•ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ ์šด์˜ ์ฒด์ œ ์ˆ˜์ค€์—๋Š” ํ”„๋กœ์„ธ์Šค์™€ ๊ฐ™์€ ์—”ํ„ฐํ‹ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์šด์˜์— ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•˜๋Š” ์ผ๋ จ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ์Šคํ…œ์—์„œ ์‹๋ณ„ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์—ฌ๋Ÿฌ pgpool์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๊ฐ๊ฐ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ธก์ •ํ•ญ๋ชฉ ์ง‘ํ•ฉ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • CPU;
  • ๊ธฐ์–ต์€ ์ฃผ๋กœ ์ƒ์ฃผํ•ฉ๋‹ˆ๋‹ค.
  • IO - ๋ฐ”๋žŒ์งํ•˜๊ฒŒ๋Š” IOPS์ž…๋‹ˆ๋‹ค.
  • FileFd - ์—ด๊ธฐ ๋ฐ ์ œํ•œ;
  • ์‹ฌ๊ฐํ•œ ํŽ˜์ด์ง€ ์˜ค๋ฅ˜ - ์ด๋ฅผ ํ†ตํ•ด ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ต์ฒด๋˜๊ณ  ์žˆ๋Š”์ง€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” Docker์— ๋ชจ๋“  ๋ชจ๋‹ˆํ„ฐ๋ง์„ ๋ฐฐํฌํ•˜๊ณ  Advisor๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”ํŠธ๋ฆญ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ปดํ“จํ„ฐ์—์„œ๋Š” ํ”„๋กœ์„ธ์Šค ๋‚ด๋ณด๋‚ด๊ธฐ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

์‹œ์Šคํ…œ ์„œ๋น„์Šค, ์†Œํ”„ํŠธ์›จ์–ด ์Šคํƒ

๊ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—๋Š” ๊ณ ์œ ํ•œ ํŠน์„ฑ์ด ์žˆ์œผ๋ฏ€๋กœ ํŠน์ • ์ธก์ •ํ•ญ๋ชฉ ์ง‘ํ•ฉ์„ ๊ณจ๋ผ๋‚ด๋Š” ๊ฒƒ์€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.

๋ฒ”์šฉ ์„ธํŠธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ์š”์ฒญ๋ฅ ;
  • ์‹ค์ˆ˜์˜ ์ˆ˜;
  • ์ง€์—ฐ ์‹œ๊ฐ„;
  • ํฌํ™”.

์ด ์ˆ˜์ค€์—์„œ ๊ฐ€์žฅ ๋ˆˆ์— ๋„๋Š” ๋ชจ๋‹ˆํ„ฐ๋ง ์‚ฌ๋ก€๋Š” Nginx์™€ PostgreSQL์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ๋กœ๋“œ๋˜๋Š” ์„œ๋น„์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. ๊ณผ๊ฑฐ์—๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋ฌด์—‡์„ ํ•˜๊ณ  ์žˆ๋Š”์ง€ ํŒŒ์•…ํ•˜๋Š” ๋ฐ ์ข…์ข… ์–ด๋ ค์›€์„ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค.

๋””์Šคํฌ์˜ ๋กœ๋“œ๊ฐ€ ๋†’์€ ๊ฒƒ์„ ํ™•์ธํ–ˆ์ง€๋งŒ ๋Š๋ฆฐ ๋กœ๊ทธ์—๋Š” ์‹ค์ œ๋กœ ์•„๋ฌด ๊ฒƒ๋„ ํ‘œ์‹œ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ฟผ๋ฆฌ ํ†ต๊ณ„๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ๋ทฐ์ธ pg_stat_statements๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ๊ด€๋ฆฌ์ž์—๊ฒŒ ํ•„์š”ํ•œ ์ „๋ถ€์ž…๋‹ˆ๋‹ค.

์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์š”์ฒญ ํ™œ๋™์— ๋Œ€ํ•œ ๊ทธ๋ž˜ํ”„๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

Prometheus, Clickhouse ๋ฐ ELK์— ๋ชจ๋‹ˆํ„ฐ๋ง์„ ๊ตฌ์ถ•ํ•œ ๋ฐฉ๋ฒ•
Prometheus, Clickhouse ๋ฐ ELK์— ๋ชจ๋‹ˆํ„ฐ๋ง์„ ๊ตฌ์ถ•ํ•œ ๋ฐฉ๋ฒ•

๋ชจ๋“  ๊ฒƒ์ด ๊ฐ„๋‹จํ•˜๊ณ  ๋ช…ํ™•ํ•˜๋ฉฐ ๊ฐ ์š”์ฒญ์—๋Š” ๊ณ ์œ ํ•œ ์ƒ‰์ƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜‘๊ฐ™์ด ๋ˆˆ์— ๋„๋Š” ์˜ˆ๋Š” Nginx ๋กœ๊ทธ์ž…๋‹ˆ๋‹ค. ํ•„์ˆ˜ํ’ˆ ๋ชฉ๋ก์—์„œ ์ด๋ฅผ ๋ถ„์„ํ•˜๊ฑฐ๋‚˜ ์–ธ๊ธ‰ํ•˜๋Š” ์‚ฌ๋žŒ์ด ๊ฑฐ์˜ ์—†๋‹ค๋Š” ๊ฒƒ์€ ๋†€๋ผ์šด ์ผ์ด ์•„๋‹™๋‹ˆ๋‹ค. ํ‘œ์ค€ ํ˜•์‹์€ ๊ทธ๋‹ค์ง€ ์œ ์ตํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ ํ™•์žฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ์ธ์ ์œผ๋กœ request_time, upstream_response_time, body_bytes_sent, request_length, request_id๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  ์‘๋‹ต ์‹œ๊ฐ„๊ณผ ์˜ค๋ฅ˜ ์ˆ˜๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

Prometheus, Clickhouse ๋ฐ ELK์— ๋ชจ๋‹ˆํ„ฐ๋ง์„ ๊ตฌ์ถ•ํ•œ ๋ฐฉ๋ฒ•
Prometheus, Clickhouse ๋ฐ ELK์— ๋ชจ๋‹ˆํ„ฐ๋ง์„ ๊ตฌ์ถ•ํ•œ ๋ฐฉ๋ฒ•

์šฐ๋ฆฌ๋Š” ์‘๋‹ต ์‹œ๊ฐ„๊ณผ ์˜ค๋ฅ˜ ์ˆ˜์— ๋Œ€ํ•œ ๊ทธ๋ž˜ํ”„๋ฅผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์–ตํ•˜๋‹ค? ๋‚ด๊ฐ€ ์‚ฌ์—… ๋ชฉํ‘œ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ–ˆ๋‚˜์š”? ๋น ๋ฅด๊ณ  ์˜ค๋ฅ˜ ์—†์ด? ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ๋‘ ๊ฐœ์˜ ์ฐจํŠธ๋ฅผ ํ†ตํ•ด ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃจ์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ฏธ ์ด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ทผ๋ฌด ์ค‘์ธ ๊ด€๋ฆฌ์ž์—๊ฒŒ ์ „ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์‚ฌ๊ฑด์˜ ์›์ธ์„ ์‹ ์†ํ•˜๊ฒŒ ์ œ๊ฑฐํ•˜๋Š” ๋ฐ ๋˜ ๋‹ค๋ฅธ ๋ฌธ์ œ๊ฐ€ ๋‚จ์•„ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ๊ณ  ํ•ด๊ฒฐ

๋ฌธ์ œ ์‹๋ณ„๋ถ€ํ„ฐ ํ•ด๊ฒฐ๊นŒ์ง€์˜ ์ „์ฒด ํ”„๋กœ์„ธ์Šค๋Š” ์—ฌ๋Ÿฌ ๋‹จ๊ณ„๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฌธ์ œ ์‹๋ณ„;
  • ์ง๋ฌด ๊ด€๋ฆฌ์ž์—๊ฒŒ ํ†ต์ง€;
  • ์‚ฌ๊ฑด์— ๋Œ€ํ•œ ๋Œ€์‘;
  • ์›์ธ ์ œ๊ฑฐ.

์ด ์ž‘์—…์„ ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ œ๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ์•Œ๋ฆผ์„ ๋ณด๋‚ด๋Š” ๋‹จ๊ณ„์—์„œ ๋งŽ์€ ์‹œ๊ฐ„์„ ์–ป์„ ์ˆ˜ ์—†๋‹ค๋ฉด ์–ด๋–ค ๊ฒฝ์šฐ์—๋„ XNUMX๋ถ„์ด ์†Œ์š”๋˜๋ฉฐ ํ›„์† ๋ฌธ์ œ๋Š” ๊ฐœ์„ ์„ ์œ„ํ•ด ๋‹จ์ˆœํžˆ ๊ฒฝ์ž‘๋˜์ง€ ์•Š์€ ๋ถ„์•ผ์ž…๋‹ˆ๋‹ค.

๋‹น์ง ์žฅ๊ต์˜ ์ „ํ™”๊ฐ€ ์šธ๋ ธ๋‹ค๊ณ  ์ƒ์ƒํ•ด ๋ด…์‹œ๋‹ค. ๊ทธ๋Š” ๋ฌด์—‡์„ ํ•  ๊ฒƒ์ธ๊ฐ€? ์งˆ๋ฌธ์— ๋Œ€ํ•œ ๋‹ต์„ ์ฐพ์•„๋ณด์„ธ์š”. ๋ฌด์—‡์ด ๊ณ ์žฅ๋‚ฌ๊ณ , ์–ด๋””์„œ ๊ณ ์žฅ๋‚ฌ์œผ๋ฉฐ, ์–ด๋–ป๊ฒŒ ๋Œ€์‘ํ•ด์•ผ ํ• ๊นŒ์š”? ์ด๋Ÿฌํ•œ ์งˆ๋ฌธ์— ๋‹ตํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

Prometheus, Clickhouse ๋ฐ ELK์— ๋ชจ๋‹ˆํ„ฐ๋ง์„ ๊ตฌ์ถ•ํ•œ ๋ฐฉ๋ฒ•

์•Œ๋ฆผ ํ…์ŠคํŠธ์— ์ด ๋ชจ๋“  ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๊ณ , ์ด ๋ฌธ์ œ์— ๋Œ€์‘ํ•˜๋Š” ๋ฐฉ๋ฒ•, ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ณ  ์—์Šค์ปฌ๋ ˆ์ด์…˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๋Š” ์œ„ํ‚ค ํŽ˜์ด์ง€ ๋งํฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ €๋Š” ์•„์ง ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ์ด์–ด์™€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์— ๋Œ€ํ•ด ์•„๋ฌด ๋ง๋„ ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์•ˆํƒ€๊น๊ฒŒ๋„ ์šฐ๋ฆฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์•„์ง ์ธก์ •ํ•ญ๋ชฉ ์ˆ˜์ง‘์„ ๊ตฌํ˜„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ˆ˜์ค€์˜ ์ •๋ณด์— ๋Œ€ํ•œ ์œ ์ผํ•œ ์†Œ์Šค๋Š” ๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.

๋ช‡ ๊ฐ€์ง€ ์š”์ .

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

๋‘˜์งธ, ์‹ฌ๊ฐ๋„ ์ˆ˜์ค€์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. ๊ฐ ์–ธ์–ด์—๋Š” ๊ณ ์œ ํ•œ ํ‘œ์ค€์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ์ €๋Š” ๋„ค ๊ฐ€์ง€ ์ˆ˜์ค€์„ ๊ตฌ๋ถ„ํ•ฉ๋‹ˆ๋‹ค.

  1. ์˜ค๋ฅ˜ ์—†์Œ;
  2. ํด๋ผ์ด์–ธํŠธ ์ธก ์˜ค๋ฅ˜;
  3. ์‹ค์ˆ˜๋Š” ์šฐ๋ฆฌ ํŽธ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ˆ์„ ์žƒ์ง€ ์•Š์œผ๋ฉฐ ์œ„ํ—˜์„ ๊ฐ์ˆ˜ํ•˜์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค.
  4. ์‹ค์ˆ˜๋Š” ์šฐ๋ฆฌ ํŽธ์ด๊ณ  ์šฐ๋ฆฌ๋Š” ๋ˆ์„ ์žƒ์Šต๋‹ˆ๋‹ค.

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

์ „์ฒด ๋น„์ฆˆ๋‹ˆ์Šค๊ฐ€ ๋ธŒ๋ผ์šฐ์ €์˜ ๋ฒ„ํŠผ ํ•˜๋‚˜๋ผ๋ฉด ํด๋ฆญ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•˜๋Š”์ง€ ๋ชจ๋‹ˆํ„ฐ๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€๋Š” ๋ชจ๋‘ ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์—†๋‹ค๋ฉด ์šฐ๋ฆฌ๊ฐ€ ํ–ˆ๋˜ ๊ฒƒ์ฒ˜๋Ÿผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋กœ๊ทธ, Nginx ๋กœ๊ทธ ๋“ฑ์—์„œ ๋”ฐ๋ผ์žก์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ํ•œ ์ง€์›์„œ์— ๊ฐ€๊นŒ์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์šด์˜ ์ฒด์ œ ์ธก์ • ํ•ญ๋ชฉ์€ ๋ฌผ๋ก  ์ค‘์š”ํ•˜์ง€๋งŒ ๊ธฐ์—…์€ ์ด์— ๊ด€์‹ฌ์ด ์—†์œผ๋ฉฐ ์ด์— ๋Œ€ํ•œ ๋Œ€๊ฐ€๋ฅผ ๋ฐ›์ง€๋„ ์•Š์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€