Cloud Trace ๊ฐœ์š”

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

Trace๋Š” App Engine๊ณผ ๊ฐ™์€ ์ผ๋ถ€ ์„œ๋น„์Šค์™€ Cloud Trace API๋กœ ๊ณ„์ธกํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ง€์—ฐ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์‹ ํ•˜๋ฏ€๋กœ ๋‹ค์Œ ์งˆ๋ฌธ์˜ ๋‹ต์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Google Cloud

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ํŠน์ • ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ์ด์œ 
  • ์ผ๋ถ€ ์š”์ฒญ์ด ๋‹ค๋ฅธ ์š”์ฒญ๋ณด๋‹ค ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ด์œ 
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ์š”์ฒญ์˜ ์ „์ฒด ์ง€์—ฐ ์‹œ๊ฐ„
  • ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ง€์—ฐ ์‹œ๊ฐ„ ์ฆ๊ฐ€ ๋˜๋Š” ๊ฐ์†Œ
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ง€์—ฐ ์‹œ๊ฐ„์„ ์ค„์ด๋Š” ๋ฐฉ๋ฒ•
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ข…์† ํ•ญ๋ชฉ

Trace๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ๊ถ๊ธˆํ•˜๋‹ค๋ฉด ๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฌธ์ œ ํ•ด๊ฒฐ: ๊ทผ๋ณธ ์›์ธ ๋ถ„์„์„ ์œ„ํ•ด trace์™€ ๋กœ๊ทธ๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœํŒŒ์ผ๋ง์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Cloud Profiler๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

ํ™˜๊ฒฝ ์ง€์›

Trace๋Š” ๋‹ค์Œ ํ™˜๊ฒฝ์˜ Linux์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

Trace๋Š” trace ์ •๋ณด๋ฅผ ์บก์ฒ˜ํ•˜๊ธฐ ์œ„ํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ณ„์ธก์šฉ ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์–ธ์–ด๋ณ„ ์„ค์ • ์•ˆ๋‚ด๋Š” Trace ๊ณ„์ธก์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์ž๋™ trace๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ์„ฑ

์ผ๋ถ€ ๊ตฌ์„ฑ์—์„œ๋Š” trace ๋ฐ์ดํ„ฐ๊ฐ€ ์ž๋™์œผ๋กœ ์บก์ฒ˜๋ฉ๋‹ˆ๋‹ค.

  • App Engine ํ‘œ์ค€ ํ™˜๊ฒฝ

    Java 8, Python 2, PHP 5 ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ Trace ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋Ÿฐํƒ€์ž„์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ URI์— ๋Œ€ํ•œ ์š”์ฒญ์˜ ์ง€์—ฐ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ Trace์— ์ž๋™์œผ๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ์—๋Š” App Engine ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์™•๋ณต RPC ํ˜ธ์ถœ์˜ ์ง€์—ฐ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. Trace๋Š” Cloud SQL์„ ์ œ์™ธํ•œ ๋ชจ๋“  App Engine Admin API์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

  • Cloud Run Functions ๋ฐ Cloud Run

    ์ˆ˜์‹  ๋ฐ ๋ฐœ์‹  HTTP ์š”์ฒญ์˜ ๊ฒฝ์šฐ ์ง€์—ฐ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๊ฐ€ Trace๋กœ ์ž๋™์œผ๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

์–ธ์–ด ์ง€์›

๋‹ค์Œ ํ‘œ์—๋Š” Trace ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ Trace๋กœ์˜ ๋‚ด๋ณด๋‚ด๊ธฐ๊ฐ€ ์žˆ๋Š” OpenTelemetry ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ฐ€์šฉ์„ฑ์ด ์š”์•ฝ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์–ธ์–ด ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
์‚ฌ์šฉ ๊ฐ€๋Šฅ
OpenTelemetry
๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ/๋‚ด๋ณด๋‚ด๊ธฐ ๋„๊ตฌ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
C++ ์˜ˆ ์˜ˆ
C# ASP.NET Core ์˜ˆ ์•„๋‹ˆ์š”
C# ASP.NET ์˜ˆ ์•„๋‹ˆ์š”
Go ์˜ˆ ์˜ˆ
์ž๋ฐ” ์˜ˆ ์˜ˆ
Node.js ์˜ˆ ์˜ˆ
PHP ์˜ˆ ์•„๋‹ˆ์š”
Python ์˜ˆ ์˜ˆ
Ruby ์˜ˆ ์˜ˆ

OpenTelemetry ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ํ•ด๋‹น Trace API์˜ ์ผ๋ถ€ ๋ณต์žกํ•œ ๋‚ด์šฉ์„ ํ‘œ์‹œํ•˜์ง€ ์•Š์œผ๋ฏ€๋กœ Trace ํด๋ผ์ด์–ธํŠธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ณด๋‹ค ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ„์ธก ๊ถŒ์žฅ์‚ฌํ•ญ์€ ๊ณ„์ธก ๋ฐฉ๋ฒ• ์„ ํƒ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ตฌ์„ฑ์š”์†Œ

Trace๋Š” trace๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ Google Cloud ํ”„๋กœ์ ํŠธ๋กœ ์ „์†กํ•˜๋Š” ์ถ”์  ํด๋ผ์ด์–ธํŠธ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์ŒGoogle Cloud ์ฝ˜์†”์„ ์‚ฌ์šฉํ•˜์—ฌ ์—์ด์ „ํŠธ๊ฐ€ ์ˆ˜์ง‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ trace ๋ฐ ์ŠคํŒฌ์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

์ถ”์  ํด๋ผ์ด์–ธํŠธ

OpenTelemetry ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ OpenTelemetry๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ trace ๋ฐ์ดํ„ฐ๋ฅผ ๋งŒ๋“ค๊ณ  ๋ณด๋‚ด๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. OpenTelemetry๋Š” ์‚ฌ์šฉ์ด ๊ฐ„ํŽธํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ผ๊ด„ ์ฒ˜๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

OpenTelemetry ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์—†์œผ๋ฉด trace SDK ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  Cloud Trace API๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ฝ”๋“œ๋ฅผ ๊ณ„์ธกํ•ฉ๋‹ˆ๋‹ค. Cloud Trace API๋Š” trace ๋ฐ์ดํ„ฐ๋ฅผ Google Cloud ํ”„๋กœ์ ํŠธ๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค.

์ถ”์  ์ธํ„ฐํŽ˜์ด์Šค

Trace ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ๊ฑฐ์˜ ์‹ค์‹œ๊ฐ„์œผ๋กœ trace ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ณ  ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Trace ํƒ์ƒ‰๊ธฐ ํŽ˜์ด์ง€์—๋Š” trace ๋ฐ์ดํ„ฐ์— ๊ด€ํ•œ ์ง‘๊ณ„ ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋˜๋ฉฐ ๊ฐœ๋ณ„ trace๋ฅผ ์ž์„ธํžˆ ์‚ดํŽด๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง‘๊ณ„๋œ ์ง€์—ฐ ์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ๋Š” ํžˆํŠธ๋งต์— ํ‘œ์‹œ๋˜๋ฉฐ, ํฌ์ธํ„ฐ๋กœ ํƒ์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ‘œ์‹œ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ œํ•œํ•˜๋ ค๋ฉด ํ•„ํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์ด ํŽ˜์ด์ง€์—์„œ๋Š” ๊ฐœ๋ณ„ ์ŠคํŒฌ๊ณผ ํŠธ๋ ˆ์ด์Šค๋ฅผ ํ™•์ธํ•˜๊ณ  ํƒ์ƒ‰ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

VPC ์„œ๋น„์Šค ์ œ์–ด ์ง€์›

Trace๋Š” VPC ์„œ๋น„์Šค ์ œ์–ด ์ง€์› ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ถ”์  ์„œ๋น„์Šค ์ด๋ฆ„์€ cloudtrace.googleapis.com์ž…๋‹ˆ๋‹ค. Trace ์„œ๋น„์Šค์— ๋Œ€ํ•ด ์ƒ์„ฑํ•œ VPC ์„œ๋น„์Šค ์ œ์–ด ์ œํ•œ์‚ฌํ•ญ์€ ํ•ด๋‹น ์„œ๋น„์Šค์—๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ œํ•œ์€ trace ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•  ์ˆ˜ ์žˆ๋Š” telemetry.googleapis.com ์„œ๋น„์Šค์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ์„œ๋น„์Šค์—๋Š” ์ ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๊ฐ€๊ฒฉ ์ฑ…์ •

Cloud Trace ๊ฐ€๊ฒฉ ์ฑ…์ •์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Google Cloud Observability ๊ฐ€๊ฒฉ ์ฑ…์ • ํŽ˜์ด์ง€๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๋‹ค์Œ ๋‹จ๊ณ„