BackEnd๐ŸŒฑ/Etc

Datadog ์„œ๋ฒ„ ๋ชจ๋‹ˆํ„ฐ๋ง ์‚ดํŽด๋ณด๊ธฐ

dkswnkk 2024. 4. 1. 23:30

์ด๋ฏธ์ง€๋ฅผ ํด๋ฆญํ•˜๋ฉด ํฐ ํ™”๋ฉด์—์„œ ๋”์šฑ ์ž์„ธํ•˜๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Logs

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

Logs - Details

๋กœ๊ทธ ํ•ญ๋ชฉ์„ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ๋กœ๊ทธ์— ๋Œ€ํ•œ ๋” ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ Trace์™€ Metrics ๊ธฐ๋Šฅ์ด ๋งค์šฐ ์œ ์šฉํ•œ๋ฐ, ๋กœ๊ทธ๊ฐ€ ์ƒ์„ฑ๋˜๊ธฐ๊นŒ์ง€์˜ ๊ฒฝ๋กœ์™€ ๋กœ๊ทธ ๋ฐœ์ƒ ์‹œ์ ์˜ CPU ์‚ฌ์šฉ๋Ÿ‰, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰, ๋””์Šคํฌ I/O ๋“ฑ์˜ ์ค‘์š”ํ•œ ๋ฉ”ํŠธ๋ฆญ์„ ์ƒ์„ธํ•˜๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(Trace์™€ Metrics ํ™”๋ฉด์€ ์•„๋ž˜์—์„œ ๋‚˜์˜ฌ ํ™”๋ฉด๊ณผ ๋™์ผํ•˜๊ธฐ์— ์•„๋ž˜์—์„œ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค).

 

 

APM

APM(Application Performance Monitoring)์˜ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ์š”์ฒญ๋“ค์„ ์ƒ์„ธํ•˜๊ฒŒ ์ถ”์ ํ•˜๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๊ฐ€ ์ƒ๊ฐํ•˜๊ธฐ์— APM์€ Datadog์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์ด์ž ๊ฝƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

0. Service Summary

APM์˜ ๋ฉ”์ธ ํ™”๋ฉด์—์„œ๋Š” ๊ฐ€์žฅ ๋จผ์ € Service Summary๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์„ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•˜๊ณ  ๋ถ„์„ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ํ•ต์‹ฌ ์ง€ํ‘œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. 

APM - Service Catalog

ํ•ด๋‹น ๊ทธ๋ž˜ํ”„ ์œ„์— ๋งˆ์šฐ์Šค๋ฅผ ์˜ฌ๋ ค๋†“์œผ๋ฉด 4๊ฐ€์ง€์˜ ๋ชจ๋“  ์ง€ํ‘œ์—์„œ ๋™์ผํ•œ ์‹œ๊ฐ„๋Œ€์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ขŒ์ธก ์ƒ๋‹จ๋ถ€ํ„ฐ ํ•ด๋‹น ์นธ์ด ์˜๋ฏธํ•˜๋Š” ๋ฐ”๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • Requests and Error: ํŠน์ • ์‹œ๊ฐ„ ๋™์•ˆ ์„œ๋น„์Šค๋กœ ๋“ค์–ด์˜จ ์š”์ฒญ์˜ ์ด ์ˆ˜์™€ ๊ทธ์ค‘ ์—๋Ÿฌ๋กœ ์‘๋‹ต๋œ ์š”์ฒญ์˜ ๋น„์œจ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • Errors: ์„œ๋น„์Šค์—์„œ ๋ฐœ์ƒํ•œ ๋ชจ๋“  ์—๋Ÿฌ์˜ ์ˆ˜๋ฅผ ์ง‘๊ณ„ํ•ฉ๋‹ˆ๋‹ค.
  • Latency: ์ง€์—ฐ ์‹œ๊ฐ„(๋˜๋Š” ๋Œ€๊ธฐ ์‹œ๊ฐ„) ์ง€ํ‘œ๋กœ์จ ์„œ๋น„์Šค๊ฐ€ ์š”์ฒญ์„ ๋ฐ›๊ณ  ์‘๋‹ต์„ ์™„๋ฃŒํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฐ ํ‰๊ท  ์‹œ๊ฐ„์„ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ€๋ฆฌ์ดˆ(ms) ๋‹จ์œ„๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.
  • % of TIme Spent: ์„œ๋น„์Šค๊ฐ€ ์ฒ˜๋ฆฌํ•˜๋Š” ์š”์ฒญ ์ค‘์—์„œ ํŠน์ • ์œ ํ˜•์˜ ์ž‘์—…(DB ์ฟผ๋ฆฌ, ์™ธ๋ถ€ API ํ˜ธ์ถœ)์— ์†Œ์š”๋œ ์‹œ๊ฐ„์˜ ๋น„์œจ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  APM์˜ Service Summary ์•„๋ž˜์—์„œ๋Š” ๋‹ค์–‘ํ•œ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์„ฑ๋Šฅ์„ ๋”์šฑ ์ƒ์„ธํ•˜๊ฒŒ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ์ค‘์—์„œ ์ €๋Š” Resources, JVM Metrics, Traces๋ฅผ ์ฃผ๋กœ ํ™•์ธํ•˜๋Š” ๋งŒํผ ์ด ์„ธ ๊ฐ€์ง€์— ๋Œ€ํ•ด ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

1. APM Resources

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

APM - Resources
APM - Resources - Dependencies

ํ•ด๋‹น API๋ฅผ ํด๋ฆญํ•˜๋ฉด ์กฐ๊ธˆ ๋” ์„ธ๋ถ€์ ์œผ๋กœ Resources ์‚ฌ์šฉ ํ˜„ํ™ฉ์„ ์•Œ ์ˆ˜ ์žˆ๋Š”๋ฐ, Dependencies๋ž€์—์„œ๋Š” ์œ„ ์ด๋ฏธ์ง€์ฒ˜๋Ÿผ ํ•ด๋‹น API๊ฐ€ ์–ด๋–ค ์™ธ๋ถ€ ๋ฆฌ์†Œ์Šค์™€ ์˜์กด ๊ด€๊ณ„์— ์žˆ์œผ๋ฉฐ, ๋ช‡ ๋ฒˆ์˜ ์š”์ฒญ์ด ์˜ค๊ฐ€๋Š”์ง€ ํ•œ๋ˆˆ์— ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2. APM JVM Metrics

๋‹ค์Œ์€ JVM Metrics์— ๋Œ€ํ•œ ์„ค๋ช…์ž…๋‹ˆ๋‹ค.

APM - JVM Metrics
APM - JVM Metrics

  • Heap Usage: JVM์—์„œ ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ํž™ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ด๋Ÿ‰๊ณผ ์‚ฌ์šฉ๋Ÿ‰์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ํž™ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์ง€์†์ ์œผ๋กœ ๋†’์€ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•œ๋‹ค๋ฉด, ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋‚˜ GC ์ด์Šˆ๊ฐ€ ์žˆ์„ ๊ฐ€๋Šฅ์„ฑ์„ ์•”์‹œํ•ฉ๋‹ˆ๋‹ค.
  • Non-Heap Usage: JVM์—์„œ ํด๋ž˜์Šค ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ, ์ปดํŒŒ์ผ๋œ ์ฝ”๋“œ ๋“ฑ์„ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๋น„ํž™ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์˜ ์‚ฌ์šฉ๋Ÿ‰์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋น„ํž™ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์ฆ๊ฐ€ํ•˜๋Š” ๊ฒƒ์€ ํด๋ž˜์Šค ๋กœ๋”ฉ์ด๋‚˜ JIT ์ปดํŒŒ์ผ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ์˜๋ฏธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

3. APM Traces

๋‹ค์Œ์€ Traces์ž…๋‹ˆ๋‹ค. Traces๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด๋ถ€์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๊ฐœ๋ณ„ ์š”์ฒญ์˜ ๊ฒฝ๋กœ์™€ ์„ฑ๋Šฅ์„ ์ƒ์„ธํ•˜๊ฒŒ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ฃผ๋กœ Traces๋ฅผ ํ†ตํ•ด ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ผ์œผํ‚ค๋Š” API๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ๊ฐœ์„ ํ•˜๋ฉฐ, ๊ฐœ์„  ํ›„์˜ ์„ฑ๋Šฅ ๋ณ€ํ™”๋„ ์—ฌ๊ธฐ์„œ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

DURATION ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋ฉด ๊ฐ€์žฅ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” API๋ฅผ ์†์‰ฝ๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

APM - Traces
https://medium.com/@ricardomalias/configuring-datadog-on-local-environment-688711933cb2

์œ„์™€ ๊ฐ™์ด ๊ฒ€์ƒ‰ ํ•„ํ„ฐ๋ง์„ ํ†ตํ•ด ์›ํ•˜๋Š” ์ •๋ณด๋งŒ ์„ ๋ณ„ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•ด๋‹น ๋กœ๊ทธ๋ฅผ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ์š”์ฒญ์˜ ๊ฒฝ๋กœ์™€ ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ๋”์šฑ ์ƒ์„ธํ•œ ์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

APM - Traces - Flame Graph

์œ„ ์ด๋ฏธ์ง€๋Š” A ํ”„๋กœ์ ํŠธ์—์„œ GET /v2/xxx API๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  ๋‚ด๋ถ€ ๊ฒฝ๋กœ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์œ„ ๋ง‰๋Œ€๊ทธ๋ž˜ํ”„๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ๊ฐ€ ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰๋˜๋Š”์ง€, ์•„๋‹ˆ๋ฉด ์ˆœ์ฐจ์ ์œผ๋กœ ์‹คํ–‰๋˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž˜ ๋ณด๋ฉด ํ˜„์žฌ ๋ฃจํŠธ API์ธ GET /v2/xxx๋Š” A ํ”„๋กœ์ ํŠธ ๋‚ด์—์„œ B ํ”„๋กœ์ ํŠธ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋กœ์ง์„ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ ๋งŒ์•ฝ B ํ”„๋กœ์ ํŠธ๋„ Datadog์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋‹ค๋ฉด, A ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ๋กœ ์ถ”์ ์„ ํ†ตํ•ด B ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ๋กœ๊นŒ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ Error ๋กœ๊ทธ๋ฅผ ํ†ตํ•ด Flame Graph์— ์ ‘๊ทผํ–ˆ์„ ๊ฒฝ์šฐ์—๋Š” ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ทธ๋ž˜ํ”„๊ฐ€ ๋นจ๊ฐ„์ƒ‰์œผ๋กœ ํ‘œ๊ธฐ๋˜์–ด ๋‚ด๋ถ€์˜ ์–ด๋–ค ๋กœ์ง์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ์†์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ Span List์—์„œ๋Š” ํ˜ธ์ถœ๋˜๋Š” ๋‚ด๋ถ€ ๋กœ์ง(๊ฒฝ๋กœ) ๋“ค์„ ๋ณด๋‹ค ํ™•์‹คํ•˜๊ฒŒ ์ „๋ถ€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, ๊ฐ ๊ฒฝ๋กœ์—์„œ ์†Œ์š”๋œ ์‹œ๊ฐ„, ์ „์†ก๋œ ์ฟผ๋ฆฌ์˜ ์ด ํšŸ์ˆ˜, ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ์ฟผ๋ฆฌ๊ฐ€ ์ „์†ก๋˜์—ˆ๋Š”์ง€๋„ ํ™•์ธ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 

APM - Traces - Span List

์ด์ „์˜ Flame Graph์™€ Span List๋ฅผ ํ•จ๊ป˜ ํ™•์ธํ•˜๋ฉด ๋กœ์ง์˜ ๋ณ‘๋ชฉ์ง€์ ์„ ๋ณด๋‹ค ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•˜์—ฌ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  Map์—์„œ๋Š” ํ•ด๋‹น API๋ฅผ ํ˜ธ์ถœํ–ˆ์„ ๋•Œ ์ผ์–ด๋‚˜๋Š” ๊ณผ์ •๋“ค์„ ๋งˆ์ธ๋“œ๋งต ํ˜•์‹์œผ๋กœ ์ œ๊ณตํ•ด ์ฃผ์–ด ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ์‹œ๊ฐ์ ์œผ๋กœ ๋น ๋ฅด๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

APM - Traces - Map

์—ฌ๊ธฐ๊นŒ์ง€ APM์„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ธฐ์ค€์œผ๋กœ ์ถœ๋ฐœ์ ์œผ๋กœ ์„ค์ •ํ•˜๊ณ  ์ถ”์ ํ–ˆ๋Š”๋ฐ, ๋ฐ˜๋Œ€๋กœ DB๋ฅผ ์ถœ๋ฐœ์ ์œผ๋กœ ์‚ผ์•„ ์—ญ์ˆœ์œผ๋กœ ์ถ”์ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์—ญ์œผ๋กœ DB๋กœ๋ถ€ํ„ฐ ํ˜ธ์ถœํ•˜๋Š” ๋กœ์ง์„ ์„ ๋ณ„ํ•˜๋Š” ๊ณผ์ •์ž…๋‹ˆ๋‹ค.

 

 

Infrastructure

๋งŒ์•ฝ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์—์„œ ๋™์ž‘ํ•˜๊ณ  ์žˆ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ CPU ์‚ฌ์šฉ๋Ÿ‰์„ ํ™•์ธํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด Infrastructure์˜ Container์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Infrastructure - Containers

 

 

Metrics

DB์˜ ์ปดํ“จํŒ… CPU ์‚ฌ์šฉ๋ฅ ์„ ํ™•์ธํ•˜๊ณ  ์‹ถ์œผ๋ฉด Metrics์—์„œ ํ™•์ธ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

Metrics

 

 

์ •๋ฆฌ

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