๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐‘†๐‘ข๐‘›๐‘ โ„Ž๐‘–๐‘›๐‘’ ๐‘Ž๐‘“๐‘ก๐‘’๐‘Ÿ ๐‘Ÿ๐‘Ž๐‘–๐‘›โœง

[Spring] ์„ฑ๋Šฅ ์ตœ์ ํ™” 2ํŽธ - ์Šค์นด์šฐํŠธ ๋ชจ๋‹ˆํ„ฐ๋ง TOOL ์„ค์น˜ ๋ณธ๋ฌธ

๐—ฃ๐—ฟ๐—ผ๐—ด๐—ฟ๐—ฎ๐—บ๐—บ๐—ถ๐—ป๐—ด๐Ÿ’ป/๐’๐ฉ๐ซ๐ข๐ง๐ 

[Spring] ์„ฑ๋Šฅ ์ตœ์ ํ™” 2ํŽธ - ์Šค์นด์šฐํŠธ ๋ชจ๋‹ˆํ„ฐ๋ง TOOL ์„ค์น˜

๐ŸคRyusun๐Ÿค 2024. 3. 14. 19:45

Scouter

Scouter๋Š” ์˜คํ”ˆ ์†Œ์Šค ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง ํˆด๋กœ, ์ฃผ๋กœ ์ž๋ฐ”(JAVA) ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์‹ค์‹œ๊ฐ„ ์„ฑ๋Šฅ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๋ฌธ์ œ ์ง„๋‹จ์— ์‚ฌ์šฉ๋œ๋‹ค.

์ด ํˆด์€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„์˜ ์„ฑ๋Šฅ ์ง€ํ‘œ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ , ๋ถ„์„ํ•˜์—ฌ ์„ฑ๋Šฅ ์ €ํ•˜์˜ ์›์ธ์„ ํŒŒ์•…ํ•˜๊ณ  ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€์ค€๋‹ค. Scouter๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด CPU ์‚ฌ์šฉ๋Ÿ‰, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰, SQL ์ฟผ๋ฆฌ ์„ฑ๋Šฅ, HTTP ์š”์ฒญ ์ฒ˜๋ฆฌ ์‹œ๊ฐ„ ๋“ฑ ๋‹ค์–‘ํ•œ ์„ฑ๋Šฅ ์ง€ํ‘œ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•  ์ˆ˜ ์žˆ๋‹ค.

 

1. ์Šค์นด์šฐํŠธ ๋ชจ๋‹ˆํ„ฐ๋ง TOOL ์„ค์น˜ํ•˜๊ธฐ

 

https://github.com/scouter-project/scouter/releases

 

Releases ยท scouter-project/scouter

Scouter is an open source APM (Application Performance Management) tool. - scouter-project/scouter

github.com

 

์œ„์˜ ์ฃผ์†Œ๋กœ ๋“ค์–ด๊ฐ€์„œ ๋‘๊ฐœ์˜ ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›๋Š”๋‹ค.

  • scouter-all-[version].tar.gz 
    • Scouter Collector์™€ Agent๋ฅผ ํฌํ•จํ•˜๋Š” ์••์ถ•ํŒŒ์ผ.
  • scouter.client.product-[os].tar.gz
    • ๊ฐ OS๋ณ„ Client(Viewer) ํ”„๋กœ๊ทธ๋žจ

 

๋‹ค์šด๋ฐ›์€ ๋‘๊ฐœ์˜ ํŒŒ์ผ์„ ์••์ถ•์„ ํ’€๊ณ  ngriner ํŒŒ์ผ๊ณผ ๋™์ผํ•œ ๋””๋ ‰ํ† ๋ฆฌ์— ์œ„์น˜์‹œํ‚จ๋‹ค.

 

server ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™ํ›„, Scouter Server๋ฅผ ์‹คํ–‰ํ•œ๋‹ค.

// macOs
./startup.sh

// window
./startup.bat

 

์‹คํ–‰์ด ๋˜์—ˆ์œผ๋ฉด ์ด์ œ scouter.app.client๋ฅผ ํด๋ฆญ์œผ๋กœ ์‹คํ–‰ํ•ด์ฃผ์ž

๊ทผ๋ฐ ํ•„์ž๋Š” 

โ€˜scouter.clientโ€™์€(๋Š”) ์†์ƒ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ํ•ญ๋ชฉ์„ ํœด์ง€ํ†ต์œผ๋กœ ์ด๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ผ๋Š” ํŒ์—…์ด ๋œจ๋ฉด์„œ ์—๋Ÿฌ ๋ฐœ์ƒํ–ˆ๋‹ค.

 

๊ทธ๋Ÿด๋•Œ๋Š” xattr -cr scouter.client.app ์„ ์ž…๋ ฅํ›„ ๋‹ค์‹œ ํด๋ฆญํ•ด์„œ ์‹คํ–‰์‹œ์ผœ ๋ณด์ž. 

xattr -cr scouter.client.app

 

๊ทธ๋ž˜๋„ ์•ˆ๋˜๋ฉด

$ sudo spctl --master-disable

์„ ์ž…๋ ฅํ•ด๋ณด์ž

 

ํ•ด๋‹น ์ฝ”๋“œ๋Š” ์•„๋ž˜ ๋ธ”๋กœ๊ทธ์—์„œ ์ฐธ๊ณ ํ•˜๋ฉด ๋œ๋‹ค.

https://lynmp.com/ko/article/rm867dd8a6e26fbbae

 

๋งฅ ์•ฑ์„ ์‹คํ–‰ํ–ˆ์„ ๋•Œ โ€œ์†์ƒ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.โ€ ๋ฌธ์ œ ํ•ด๊ฒฐ๋ฐฉ๋ฒ• - LYNMP

์•ฑ์ด ์†์ƒ๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ํœด์ง€ํ†ต์œผ๋กœ ์ด๋™ํ•ด์•ผํ•œ๋‹ค๋Š” ๋ฉ”์‹œ์ง€์•ฑ์Šคํ† ์–ด์—์„œ ์ œ๊ณตํ•˜๋Š” ์•ฑ์ด ์•„๋‹Œ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ง์ ‘ ํ™ˆํŽ˜์ด์ง€์—์„œ ์ œ๊ณตํ•˜๋Š” ์•ฑ์ผ ๊ฒฝ์šฐ ์‹คํ–‰ํ–ˆ์„ ๋•Œ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ๋ฉด์„œ ์‹คํ–‰

lynmp.com

 

์ฝ”๋“œ๋ฅผ ์‹คํ–‰์‹œํ‚ค๋ฉด scouter ๋กœ๊ทธ์ธํ™”๋ฉด์ด ๋œฌ๋‹ค.

์•„์ด๋””, ํŒจ์Šค์›Œ๋“œ์— admin, admin์„ ์ž…๋ ฅํ•ด์ฃผ์ž

 

 

๊ทธ๋Ÿผ ํ•ด๋‹น ์‚ฌ์ง„๊ณผ ๊ฐ™์€ ํŽ˜์ด์ง€๋กœ ๋“ค์–ด์˜จ๋‹ค.

 

๊ทธ ๋‹ค์Œ ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ์‹คํ–‰ํ•ด์ค„๊ฑฐ๋‹ค. 

 

๊ทธ์ „์— ๊ฒฝ๋กœ ์„ค์ •์„ ํ•ด์ค˜์•ผ ํ•˜๋Š”๋ฐ 

  • java -jar๋กœ ์‹คํ–‰ํ• ๋•Œ ์˜ต์…˜ ์ฃผ๊ธฐ 
    • -javaagent(scouter/agent.java/scouter.agent.jar)
    • -Dscouter(scouter/server/conf/scouter.conf)
    • -Dobj_name(์›ํ•˜๋Š” name์œผ๋กœ ์ง€์ •)

๊ฐ์ž์˜ scouter.agent.jar ๊ฒฝ๋กœ์™€ scouter.conf๊ฒฝ๋กœ๋กœ ๋ฐ”๊ฟ”์•ผํ•œ๋‹ค.

-javaagent:/Users/ryusunny/utils/scouter/agent.java/scouter.agent.jar -Dscouter.config/Users/ryusunny/utils/scouter/server/conf/scouter.conf -Dobj_name=knockdogTest --add-opens java.base/java.lang=ALL-UNNAMED

์ด ์ฝ”๋“œ๋ฅผ ์ธํ…”๋ฆฌ์ œ์ด Edit Configurations ์— Vm options ๋„ฃ์–ด์ฃผ๋ฉด๋œ๋‹ค.

๋‹ค์Œ cpu, memory ์ •๋ณด ์„ค์ •๋„ ๋”ฐ๋กœ ํ•ด์ค˜์•ผํ•œ๋‹ค

  • /scouter/agent.host/conf ๊ฒฝ๋กœ์— scouter.conf ์„ค์ •์„ ๋ณ€๊ฒฝํ•œ๋‹ค.

 

์œ„์—์„œ 2๋ฒˆ์งธ๋ถ€๋” 4๋ฒˆ์งธ์ค„์˜ net์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ฝ”๋“œ์˜ ์ฃผ์„์„ ํ•ด์ œํ•˜๋ฉด ๋œ๋‹ค.

 

์„ค์ •์ด ๋๋‚ฌ์œผ๋ฉด /scouter/agent.host ๊ฒฝ๋กœ๋กœ ์ด๋™ํ•˜๊ณ ์„œ ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•˜์ž.

// MAC
./host.sh
//Window
host.bat ํด๋ฆญ

 

๊ทธ๋ฆฌ๊ณ  ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ์‹คํ–‰์‹œํ‚ค๊ณ  scouter๋ฅผ ๋ณด๋ฉด ์ดˆ๋ก๋ถˆ์ด ๋“ค์–ด์™€ ์žˆ๋Š”๊ฑธ ๋ณผ์ˆ˜์žˆ๋‹ค!!