์ธก์ •ํ•ญ๋ชฉ ๋ณด๊ธฐ

์ด ์ฃผ์ œ์—์„œ๋Š” Cloud ์šด์˜ ๋Œ€์‹œ๋ณด๋“œ์—์„œ Apigee Hybrid ์ธก์ •ํ•ญ๋ชฉ์„ ๋ณด๋Š” ๋ฐฉ๋ฒ•์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Cloud ์šด์˜ ์ •๋ณด

์ธก์ •ํ•ญ๋ชฉ, ๋Œ€์‹œ๋ณด๋“œ, Cloud ์šด์˜์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ธก์ •ํ•ญ๋ชฉ ์‚ฌ์šฉ ์„ค์ •

Hybrid ์ธก์ •ํ•ญ๋ชฉ์„ Cloud ์šด์˜์œผ๋กœ ์ „์†กํ•˜๋ ค๋ฉด ๋จผ์ € ์ธก์ •ํ•ญ๋ชฉ ์ˆ˜์ง‘์„ ์‚ฌ์šฉ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ ˆ์ฐจ์˜ ์ธก์ •ํ•ญ๋ชฉ ์ˆ˜์ง‘ ๊ตฌ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ธก์ •ํ•ญ๋ชฉ ์ด๋ฆ„ ๋ฐ ๋ผ๋ฒจ ์ •๋ณด

์‚ฌ์šฉ ์„ค์ •ํ•˜๋ฉด Hybird์—์„œ Cloud ์šด์˜ ์ธก์ •ํ•ญ๋ชฉ์„ ์ž๋™์œผ๋กœ ์ฑ„์›๋‹ˆ๋‹ค. ํ•˜์ด๋ธŒ๋ฆฌ๋“œ์—์„œ ์ƒ์„ฑ๋œ ์ธก์ •ํ•ญ๋ชฉ์˜ ๋„๋ฉ”์ธ ์ด๋ฆ„ ํ”„๋ฆฌํ”ฝ์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

apigee.googleapis.com/

์˜ˆ๋ฅผ ๋“ค์–ด /proxyv2/request_count ์ธก์ •ํ•ญ๋ชฉ์—๋Š” API ํ”„๋ก์‹œ๊ฐ€ ์ˆ˜์‹ ํ•œ ์š”์ฒญ ์ด์ˆ˜๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Cloud ์šด์˜์˜ ์ธก์ •ํ•ญ๋ชฉ ์ด๋ฆ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

apigee.googleapis.com/proxyv2/request_count

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

์ธก์ •ํ•ญ๋ชฉ ๋ณด๊ธฐ

๋‹ค์Œ ์˜ˆ์‹œ์—์„œ๋Š” Cloud ์šด์˜์˜ ์ธก์ •ํ•ญ๋ชฉ์„ ๋ณด๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  1. ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ธก์ • ํ•ญ๋ชฉ ํƒ์ƒ‰๊ธฐ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์—ฝ๋‹ˆ๋‹ค. ๋˜๋Š” ์ด๋ฏธ Cloud ์šด์˜ ์ฝ˜์†”์— ์žˆ์œผ๋ฉด ์ธก์ •ํ•ญ๋ชฉ ํƒ์ƒ‰๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. ๋ฆฌ์†Œ์Šค ์œ ํ˜• ๋ฐ ์ธก์ •ํ•ญ๋ชฉ ์ฐพ๊ธฐ์—์„œ ์‚ดํŽด๋ณผ ์ธก์ •ํ•ญ๋ชฉ์„ ์ฐพ์•„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ธก์ •ํ•ญ๋ชฉ์— ๋‚˜์—ด๋œ ํŠน์ • ์ธก์ •ํ•ญ๋ชฉ์„ ์„ ํƒํ•˜๊ฑฐ๋‚˜ ์ธก์ •ํ•ญ๋ชฉ์„ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

  3. ์›ํ•˜๋Š” ์ธก์ •ํ•ญ๋ชฉ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  4. ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ธก์ •ํ•ญ๋ชฉ์˜ ํ•„ํ„ฐ ์„ ํƒ์‚ฌํ•ญ์€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ธก์ •ํ•ญ๋ชฉ์— ๋‚˜์—ด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  5. Cloud ์šด์˜์—์„œ ์„ ํƒํ•œ ์ธก์ •ํ•ญ๋ชฉ์˜ ์ฐจํŠธ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.
  6. ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

๋Œ€์‹œ๋ณด๋“œ ๋งŒ๋“ค๊ธฐ

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

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

๋‹ค์Œ ์˜ˆ์‹œ์—์„œ๋Š” Cloud ์šด์˜์— ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ๋งŒ๋“  ํ›„ ์ฐจํŠธ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์ธก์ •ํ•ญ๋ชฉ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

  1. ๋ธŒ๋ผ์šฐ์ €์—์„œ Monitoring ์ธก์ •ํ•ญ๋ชฉ ํƒ์ƒ‰๊ธฐ๋ฅผ ์—ด๊ณ  ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. +๋Œ€์‹œ๋ณด๋“œ ๋งŒ๋“ค๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. ๋Œ€์‹œ๋ณด๋“œ ์ด๋ฆ„์„ ์ง€์ •ํ•˜์‹ญ์‹œ์˜ค. ์˜ˆ์‹œ: ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํ”„๋ก์‹œ ์š”์ฒญ ํŠธ๋ž˜ํ”ฝ
  4. ํ™•์ธ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.
  5. ๋Œ€์‹œ๋ณด๋“œ์— ์ถ”๊ฐ€ํ•˜๋ ค๋Š” ๊ฐ ์ฐจํŠธ์— ๋Œ€ํ•ด ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด์„ธ์š”.

    1. ๋Œ€์‹œ๋ณด๋“œ์—์„œ ์ฐจํŠธ ์ถ”๊ฐ€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    2. ์ธก์ •ํ•ญ๋ชฉ ๋ณด๊ธฐ์— ์„ค๋ช…๋œ ๋Œ€๋กœ ์›ํ•˜๋Š” ์ธก์ •ํ•ญ๋ชฉ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
    3. ๋Œ€ํ™”์ƒ์ž๋ฅผ ์™„์„ฑํ•ด ์ฐจํŠธ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
    4. ์ €์žฅ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. Cloud ์šด์˜์—์„œ ์„ ํƒํ•œ ์ธก์ •ํ•ญ๋ชฉ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ธก์ •ํ•ญ๋ชฉ

๋‹ค์Œ ํ‘œ์—๋Š” ํ”„๋ก์‹œ ํŠธ๋ž˜ํ”ฝ ๋ถ„์„์šฉ ์ธก์ •ํ•ญ๋ชฉ์ด ๋‚˜์—ด๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํ”„๋ก์‹œ, ๋Œ€์ƒ ์„œ๋ฒ„ ํŠธ๋ž˜ํ”ฝ ์ธก์ •ํ•ญ๋ชฉ

Prometheus ์„œ๋น„์Šค๋Š” ์ธก์ •ํ•ญ๋ชฉ ์ˆ˜์ง‘์— ์„ค๋ช…๋œ ๋Œ€๋กœ ํ”„๋ก์‹œ, ๋Œ€์ƒ, ์„œ๋ฒ„ ํŠธ๋ž˜ํ”ฝ์˜ ์ธก์ •ํ•ญ๋ชฉ์„ ์ˆ˜์ง‘ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” Prometheus์—์„œ ์‚ฌ์šฉํ•˜๋Š” ์ธก์ •ํ•ญ๋ชฉ๊ณผ ๋ผ๋ฒจ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ผ๋ฒจ์€ ์ธก์ •ํ•ญ๋ชฉ ๋กœ๊ทธ ํ•ญ๋ชฉ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ธก์ •ํ•ญ๋ชฉ ์ด๋ฆ„ ๋ผ๋ฒจ ์‚ฌ์šฉ
/proxyv2/request_count method ์ˆ˜์‹ ๋œ API ํ”„๋ก์‹œ ์š”์ฒญ์˜ ์ด ๊ฐœ์ˆ˜์ž…๋‹ˆ๋‹ค.
/proxyv2/response_count method response_code ์ˆ˜์‹ ๋œ API ํ”„๋ก์‹œ ์‘๋‹ต์˜ ์ด ๊ฐœ์ˆ˜์ž…๋‹ˆ๋‹ค.
/proxyv2/latencies_percentile method ์š”์ฒญ์— ๋Œ€ํ•œ ๋ชจ๋“  API ์ •์ฑ… ์‘๋‹ต์˜ ๋ฐฑ๋ถ„์œ„์ˆ˜์ž…๋‹ˆ๋‹ค.
/targetv2/request_count method

target_type

target_endpoint

ํ”„๋ก์‹œ์˜ ๋Œ€์ƒ์œผ๋กœ ์ „์†ก๋œ ์š”์ฒญ์˜ ์ด ๊ฐœ์ˆ˜์ž…๋‹ˆ๋‹ค.
/targetv2/response_count method

response_code

target_type

target_endpoint

ํ”„๋ก์‹œ ๋Œ€์ƒ์—์„œ ์ˆ˜์‹ ๋œ ์‘๋‹ต์˜ ์ด ๊ฐœ์ˆ˜์ž…๋‹ˆ๋‹ค.
/server/fault_count source

์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์˜ค๋ฅ˜์˜ ์ด ๊ฐœ์ˆ˜์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ apigee-runtime, apigee-synchronizer ๋˜๋Š” apigee-udca์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. pod_name ๋ผ๋ฒจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋ณ„๋กœ ๊ฒฐ๊ณผ๋ฅผ ํ•„ํ„ฐ๋งํ•˜์„ธ์š”.

/server/nio state ์—ด๋ ค ์žˆ๋Š” ์†Œ์ผ“์˜ ์ˆ˜์ž…๋‹ˆ๋‹ค.
/server/num_threads ์„œ๋ฒ„์˜ ํ™œ์„ฑ ๋น„๋ฐ๋ชฌ ์Šค๋ ˆ๋“œ ์ˆ˜์ž…๋‹ˆ๋‹ค.
/server/request_count method

type

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

์˜ˆ๋ฅผ ๋“ค์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ apigee-runtime, apigee-synchronizer ๋˜๋Š” apigee-udca์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. pod_name ๋ผ๋ฒจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋ณ„๋กœ ๊ฒฐ๊ณผ๋ฅผ ํ•„ํ„ฐ๋งํ•˜์„ธ์š”.

/server/response_count method

response_code
type

์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ณด๋‚ธ ์‘๋‹ต์˜ ์ด ๊ฐœ์ˆ˜์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ apigee-runtime, apigee-synchronizer ๋˜๋Š” apigee-udca์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. pod_name ๋ผ๋ฒจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋ณ„๋กœ ๊ฒฐ๊ณผ๋ฅผ ํ•„ํ„ฐ๋งํ•˜์„ธ์š”.

/server/latencies method

response_code
type

์ง€์—ฐ ์‹œ๊ฐ„์€ ์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ธํ•œ ์ง€์—ฐ ์‹œ๊ฐ„(๋ฐ€๋ฆฌ์ดˆ)์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ apigee-runtime, apigee-synchronizer ๋˜๋Š” apigee-udca์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. pod_name ๋ผ๋ฒจ์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋ณ„๋กœ ๊ฒฐ๊ณผ๋ฅผ ํ•„ํ„ฐ๋งํ•˜์„ธ์š”.

/upstream/request_count method

type

์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์—…์ŠคํŠธ๋ฆผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ „์†กํ•œ ์š”์ฒญ ์ˆ˜์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด apigee-synchronizer์˜ ๊ฒฝ์šฐ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์€ ์—…์ŠคํŠธ๋ฆผ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ apigee-synchronizer์˜ upstream/request_count๋Š” ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์— ๋Œ€ํ•ด apigee-synchronizer๊ฐ€ ์ˆ˜ํ–‰ํ•œ ์š”์ฒญ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ธก์ •ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค.

/upstream/response_count method

response_code

type

์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์—…์ŠคํŠธ๋ฆผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ˆ˜์‹ ํ•œ ์‘๋‹ต ์ˆ˜์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด apigee-synchronizer์˜ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์€ ์—…์ŠคํŠธ๋ฆผ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ apigee-synchronizer์˜ upstream/response_count๋Š” apigee-synchronizer๊ฐ€ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์—์„œ ์ˆ˜์‹ ํ•œ ์š”์ฒญ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ธก์ •ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค.

/upstream/latencies method

response_code
type

์—…์ŠคํŠธ๋ฆผ ์„œ๋ฒ„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ง€์—ฐ ์‹œ๊ฐ„(๋ฐ€๋ฆฌ์ดˆ)์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด apigee-synchronizer์˜ ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์€ ์—…์ŠคํŠธ๋ฆผ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ apigee-synchronizer์˜ upstream/latencies๋Š” ์ปจํŠธ๋กค ํ”Œ๋ ˆ์ธ์˜ ์ง€์—ฐ ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ธก์ •ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค.

UDCA ์ธก์ •ํ•ญ๋ชฉ

Prometheus ์„œ๋น„์Šค๋Š” ๋‹ค๋ฅธ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์„œ๋น„์Šค์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ UDCA ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ธก์ •ํ•ญ๋ชฉ์„ ์ธก์ •ํ•ญ๋ชฉ ์ˆ˜์ง‘์— ์„ค๋ช…๋œ ๋Œ€๋กœ ์ˆ˜์ง‘ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” Prometheus๊ฐ€ UDCA ์ธก์ •ํ•ญ๋ชฉ ๋ฐ์ดํ„ฐ์— ์‚ฌ์šฉํ•˜๋Š” ์ธก์ •ํ•ญ๋ชฉ๊ณผ ๋ผ๋ฒจ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ผ๋ฒจ์€ ์ธก์ •ํ•ญ๋ชฉ ๋กœ๊ทธ ํ•ญ๋ชฉ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ธก์ •ํ•ญ๋ชฉ ์ด๋ฆ„ ๋ผ๋ฒจ ์‚ฌ์šฉ
/udca/server/local_file_oldest_ts dataset

state

๋ฐ์ดํ„ฐ ์„ธํŠธ์—์„œ ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ํŒŒ์ผ์— ๋Œ€ํ•œ Unix Epoch์˜ ์‹œ์ž‘ ์ดํ›„์˜ ํƒ€์ž„์Šคํƒฌํ”„(๋ฐ€๋ฆฌ์ดˆ)์ž…๋‹ˆ๋‹ค.

์ด ๊ฐ’์€ 60์ดˆ๋งˆ๋‹ค ๊ณ„์‚ฐ๋˜๋ฉฐ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ƒํƒœ๋ฅผ ๋ฐ˜์˜ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. UDCA๊ฐ€ ์ตœ์‹  ์ƒํƒœ์ด๋ฉฐ ์ด ์ธก์ •ํ•ญ๋ชฉ์„ ๊ณ„์‚ฐํ•  ๋•Œ ์—…๋กœ๋“œ ๋Œ€๊ธฐ ์ค‘์ธ ํŒŒ์ผ์ด ์—†๋Š” ๊ฒฝ์šฐ ์ด ๊ฐ’์€ 0์ž…๋‹ˆ๋‹ค.

์ด ๊ฐ’์ด ๊ณ„์† ์ฆ๊ฐ€ํ•˜๋ฉด ๊ธฐ์กด ํŒŒ์ผ์€ ์—ฌ์ „ํžˆ ๋””์Šคํฌ์— ์žˆ์Šต๋‹ˆ๋‹ค.

/udca/server/local_file_latest_ts dataset

state

๋””์Šคํฌ์˜ ์ตœ์‹  ํŒŒ์ผ์— ๋Œ€ํ•œ Unix Epoch์˜ ์‹œ์ž‘ ์ดํ›„์˜ ํƒ€์ž„์Šคํƒฌํ”„(๋ฐ€๋ฆฌ์ดˆ)์ž…๋‹ˆ๋‹ค.

์ด ๊ฐ’์€ 60์ดˆ๋งˆ๋‹ค ๊ณ„์‚ฐ๋˜๋ฉฐ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ƒํƒœ๋ฅผ ๋ฐ˜์˜ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. UDCA๊ฐ€ ์ตœ์‹  ์ƒํƒœ์ด๋ฉฐ ์ด ์ธก์ •ํ•ญ๋ชฉ์„ ๊ณ„์‚ฐํ•  ๋•Œ ์—…๋กœ๋“œ ๋Œ€๊ธฐ ์ค‘์ธ ํŒŒ์ผ์ด ์—†๋Š” ๊ฒฝ์šฐ ์ด ๊ฐ’์€ 0์ž…๋‹ˆ๋‹ค.

/udca/server/local_file_count dataset

state

๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ํฌ๋“œ์— ์žˆ๋Š” ๋””์Šคํฌ์˜ ํŒŒ์ผ ์ˆ˜์ž…๋‹ˆ๋‹ค.

์ด์ƒ์ ์œผ๋กœ ๊ฐ’์€ 0์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค. ๊ฐ’์ด ์ง€์†์ ์œผ๋กœ ๋†’์œผ๋ฉด ํŒŒ์ผ์ด ์—…๋กœ๋“œ๋˜๊ณ  ์žˆ์ง€ ์•Š๊ฑฐ๋‚˜ UDCA์—์„œ ์ถฉ๋ถ„ํžˆ ๋น ๋ฅด๊ฒŒ ์—…๋กœ๋“œํ•  ์ˆ˜ ์—†์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

์ด ๊ฐ’์€ 60์ดˆ๋งˆ๋‹ค ๊ณ„์‚ฐ๋˜๋ฉฐ UDCA์˜ ์ƒํƒœ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ฐ˜์˜ํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

/udca/server/total_latencies dataset

์ƒ์„ฑ ์ค‘์ธ ๋ฐ์ดํ„ฐ ํŒŒ์ผ๊ณผ ์—…๋กœ๋“œ๋œ ๋ฐ์ดํ„ฐ ํŒŒ์ผ ์‚ฌ์ด์˜ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ(์ดˆ)์ž…๋‹ˆ๋‹ค.

๋ฒ„ํ‚ท์€ 100๋ฐ€๋ฆฌ์ดˆ, 250๋ฐ€๋ฆฌ์ดˆ, 500๋ฐ€๋ฆฌ์ดˆ, 1์ดˆ, 2์ดˆ, 4์ดˆ, 8์ดˆ, 16์ดˆ, 32์ดˆ, 64์ดˆ์ž…๋‹ˆ๋‹ค.

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

/udca/server/upload_latencies dataset

UDCA๊ฐ€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ ์—…๋กœ๋“œ์— ์†Œ๋น„ํ•œ ์ด ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

๋ฒ„ํ‚ท์€ 100๋ฐ€๋ฆฌ์ดˆ, 250๋ฐ€๋ฆฌ์ดˆ, 500๋ฐ€๋ฆฌ์ดˆ, 1์ดˆ, 2์ดˆ, 4์ดˆ, 8์ดˆ, 16์ดˆ, 32์ดˆ, 64์ดˆ์ž…๋‹ˆ๋‹ค.

์ธก์ •ํ•ญ๋ชฉ์€ ๋ชจ๋“  ์—…์ŠคํŠธ๋ฆผ ํ˜ธ์ถœ์„ ํฌํ•จํ•œ ์ด ์—…๋กœ๋“œ ์ง€์—ฐ ์‹œ๊ฐ„์— ๋Œ€ํ•œ ํžˆ์Šคํ† ๊ทธ๋žจ์„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

/udca/upstream/http_error_count service

dataset

response_code

UDCA์— ๋ฐœ์ƒํ•œ HTTP ์˜ค๋ฅ˜์˜ ์ด ๊ฐœ์ˆ˜์ž…๋‹ˆ๋‹ค. ์ด ์ธก์ •ํ•ญ๋ชฉ์€ UDCA ์™ธ๋ถ€ ์ข…์† ํ•ญ๋ชฉ์˜ ์–ด๋–ค ๋ถ€๋ถ„์ด ์‹คํŒจํ–ˆ๋Š”์ง€์™€ ๊ทธ ์ด์œ ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์˜ค๋ฅ˜๋Š” ๋‹ค์–‘ํ•œ ์„œ๋น„์Šค(getDataLocation, Cloud storage, Token generator) ๋ฐ ๋‹ค์–‘ํ•œ ์‘๋‹ต ์ฝ”๋“œ๊ฐ€ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์„ธํŠธ(์˜ˆ: api ๋ฐ trace)์—์„œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

/udca/upstream/http_latencies service

dataset

์„œ๋น„์Šค์˜ ์—…์ŠคํŠธ๋ฆผ ์ง€์—ฐ ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.

๋ฒ„ํ‚ท์€ 100๋ฐ€๋ฆฌ์ดˆ, 250๋ฐ€๋ฆฌ์ดˆ, 500๋ฐ€๋ฆฌ์ดˆ, 1์ดˆ, 2์ดˆ, 4์ดˆ, 8์ดˆ, 16์ดˆ, 32์ดˆ, 64์ดˆ์ž…๋‹ˆ๋‹ค.

์—…์ŠคํŠธ๋ฆผ ์„œ๋น„์Šค์˜ ์ง€์—ฐ ์‹œ๊ฐ„ ํžˆ์Šคํ† ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.

/udca/upstream/uploaded_file_sizes dataset

Apigee ์„œ๋น„์Šค์— ์—…๋กœ๋“œ๋˜๋Š” ํŒŒ์ผ ํฌ๊ธฐ(๋‹จ์œ„: ๋ฐ”์ดํŠธ)์ž…๋‹ˆ๋‹ค.

๋ฒ„ํ‚ท์€ 1KB, 10KB, 100KB, 1MB, 10MB, 100MB, 1GB๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ ์„ธํŠธ, ์กฐ์ง, ํ™˜๊ฒฝ๋ณ„ ํŒŒ์ผ ํฌ๊ธฐ ํžˆ์Šคํ† ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.

/udca/upstream/uploaded_file_count dataset UDCA๊ฐ€ Apigee ์„œ๋น„์Šค์— ์—…๋กœ๋“œํ•œ ํŒŒ์ผ ์ˆ˜์ž…๋‹ˆ๋‹ค.

๋‹ค์Œ ์‚ฌํ•ญ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

  • event ๋ฐ์ดํ„ฐ ์„ธํŠธ ๊ฐ’์€ ๊ณ„์† ์ฆ๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์กฐ์ง/ํ™˜๊ฒฝ์— ์ง€์†์ ์ธ ํŠธ๋ž˜ํ”ฝ์ด ์žˆ์œผ๋ฉด api ๋ฐ์ดํ„ฐ ์„ธํŠธ ๊ฐ’์€ ๊ณ„์† ์ฆ๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • Apigee trace ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์š”์ฒญ์„ ๋””๋ฒ„๊น…ํ•˜๊ฑฐ๋‚˜ ๊ฒ€์‚ฌํ•˜๋ฉด trace ๋ฐ์ดํ„ฐ ์„ธํŠธ ๊ฐ’์ด ์ฆ๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
/udca/disk/used_bytes dataset

state

๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ ํฌ๋“œ์˜ ๋””์Šคํฌ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ํŒŒ์ผ์ด ๋ฐ”์ดํŠธ ๋‹จ์œ„๋กœ ์ฐจ์ง€ํ•˜๋Š” ๊ณต๊ฐ„์ž…๋‹ˆ๋‹ค.

์‹œ๊ฐ„ ๊ฒฝ๊ณผ์— ๋”ฐ๋ฅธ ์ด ๊ฐ’์˜ ์ฆ๊ฐ€:

  • ready_to_upload๋Š” ์—์ด์ „ํŠธ๊ฐ€ ์ง€์—ฐ๋˜์—ˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
  • failed๋Š” ํŒŒ์ผ์ด ๋””์Šคํฌ์— ์Œ“์—ฌ ์—…๋กœ๋“œ๋˜์ง€ ์•Š์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ฐ’์€ 60์ดˆ๋งˆ๋‹ค ๊ณ„์‚ฐ๋ฉ๋‹ˆ๋‹ค.
/udca/server/pruned_file_count dataset

state

TTL(Time To Life)์ด ์„ค์ •๋œ ๊ธฐ์ค€์ ์„ ์ดˆ๊ณผํ•˜์—ฌ ์‚ญ์ œ๋œ ํŒŒ์ผ ์ˆ˜์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์„ธํŠธ์—๋Š” API, trace ๋“ฑ์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ƒํƒœ๋Š” UPLOADED, FAILED, DISCARDED์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
/udca/server/retry_cache_size dataset

UDCA๊ฐ€ ์—…๋กœ๋“œ๋ฅผ ๋‹ค์‹œ ์‹œ๋„ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ณ„ ํŒŒ์ผ ์ˆ˜์ž…๋‹ˆ๋‹ค.

UDCA๋Š” ํŒŒ์ผ๋งˆ๋‹ค 3๋ฒˆ์”ฉ ๋‹ค์‹œ ์‹œ๋„ํ•œ ํ›„ ํŒŒ์ผ์„ /failed ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™ํ•˜๊ณ  ์ด ์บ์‹œ์—์„œ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค. 3ํšŒ ์žฌ์‹œ๋„ ํ›„ ํŒŒ์ผ์ด /failed ํ•˜์œ„ ๋””๋ ‰ํ„ฐ๋ฆฌ๋กœ ์ด๋™๋  ๋•Œ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์ด ๊ฐ’์ด ์ฆ๊ฐ€ํ•˜๋ฉด ์บ์‹œ๊ฐ€ ์‚ญ์ œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Cassandra ์ธก์ •ํ•ญ๋ชฉ

Prometheus ์„œ๋น„์Šค๋Š” ๋‹ค๋ฅธ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์„œ๋น„์Šค์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ Cassandra์˜ ์ธก์ •ํ•ญ๋ชฉ์„ ์ธก์ •ํ•ญ๋ชฉ ์ˆ˜์ง‘์— ์„ค๋ช…๋œ ๋Œ€๋กœ ์ˆ˜์ง‘ํ•˜๊ณ  ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ ํ‘œ์—์„œ๋Š” Prometheus๊ฐ€ Cassandra ์ธก์ •ํ•ญ๋ชฉ ๋ฐ์ดํ„ฐ์— ์‚ฌ์šฉํ•˜๋Š” ์ธก์ •ํ•ญ๋ชฉ๊ณผ ๋ผ๋ฒจ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ผ๋ฒจ์€ ์ธก์ •ํ•ญ๋ชฉ ๋กœ๊ทธ ํ•ญ๋ชฉ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ธก์ •ํ•ญ๋ชฉ ์ด๋ฆ„(๋„๋ฉ”์ธ ์ œ์™ธ) ๋ผ๋ฒจ ์‚ฌ์šฉ
/cassandra/process_max_fds ์—ด๋ฆฐ ํŒŒ์ผ ์„ค๋ช…์ž์˜ ์ตœ๋Œ€ ๊ฐœ์ˆ˜์ž…๋‹ˆ๋‹ค.
/cassandra/process_open_fds ์—ด๋ฆฐ ํŒŒ์ผ ์„ค๋ช…์ž์ž…๋‹ˆ๋‹ค.
/cassandra/jvm_memory_pool_bytes_max pool ํ’€์˜ JVM ์ตœ๋Œ€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ž…๋‹ˆ๋‹ค.
/cassandra/jvm_memory_pool_bytes_init pol ํ’€์˜ JVM ์ดˆ๊ธฐ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ž…๋‹ˆ๋‹ค.
/cassandra/jvm_memory_bytes_max area JVM ํž™ ์ตœ๋Œ€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ž…๋‹ˆ๋‹ค.
/cassandra/process_cpu_seconds_total ์‚ฌ์šฉ์ž ๋ฐ ์‹œ์Šคํ…œ CPU ์‹œ๊ฐ„(์ดˆ)์ž…๋‹ˆ๋‹ค.
/cassandra/jvm_memory_bytes_used area JVM ํž™ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ž…๋‹ˆ๋‹ค.
/cassandra/compaction_pendingtasks unit Cassandra sstables๋ฅผ ์œ„ํ•œ ๋›ฐ์–ด๋‚œ ์••์ถ• ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์••์ถ•์„ ์ฐธ์กฐํ•˜์„ธ์š”.
/cassandra/jvm_memory_bytes_init area JVM ํž™ ์ดˆ๊ธฐ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ž…๋‹ˆ๋‹ค.
/cassandra/jvm_memory_pool_bytes_used pool ํ•˜๋“œ์›จ์–ด ํ’€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ž…๋‹ˆ๋‹ค.
/cassandra/jvm_memory_pool_bytes_committed pool JVM ํ’€ ์•ฝ์ • ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ž…๋‹ˆ๋‹ค.
/cassandra/clientrequest_latency scope

unit

75๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜ ๋ฒ”์œ„์˜ ์ฝ๊ธฐ ์š”์ฒญ ์ง€์—ฐ ์‹œ๊ฐ„(๋งˆ์ดํฌ๋กœ์ดˆ)์ž…๋‹ˆ๋‹ค.
/cassandra/jvm_memory_bytes_committed area JVM ํž™ ์•ฝ์ • ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ž…๋‹ˆ๋‹ค.

Cassandra ์ธก์ •ํ•ญ๋ชฉ ์ž‘์—…

Apigee๋Š” ๋‹ค์Œ ์ธก์ •ํ•ญ๋ชฉ์„ Cassandra ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์ธก์ •ํ•ญ๋ชฉ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • Cassandra ์š”์ฒญ ๋น„์œจ: Cassandra ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์š”์ฒญ ๋น„์œจ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ ค๋ฉด ์ด ์ธก์ •ํ•ญ๋ชฉ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
    ์ธก์ •ํ•ญ๋ชฉ: apigee.googleapis.com/cassandra/clientrequest_latency
    ๋ฆฌ์†Œ์Šค ๋ผ๋ฒจ: project_id, location, cluster_name, namespace_name, pod_name, container_name
    ์ธก์ •ํ•ญ๋ชฉ ๋ผ๋ฒจ: scope, unit

    ์ด๋Ÿฌํ•œ ๋ผ๋ฒจ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ๋ฆฌ์†Œ์Šค๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ฑฐ๋‚˜ ๊ทธ๋ฃนํ™”ํ•ฉ๋‹ˆ๋‹ค.

    cassandra ์ฝ๊ธฐ ์š”์ฒญ ๋น„์œจ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ ค๋ฉด ๋‹ค์Œ ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

    ํ•„ํ„ฐ: metric.scope == 'Read'
    metric.unit == 'OneMinuteRate'

    cassandra ์“ฐ๊ธฐ ์š”์ฒญ ๋น„์œจ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ ค๋ฉด ๋‹ค์Œ ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

    ํ•„ํ„ฐ: metric.scope == 'Write'
    metric.unit == 'OneMinuteRate'
  • Cassandra ์š”์ฒญ ์ง€์—ฐ ์‹œ๊ฐ„: Cassandra ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์š”์ฒญ ์ง€์—ฐ ์‹œ๊ฐ„์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ ค๋ฉด ์ด ์ธก์ •ํ•ญ๋ชฉ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ์ธก์ •ํ•ญ๋ชฉ์€ ์š”์ฒญ ๋น„์œจ๊ณผ ๋™์ผํ•œ ์ธก์ •ํ•ญ๋ชฉ์ด๋ฉฐ, ๋‹ค๋ฅธ ํ•„ํ„ฐ๊ฐ€ ์ ์šฉ๋œ apigee.googleapis.com/cassandra/clientrequest_latency์ž…๋‹ˆ๋‹ค.

    cassandra ์ฝ๊ธฐ ์š”์ฒญ ์ง€์—ฐ ์‹œ๊ฐ„์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ ค๋ฉด ๋‹ค์Œ ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

    ํ•„ํ„ฐ: metric.scope == 'Read'
    metric.unit == '99thPercentile' ๋˜๋Š” '95thPercentile' ๋˜๋Š” '75thPercentile'

    Cassandra ์“ฐ๊ธฐ ์š”์ฒญ ์ง€์—ฐ ์‹œ๊ฐ„์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋ ค๋ฉด ๋‹ค์Œ ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค.

    ํ•„ํ„ฐ: metric.scope == 'Write'
    metric.unit == '99thPercentile' ๋˜๋Š” '95thPercentile' ๋˜๋Š” '75thPercentile'
  • Cassandra ํฌ๋“œ CPU ์š”์ฒญ ์‚ฌ์šฉ๋ฅ 
    ์ธก์ •ํ•ญ๋ชฉ: kubernetes.io/container/cpu/request_utilization
    ๋ฆฌ์†Œ์Šค ๋ผ๋ฒจ: project_id, location, cluster_name, namespace_name, pod_name, container_name

    ์ด๋Ÿฌํ•œ ๋ผ๋ฒจ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ๋ฆฌ์†Œ์Šค๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ฑฐ๋‚˜ ๊ทธ๋ฃนํ™”ํ•ฉ๋‹ˆ๋‹ค.

  • Cassandra ๋ฐ์ดํ„ฐ ๋ณผ๋ฅจ ์‚ฌ์šฉ๋ฅ 
    ์ธก์ •ํ•ญ๋ชฉ: kubernetes.io/pod/volume/utilization
    ๋ฆฌ์†Œ์Šค ๋ผ๋ฒจ: project_id, location, cluster_name, namespace_name, pod_name
    ์ธก์ •ํ•ญ๋ชฉ ๋ผ๋ฒจ: volume_name

    ์ด๋Ÿฌํ•œ ๋ผ๋ฒจ์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ๋ฆฌ์†Œ์Šค๋ฅผ ํ•„ํ„ฐ๋งํ•˜๊ฑฐ๋‚˜ ๊ทธ๋ฃนํ™”ํ•ฉ๋‹ˆ๋‹ค.

Cassandra ํด๋Ÿฌ์Šคํ„ฐ ํ™•์žฅ ๊ถŒ์žฅ์‚ฌํ•ญ

๋‹ค์Œ ๊ฐ€์ด๋“œ๋ผ์ธ์€ Cassandra ํด๋Ÿฌ์Šคํ„ฐ ํ™•์žฅ ๊ฒฐ์ •์„ ์œ„ํ•ด ๊ถŒ์žฅ๋˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ ์š”์ฒญ์— 99๋ฒˆ์งธ ๋ฐฑ๋ถ„์œ„์ˆ˜ ์ง€์—ฐ ์‹œ๊ฐ„์ด ์ผ๊ด€๋˜๊ฒŒ ํ‘œ์‹œ๋˜๊ฑฐ๋‚˜, ์ง€์—ฐ ์‹œ๊ฐ„์ด ์ง€์†์ ์œผ๋กœ ์ฆ๊ฐ€ํ•˜๋Š” ์ถ”์„ธ์ด๊ณ , CPU ์š”์ฒญ ์‚ฌ์šฉ๋Ÿ‰ ๊ธ‰์ฆ์—์„œ ํ•ด๋‹น ๊ธ‰์ฆ์ด ํ™•์ธ๋˜๊ณ  ์ฝ๊ธฐ ๋˜๋Š” ์“ฐ๊ธฐ ์š”์ฒญ ๋น„์œจ์ด ํ‘œ์‹œ๋˜๋ฉด Cassandra ํด๋Ÿฌ์Šคํ„ฐ์˜ ์‚ฌ์šฉ๋Ÿ‰์ด ๋†’์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ์—๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ํ™•์žฅํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Cassandra ํ™•์žฅ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์ธก์ •ํ•ญ๋ชฉ๊ธฐ์ค€ํŠธ๋ฆฌ๊ฑฐ ๊ธฐ๊ฐ„
kubernetes.io/pod/volume/utilization85%5๋ถ„
kubernetes.io/container/cpu/request_utilization85%3๋ถ„
Read request Latency 99thPercentile5์ดˆ3๋ถ„
Write request Latency 99thPercentile5์ดˆ3๋ถ„