java agent guide - whatap inc
TRANSCRIPT
![Page 1: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/1.jpg)
Java Agent GuideWhaTap Support
Version 1.2.1
![Page 2: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/2.jpg)
Table of ContentsJava Agent Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1. ์ง์ ํ๊ฒฝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.1. JVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. WAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Framework / Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.4. DataSource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. ์ผ๋ฐ ์ค์น . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32.1. ํ๋ก์ ํธ ์์ฑ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. ๋ผ์ด์ผ์ค ๋ฐ๊ธ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.3. ์์ด์ ํธ ๋ค์ด๋ก๋ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4. ์ค์ ์ ์ฉ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.5. ์์ด์ ํธ ์ ์ฉ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.6. ์์ด์ ํธ ์ ์ฉ(์) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.7. ์ ์ฉ ํ์ธ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.8. ์์ด์ ํธ ์ ๋ฐ์ดํธ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.9. ์์ด์ ํธ ์ญ์ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3. ๊ณ ๊ธ ์ค์น . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.1. Attach ๋ฐฉ์ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2. Java 1.4 ์ดํ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.3. Java9 ์ด์ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.4. PaaS ํ๊ฒฝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
3.5. Docker ํ๊ฒฝ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4. ์ค์น ํ ์ ๊ฒ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.1. ์ค์น ์๋ฌ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
4.2. ์์ด์ ํธ ๋ค์ด๋ฐ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.3. MSA ์ ๋ฌด ๊ทธ๋ฃน ๊ตฌ๋ถ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4.4. Scale In ์์ ์์ด์ ํธ ์๋ ์ญ์ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.5. AES 256 ์ํธํ ์ ์ฉ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
5. ๋ฐ์ดํฐ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235.1. ํธ๋์ญ์ ์ถ์ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.2. Active Stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.3. ํต๊ณ(๋ฆฌ์คํธ ๋ฐ์ดํฐ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.4. ์ฑ๋ฅ ์นด์ดํฐ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6. ์์ด์ ํธ ์ ์ด์ ์ํ ์กฐํ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376.1. ๋ถํธ ํ๊ฒฝ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.2. ํ๊ฒฝ ๋ณ์. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3. ์ปดํฌ๋ํธ ๋ฒ์ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.4. ์ฐ๋ ๋ ๋ชฉ๋ก/๋คํ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.5. ํ ํ์คํ ๊ทธ๋จ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.6. ๋ก๋๋ ํด๋์ค . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.7. ์คํ ์์ผ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.8. ๋ฉ์๋ ์ฑ๋ฅ ์ํ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.9. DB ์ํ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.10. ์ค์ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.11. ์ฐ๋กํ๋ง . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
6.12. ์์คํ GC/ํ๋คํ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
6.13. ์์ด์ ํธ ๋ก๊ทธ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
![Page 3: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/3.jpg)
6.14. ์์ด์ ํธ ๋คํ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7. ์ค์ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427.1. ์ค์ ๊ด๋ฆฌ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.2. ์์ด์ ํธ ๋ค์ด๋ฐ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
7.3. ์์ด์ ํธ ๊ธฐ๋ฅ์ ์ด . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
7.4. ์์ด์ ํธ ํต์ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
7.5. ์์ด์ ํธ ๋ก๊ทธ ๊ด๋ฆฌ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
7.6. ํธ๋์ญ์ ํ๋กํ์ผ๋ง . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
7.7. HTTP ํธ๋์ญ์ ์ถ์ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
7.8. NON-Http ํธ๋์ญ์ ์ถ์ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
7.9. ํธ๋์ญ์ ์ฐ๊ณ ์ถ์ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
7.10. DB, SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
7.11. HTTPC, API Call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
7.12. Plug-in . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.13. ์ฌ์ฉ์ ์. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
7.14. ๋ถํ๋ ์ ์ด . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
7.15. ์์ด์ ํธ ์๋ฆผ ์ค์ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
7.16. ์ฑ๋ฅ ์นด์ดํฐ & ํต๊ณ ํ์ฅ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
7.17. ์ผ๋ฐ ๋ก๊ทธ & GC ๋ก๊ทธ ๋ชจ๋ํฐ๋ง . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
7.18. ํ ํด๋ก์ง ๋งต . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
8. ๋ถ๊ฐ ์ ๋ณด . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678.1. ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ณ ์ ์ฉ ์ ์ฐจ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
8.2. ํธํ์ฑ ๊ฒ์ฆํ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
![Page 4: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/4.jpg)
Java Agent Guide์ ๋ชฉ : Java Agent Guide์์ฑ์ : WhaTap Support์ด๋ฉ์ผ : [email protected]๋ ์ง : 2020-01-08๋ฒ์ : 1.2.1
์ค๋ช : ๋ณธ ๋ฌธ์๋ WhaTap Java ์์ด์ ํธ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
Preface
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 1
![Page 5: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/5.jpg)
Chapter 1. ์ง์ ํ๊ฒฝWeb Application Server (WAS) ๋ฟ ์๋๋ผ ๋ฐ๋ชฌ ๋ฐ ๋ฐฐ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ฑ JVM์์ ๋์ํ๋ ๋ชจ๋ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ ์ฉ ํ ์ ์์ต๋๋ค.Java1.4 ์ดํ, Java9 ์ด์ ๋ฒ์ ์ [email protected] ๋ก ๋ฌธ์ ์ฃผ์๋ฉด ์ ๊ณต ๋๋ฆฝ๋๋ค.
1.1. JVMTable 1. JVM
์ ํ ํ๊ฒฝ OS JVM ๋ฒ์
์ ํ๋ฆฌ์ผ์ด์ ๋ชจ๋ํฐ๋ง Agent Java JVM์ด ๊ตฌ๋๋๋ ๋ชจ๋ OS Java1.4 ์ด์Java11 ์ดํ
1.2. WASโข Tomcat, Jboss, JEUS, Weblogic, WebSphere ๋ฑ Java EE Spec ์ค์ํ๋ ๋ชจ๋ Application Server
https://www.oracle.com/technetwork/java/javaee/overview/compatibility-jsp-136984.html
1.3. Framework / Libraryโข Spring Boot Project
โข Akka HTTP ๋ฐ Play Framework ๋ฑ ๋น๋๊ธฐ Framework
โข ์ด์ธ Java EE Spec ์ค์ Application Server ์์ ๋์ํ๋ ๋ชจ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ
1.4. DataSourceโข Generic JDBC (any JDBC compliant driver)
โข DB2 JDBC
โข Derby JDBC
โข H2 JDBC
โข jTDS JDBC
โข MariaDB JDBC
โข Microsoft SQL Server JDBC
โข MySQL mysql-connector-java
โข Oracle ojdbc14, ojdbc5, ojdbc6, ojdbc7, ojdbc8
โข Postgres JDBC
โข Tibero
โข Jedis Redis driver
1.1. JVM
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 2
![Page 6: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/6.jpg)
Chapter 2. ์ผ๋ฐ ์ค์น์ํญ APM ๋ชจ๋ํฐ๋ง ์๋น์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ชจ๋ํฐ๋ง ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํ๊ณ ๋์ ์๋ฒ์ ๋ชจ๋ํฐ๋ง ์์ด์ ํธ๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค.
์ค์น์ ์์ ํ์ํ ์ฌํญ์ ์ค์น ์ฌ์ ์๋ด์ ๋ฅผ ์ฐธ๊ณ ํด ์ฃผ์ธ์.
2.1. ํ๋ก์ ํธ ์์ฑ๋ชจ๋ํฐ๋ง ํ๋ก์ ํธ๋ฅผ ์์ฑํ๊ธฐ ์ํด ํ๋ก์ ํธ ์์ฑ ๋ฒํผ์ ์ ํํฉ๋๋ค.
Figure 1. ์ฒซ ๋ก๊ทธ์ธ
Java ์์ด์ฝ์ ์ ํํฉ๋๋ค. ํ๋ก์ ํธ๋ช ๊ณผ ๋ฐ์ดํฐ ์๋ฒ ์ง์ญ(Region), ๊ทธ๋ฃน์ ์ ํํ ๋ค ์ ์ฅ ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
2.1. ํ๋ก์ ํธ ์์ฑ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 3
![Page 7: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/7.jpg)
Figure 2. ํ๋ก์ ํธ ์์ฑ ํ์
2.2. ๋ผ์ด์ผ์ค ๋ฐ๊ธ์์ฑ์๋ฃ๋ ํ๋ก์ ํธ๋ฅผ ์ ํํ๋ฉด ์ค์น ์๋ด ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
2.2. ๋ผ์ด์ผ์ค ๋ฐ๊ธ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 4
![Page 8: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/8.jpg)
Figure 3. ์ ๊ท ํ๋ก์ ํธ
์ค์น ์๋ด ํ์ด์ง์์ ๋ผ์ด์ผ์ค๋ฅผ ๋ฐ๊ธ ๋ฐ์ต๋๋ค. ๋ผ์ด์ผ์ค๋ ํ๋ก์ ํธ๋จ์๋ก ๊ณ ์ ํ ๊ฐ์ ๊ฐ์ง๋๋ค.
Figure 4. ์ค์น ์๋ด ํ์ด์ง - 1
2.3. ์์ด์ ํธ ๋ค์ด๋ก๋๋ผ์ด์ผ์ค๋ฅผ ๋ฐ๊ธ ๋ฐ์ ํ์ โ์์ด์ ํธ ํ์ผ ๋ค์ด๋ก๋โ ๋ฒํผ์ด ํ์ฑํ ๋ฉ๋๋ค. ํด๋น ๋ฒํผ์ ๋๋ฌ ์ํญ ์์ด์ ํธ ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ์ต๋๋ค.
2.3. ์์ด์ ํธ ๋ค์ด๋ก๋
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 5
![Page 9: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/9.jpg)
Figure 5. ์ค์น ์๋ด ํ์ด์ง - 2
์ค์น ํ ์๋ฒ์์ ์ง์ ๋ค์ด๋ก๋ ๋ฐ์ ์๋ ์์ต๋๋ค.
wget https://service.whatap.io/agent/whatap.agent.java.tar.gz
๋ชจ๋ํฐ๋ง ๋์ ์๋ฒ์ ์ ์ ํ ์์น๋ฅผ ์ ํ๊ณ ์์ด์ ํธ ํ์ผ์ ์์ถ์ ํด์ ํฉ๋๋ค. ์ด ์์น๊ฐ $WHATAP_HOME ์ด ๋ฉ๋๋ค.
tar -zxvf whatap.agent.java.tar.gz
2.4. ์ค์ ์ ์ฉ$WHATAP_HOME/whatap.conf ํ์ผ ๋ด์ฉ์ ๋ผ์ด์ ์คํค์ ๋ฐ์ดํฐ ์์ง ์๋ฒ ์ฃผ์๊ฐ ์ ์์ ์ผ๋ก ๋ค์ด๊ฐ ์๋์ง๋ฅผ ํ์ธํฉ๋๋ค.๊ฐ์ด ์๋ค๋ฉด ์ค์น ์๋ด ํ์ด์ง์ ์ค์ ๊ฐ์ ๋ณต์ฌํด ๋ถ์ฌ ๋ฃ์ต๋๋ค.
whatap.conf
license={๋ผ์ด์ผ์ค ํค}whatap.server.host={์์ง์๋ฒ IP}
UI๋ฅผ ํตํด ๋ค์ด๋ก๋ ๋ฐ์ ๊ฒฝ์ฐ whatap.conf ์ ์ค์ ๊ฐ์ด ๋ค์ด๊ฐ ์์ต๋๋ค.์๋ฒ์์ ์ง๋ฅ ๋ค์ด๋ก๋ ํ ๊ฒฝ์ฐ๋ผ๋ฉด ์ค์น์๋ด ํ์ด์ง์์ ๋ณด์ฌ์ง๋ ๋ผ์ด์ผ์คํค์ ์์ง ์๋ฒ ์ฃผ์๋ฅผ ๋ณ๋ ์ ๋ ฅํด์ผ ํฉ๋๋ค.
2.5. ์์ด์ ํธ ์ ์ฉ์ ์ฉ ๋์(WAS, Batch ๋ฐ Daemon ๊ณผ ๊ฐ์ Java์ ํ๋ฆฌ์ผ์ด์ )์ javagent ์ต์ ์ผ๋ก whatap agent path๋ฅผ ์ถ๊ฐ ํฉ๋๋ค.
2.4. ์ค์ ์ ์ฉ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 6
![Page 10: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/10.jpg)
JVM_OPTS
-javaagent:/whatap/whatap.agent.tracer-#.#.#.jar
์ฌ์์ ํ ํ๋ก์ธ์ค ์ ๋ณด์์ ์ค์ ํ ์ต์ ์ด ๋ณด์ธ๋ค๋ฉด ์ค์ ์ ์ฉ์ด ๋ ๊ฒ์ ๋๋ค.
Figure 6. ps -ef |grep java
2.6. ์์ด์ ํธ ์ ์ฉ(์)ํ๊ฒฝ๋ณ ์ค์ ์์น๋ ์ค์น ํ์ด์ง ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ ๋ณ ์ ์ฉ ์ ์ฐจ ์์ ํ์ธํ ์ ์์ต๋๋ค.
2.6.1. Tomcat โ Linuxcatalina.sh ์๋จ์ JAVA_OPTS ์ ์ถ๊ฐ ํฉ๋๋ค.
catalina.sh
WHATAP_HOME=/whatap โ ########## WHATAP ############WHATAP_JAR=`ls ${WHATAP_HOME}/whatap.agent.tracer-*.jar | sort | tail -1`JAVA_OPTS="${JAVA_OPTS} -javaagent:${WHATAP_JAR} "########## WHATAP ############
โ WHATAP_HOME ์ ์ง์ ํฉ๋๋ค.
2.6.2. Tomcat โ Windowscatalina.bat ์๋จ์ JAVA_OPTS ๋ฅผ ์ถ๊ฐ ํฉ๋๋ค.
catalina.bat
rem ########## WHATAP ############set WHATAP_HOME=C:\whatap โ for /f %%f in ('dir /b /on %WHATAP_HOME%\whatap.agent.tracer-*.jar') do set last=%%fset WHATAP_JAR=%last%if x%JAVA_OPTS:whatap=%==x%JAVA_OPTS% ( set JAVA_OPTS=%JAVA_OPTS% -javaagent:%WHATAP_HOME%\%WHATAP_JAR%)rem ########## WHATAP ############
โ WHATAP_HOME ์ ์ง์ ํฉ๋๋ค.
2.6.3. WAS ์ฌ๊ธฐ๋์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ์ฌ๊ธฐ๋ ํฉ๋๋ค.๊ตฌ๋ ๋ก๊ทธ๋ฅผ ํ์ธ ํ์๋ ๋ค์๊ณผ ๊ฐ์ WhaTap ์บ๋ฆญํฐ ๋ก๊ทธ๊ฐ ๋ณด์ธ๋ค๋ฉด JAVA_OPTS ์ค์ ์ด ์ ์ ์ ์ฉ ๋ ๊ฒ์ ๋๋ค.
2.6. ์์ด์ ํธ ์ ์ฉ(์)
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 7
![Page 11: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/11.jpg)
Nov 16, 2016 3:06:40 AM org.apache.catalina.startup.HostConfig deployDirectoryINFO: Deployment of web application directory /var/lib/tomcat7/webapps/ROOT has finished in 577 msNov 16, 2016 3:06:40 AM org.apache.coyote.AbstractProtocol startINFO: Starting ProtocolHandler ["http-bio-8080"]Nov 16, 2016 3:06:40 AM org.apache.catalina.startup.Catalina startINFO: Server startup in 3984 ms_ ____ ______| | /| / / / ___ /_ __/__ ____| |/ |/ / _ \/ _ `// / / _ `/ _ \|__/|__/_//_/\_,_//_/ \_,_/ .__/ /_/Just Tap, Always MonitoringWhaTap Agent version 0.3.9 20161115
2.7. ์ ์ฉ ํ์ธ์์ฑํ ํ๋ก์ ํธ ํ๋ฉด์ Agent๊ฐ ๋ณด์ฌ์ง๋ฉด ์ ์ฉ์ด ์๋ฃ ๋ ๊ฒ์ ๋๋ค.
Figure 7. ํ๋ก์ ํธ
Agent ๋ช ์ ๊ธฐ๋ณธ๊ฐ์ {type}-{ip2}-{ip3}-{port} ์ ๋๋ค.์์ฑ์ ์ถ๊ฐ ํ๊ฑฐ๋ ์ด๋ฆ์ ๋ณ๊ฒฝํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ ์์ด์ ํธ ๋ค์ด๋ฐ ์ ์ฐธ๊ณ ํด ์ฃผ์๋ฉด ๋ฉ๋๋ค.
2.8. ์์ด์ ํธ ์ ๋ฐ์ดํธ๊ด๋ฆฌ | ์์ด์ ํธ ์ ๋ฐ์ดํธ ๋ฉ๋ด๋ฅผ ์ ํ ํ ๋ค์ด๋ก๋ ๋๋ ๋ชจ๋ ์๋ฒ์ ๋ค์ด๋ก๋ ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
๋ค์ด๋ก๋ ๋ ์์ด์ ํธ๋ ์ดํ๋ฆฌ์ผ์ด์ ์ฌ์์์ ์๋ ์ ์ฉ๋ฉ๋๋ค.
2.7. ์ ์ฉ ํ์ธ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 8
![Page 12: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/12.jpg)
Figure 8. ๊ด๋ฆฌ - ์์ด์ ํธ ์ ๋ฐ์ดํธ
2.9. ์์ด์ ํธ ์ญ์ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ JVM ์ต์ ์ -javaagent ์ค์ ์ ์ญ์ ํ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ์ฌ๊ธฐ๋ ํฉ๋๋ค. ์ดํ $WHATAP_HOME ์ ์ญ์ ํฉ๋๋ค.
2.9. ์์ด์ ํธ ์ญ์
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 9
![Page 13: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/13.jpg)
Chapter 3. ๊ณ ๊ธ ์ค์นTomcat ๊ณผ ๊ฐ์ ์ผ๋ฐ์ ์ธ Servlet ๊ธฐ๋ฐ์ด ์๋ ๊ฒฝ์ฐ, ํน์ํ ํ๊ฒฝ์์๋ ์ ์ฉ ํ ์ ์๋๋ก ๋ค์ํ ์ค์น ๋ฐฉ์์ ์ ๊ณต ํฉ๋๋ค.ํ๋ก์ ํธ ์์ฑ ๋ฐ ์์ด์ ํธ ๋ค์ด๋ก๋๋ ์ผ๋ฐ ์ค์น๊ณผ์ ๊ณผ ๋์ผํฉ๋๋ค.
3.1. Attach ๋ฐฉ์Attach ๋ฐฉ์์ผ๋ก WhaTap Agent ๋ฅผ ์ ์ฉ ํ ์ ์์ต๋๋ค.com.sun.tools.attach API๋ฅผ ์ฌ์ฉํด ์ ํ๋ฆฌ์ผ์ด์ ์ฌ์์ ์์ด WhaTap Agent๋ฅผ ์ ์ฉ ํฉ๋๋ค.
ps ๋ช ๋ น์ ์ฌ์ฉํด PID ๋ฅผ ํ์ธ ํฉ๋๋ค.
Tomcat - pid
$ ps -ef | grep tomcat | grep -v 'grep'
ec2-user 3058 1 1 06:11 pts/0 00:00:02 /home/ec2-user/jdk1.8.0_111/bin/java-Djava.util.logging.config.file=/home/ec2-user/apache-tomcat-7.0.72/conf/logging.properties-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048-Djava.endorsed.dirs=/home/ec2-user/apache-tomcat-7.0.72/endorsed -classpath /home/ec2-user/apache-tomcat-7.0.72/bin/bootstrap.jar:/home/ec2-user/apache-tomcat-7.0.72/bin/tomcat-juli.jar -Dcatalina.base=/home/ec2-user/apache-tomcat-7.0.72 -Dcatalina.home=/home/ec2-user/apache-tomcat-7.0.72 -Djava.io.tmpdir=/home/ec2-user/apache-tomcat-7.0.72/temp org.apache.catalina.startup.Bootstrap start
ํ์ธํ PID๋ฅผ ํ๋ผ๋ฏธํฐ๋ก $WHATAP_HOME/attach.sh(bat) ๋ฅผ ์คํํฉ๋๋ค.
attach.sh $pid
$ ./attach.sh 3058
JAVA_HOME=/jdk1.8.0_111_ ____ ______| | /| / / / ___ /_ __/__ ____| |/ |/ / _ \/ _ `// / / _ `/ _ \|__/|__/_//_/\_,_//_/ \_,_/ .__/ /_/Just Tap, Always MonitoringWhaTap Agent version 0.4.2 20161123Admin: ec2-userPID: 3128Java Path: /jdk1.8.0_111/jreJava Version: 1.8.0_111AttachAgent Success : [3058] org.apache.catalina.startup.Bootstrap start
ํ๋ก์ ํธ ํ๋ฉด์์ ์์ด์ ํธ๊ฐ ์ ์ ๋ฑ๋ก ๋์๋์ง ํ์ธ ํฉ๋๋ค.
Attach ๋ ์ผํ์ฑ ์ ์ฉ ์ ๋๋ค.Attach ์ ์ฉ ํ ์ผ๋ฐ ์ค์น์ ์ฌ์ฉ๋๋ โjavaagentโ ์ต์ ์ ์ ์ฉ ํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ฌ๊ธฐ๋ ํ์๋ ๋ชจ๋ํฐ๋ง์ด ์ ์ง๋ฉ๋๋ค.
3.2. Java 1.4 ์ดํJDK1.4 ํ๊ฒฝ์์ ์ํญ ๋ชจ๋ํฐ๋ง์ ์ ์ฝ์ฌํญ์ด ์์ผ๋ฉฐ, ์ค์น ๋ฐฉ๋ฒ๋ ์ฐจ์ด๊ฐ ์์ต๋๋ค.
JDK1.4๋ฅผ ์ํ ์์ด์ ํธ ๋ชจ๋์ [email protected]๋ก ์์ฒญ ๋ฐ๋๋๋ค.
3.1. Attach ๋ฐฉ์
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 10
![Page 14: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/14.jpg)
whatap.java14.tracer-[version].jar
3.2.1. boot.jar ์์ฑsetup.sh๋ฅผ ์ฌ์ฉํ์ฌ boot.jarํ์ผ์ ์์ฑํฉ๋๋ค.
$setup.sh [JAVA_HOME]
๋ง์ฝ [JAVA_HOME]์ ์ง์ ํ์ง ์์ผ๋ฉด ํ์ฌ ํจ์ค์ ๊ฑธ๋ ค ์๋ JDK์ ์์น๋ฅผ ์๋์ผ๋ก ์ธ์ํฉ๋๋ค.
setup.sh ๊ฒฐ๊ณผ ํ์ผ
whatap.java14.boot-1.0.2.jar
3.2.2. bootclasspath์ ์ค์นbootclasspath ์ต์ ์ ์ฌ์ฉํด ๋น๋๋ jar์ tracer jar๋ฅผ prepend๋ก ์ถ๊ฐํฉ๋๋ค.
java ์คํ ์ต์
-Xbootclasspath/p:${WHATAP_HOME}/whatap.java14.boot-1.0.2.jar:${WHATAP_HOME}/whatap.java14.tracer-1.0.2.jar
3.2.3. ์ ์ฝ ์ฌํญjdk1.4์์๋ ๊ธฐ๋ฅ ์ ์ฝ์์ต๋๋ค.
๋์ ํ๋กํ์ผ๋ง์ด ์๋ฉ๋๋ค.์กํฐ๋ธ์คํ์ด ๋์ํ์ง ์์ต๋๋ค.์ต์ ๊ธฐ๋ฅ์ด ๋์ํ์ง ์์ต๋๋ค.
์๋์ ๊ธฐ๋ฅ๋ค์ด ๋์ํ์ง ์์ต๋๋ค.
๋๋ถ๋ฅ ์๋ถ๋ฅ ํญ๋ชฉ
๋์๋ณด๋ ์กํฐ๋ธ ํธ๋์ญ์ ์ค์๊ฐ ์คํํธ๋ ์ด์ค
์คํ ํ ์คํ ์ ์ฒด ํญ๋ชฉ
์คํ ์ ๋ํฌ ์คํ ์ ์ฒด ํญ๋ชฉ
์คํ ์ํฐ๋ธ ์คํ ์ ์ฒด ํญ๋ชฉ
์๋ฒ ๋๋ณด๊ธฐ ์ปดํฌ๋ํธ ๋ฒ์
์๋ฒ ๋๋ณด๊ธฐ ์ค๋ ๋ ๋ชฉ๋ก
์๋ฒ ๋๋ณด๊ธฐ ํ ํ์คํ ๊ทธ๋จ
์๋ฒ ๋๋ณด๊ธฐ ๋ก๋๋ ํด๋์ค
์๋ฒ ๋๋ณด๊ธฐ ์คํ ์์ผ
์๋ฒ ๋๋ณด๊ธฐ Method Perf Stat
์๋ฒ ๋๋ณด๊ธฐ ์์ด์ ํธ ๋คํ
3.2. Java 1.4 ์ดํ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 11
![Page 15: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/15.jpg)
3.3. Java9 ์ด์์ผ๋ฐ ์ค์น์ ๋์ผํ์ง๋ง whatap.agent.java9-#.#.#.jar ๋ก jar ๋ช ์ด ๋ค๋ฆ ๋๋ค.maven repository ๋ฅผ ์ฌ์ฉํด ๋ค์ด๋ก๋ ํฉ๋๋ค.
3.3.1. ์ง์ ๋ค์ด๋ก๋๋ค์ ๊ฒฝ๋ก๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฒ์ ์ ๋ณด๋ง์ ์์ ํด maven repository ์์ ์ง์ ๋ค์ด๋ก๋ ํ ์ ์์ต๋๋ค.
โข http://repo.whatap.io/maven/io/whatap/whatap.agent.java9/1.9.2/whatap.agent.java9-1.9.2.jar
3.3.2. pom.xml ์ค์ repository ์ dependency
<!-- repository ๋ฅผ ์ถ๊ฐ ํฉ๋๋ค --><repositories> <repository> <id>io.whatap</id> <name>WhaTap maven repository</name> <url>http://repo.whatap.io/maven</url> </repository></repositories>
<!-- dependency ๋ฅผ ์ถ๊ฐ ํฉ๋๋ค. --><dependencies> <dependency> <groupId>io.whatap</groupId> <artifactId>whatap.agent.java9</artifactId> <version>1.8.8</version> โ </dependency></dependencies>
โ java9 ์ฉ๊ณผ ์ผ๋ฐ ๋ฒ์ ์ ๋ณด๋ ๋์ผ ํฉ๋๋ค.
3.3.3. whatap.conf ์ค์ ์ผ๋ฐ ์ค์น์ ๋์ผํ ๊ณผ์ ์ผ๋ก whatap.conf ๋ฅผ ์ค์ ํฉ๋๋ค.
3.4. PaaS ํ๊ฒฝPaaS ํ๊ฒฝ์ ๋ฐฐํฌ ๋์ ์ดํ๋ฆฌ์ผ์ด์ ์ WhaTap Agent ์ ์ค์ ์ ํฌํจํ์ฌ ๋ฐฐํฌํฉ๋๋ค.
3.4.1. IBM BlueMixIBM BlueMix ๋ ์ปจํ ์ด๋๋ก WebSphere Liberty ํ๊ฒฝ์ ์ ๊ณตํฉ๋๋ค. Liberty๋ WebSphere Application Server ์ ๋ค๋ฅธ ๊ฒฝ๋ํ ํ๊ฒฝ์ผ๋ก SpringBoot ๊ฐ ๋์ํ๋ ๋ฐฉ์๊ณผ ์ ์ฌํฉ๋๋ค.
์ค์ ํ๊ฒฝ ์์ ์ ๋๋ค. ๊ฐ์ด๋์ ๋ฐ๋ฅธ ํ๊ฒฝ ๊ตฌ์ฑ์ ๋ก์ปฌ ๊ฐ๋ฐํ๊ฒฝ์์ ์์ฑ๋๋ ํ์ผ๋ค์ ์๋์ ๊ฐ์ต๋๋ค.
3.3. Java9 ์ด์
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 12
![Page 16: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/16.jpg)
whatap@vmwas01:/apps/bluemix/java-helloworld$ ls -alrtํฉ๊ณ 64drwxrwxr-x 3 whatap whatap 4096 10์ 29 13:13 ..-rw-rw-r-- 1 whatap whatap 1079 10์ 29 13:13 .classpath-rw-rw-r-- 1 whatap whatap 1184 10์ 29 13:13 .project-rw-rw-r-- 1 whatap whatap 39 10์ 29 13:13 .gitignore-rw-rw-r-- 1 whatap whatap 151 10์ 29 13:13 CONTRIBUTING.mddrwxrwxr-x 2 whatap whatap 4096 10์ 29 13:13 .settings-rw-rw-r-- 1 whatap whatap 2823 10์ 29 13:13 pom.xml-rw-rw-r-- 1 whatap whatap 122 10์ 29 13:13 manifest.yml-rw-rw-r-- 1 whatap whatap 3522 10์ 29 13:13 README.md-rw-rw-r-- 1 whatap whatap 11323 10์ 29 13:13 LICENSEdrwxrwxr-x 3 whatap whatap 4096 10์ 29 13:13 srcdrwxrwxr-x 2 whatap whatap 4096 10์ 29 13:13 targetdrwxrwxr-x 8 whatap whatap 4096 10์ 29 13:13 .gitdrwxrwxr-x 6 whatap whatap 4096 10์ 29 15:26 .
${APP_HOME}์์ src/main/resources/whatap-agent/ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๊ณ jar ํ์ผ, conf ํ์ผ์ ๋ณต์ฌ ํฉ๋๋ค.
$ mkdir -p src/main/resources/whatap-agent/$ cp /apps/whatap/whatap.agent.tracer-1.5.4.jar src/main/resources/whatap-agent/$ cp /apps/whatap/whatap.conf src/main/resources/whatap-agent/
whatap.conf ์ค์ ์ PaaS ๊ฐ ์๋ ํ๊ฒฝ๊ณผ ๋์ผํ๊ฒ ์ ์ฉํฉ๋๋ค. ๋จ, ์ ์ฉ ํ ์์ด์ ํธ๋ช ์๋ณ์ ์ด๋ ค์์ด ์์ ์ ์์ผ๋ฏ๋ก ์ํฉ์ ๋ง๋์์ด์ ํธ๋ช ๋ช [1: ์์ด์ ํธ ๋ค์ด๋ฐ์ ๊ดํ ์ธ๋ถ ์ฌํญ์ ์ค์น๊ฐ์ด๋์ ์์ด์ ํธ ๋ค์ด๋ฐ ๋ถ๋ถ์ ์ฐธ๊ณ ํฉ๋๋ค.] ์ ์ฑ ์ ์ ์ฉ ํฉ๋๋ค.
${APP_HOME}/manifest.yml ํ์ผ์ ์ต์ ์ ์ถ๊ฐ ํฉ๋๋ค. yml ํ์ผ์ด๋ฏ๋ก ๊ณต๋ฐฑ, ๋ค์ฌ์ฐ๊ธฐ ๊ธฐ์ค์ ์ ๋ง์ถฐ์ผ ํฉ๋๋ค.
manifest.yml
---applications:- name: sample-java-helloworld random-route: true memory: 256M path: target/JavaHelloWorldApp.war #์ฌ๊ธฐ์๋ถํฐ ์ถ๊ฐ๋ฉ๋๋ค. env: JAVA_OPTS: "-javaagent:/{APPLICATION_DIR}/WEB-INF/classes/whatap-agent/whatap.agent.tracer-1.5.4.jar-Dorg.osgi.framework.bootdelegation=whatap.* "
3.5. Docker ํ๊ฒฝ๊ธฐ์กด Docker ์ด๋ฏธ์ง๋ฅผ ๋ฐํ์ผ๋ก WhaTap ์ค์ ์ด ์ถ๊ฐ๋ ์ด๋ฏธ์ง๋ฅผ ๋น๋ ํฉ๋๋ค.
Step -1 ๋์ปค ๋น๋ ๋๋ ํ ๋ฆฌ ์์ฑ ํฉ๋๋ค.
mkdir -p {Docker build Dir}
Step -2 whatap.conf ํ์ผ์ ์์ฑํฉ๋๋ค.
cat >{Docker build Dir}/whatap.conf <<EOLlicense=XXXXXXXXXXXXXX-XXXXXXXXXXXXXX-XXXXXXXXXXXXXX โ whatap.server.host=xx.xx.xx.xx/yy.yy.yy.yy โกEOL
โ ํ๋ก์ ํธ ๋ผ์ด์ผ์คํค๋ฅผ ์ ๋ ฅํฉ๋๋ค.
3.5. Docker ํ๊ฒฝ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 13
![Page 17: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/17.jpg)
โก Proxy IP ์ ๋ณด๋ฅผ ์ ๋ ฅ ํฉ๋๋ค.
Step -3 Dockerfile์ ์์ฑํฉ๋๋ค.์ด๋ฏธ์ง๋ฅผ ๋น๋ํ ๋ ์ํญ ์ด๋ฏธ์ง์์ -javaagent ์ต์ ์ ์ ์ฉํ jarํ์ผ์ ๋ณต์ฌํ ์ ์์ต๋๋ค.
cat >/home/silver/whatap/docker/Dockerfile <<EOLFROM whatap/kube_mon as build#์ค์ ์ด๋ฏธ์ง ์์ฑ ( ๊ธฐ์กด ์ด๋ฏธ์ง์ Whatap ์ถ๊ฐ )# $Image_Name(์ด๋ฏธ์ง๋ช )FROM $Image_NameRUN mkdir -p /whatapCOPY --from=build /data/agent/micro/whatap.agent.tracer-*.jar /whatapCOPY ./whatap.conf /whatap/... {์ค๋ต} ...EOL
Step -4 JAVA_OPTS์ ์๋ ๋ด์ฉ์ ์ถ๊ฐํฉ๋๋ค.
WHATAP_HOME=/whatapWHATAP_JAR=ls ${WHATAP_HOME}/whatap.agent.tracer-*.jar | sort | tail -1export JAVA_OPTS="-javaagent:${WHATAP_JAR} -Dwhatap.micro.enabled=true "
Step -5 Docker ๋น๋
cd dockerdocker build -t $Image_Name
Step -6 environment variable
env:- name: NODE_IPvalueFrom: {fieldRef: {fieldPath: status.hostIP}}- name: NODE_NAMEvalueFrom: {fieldRef: {fieldPath: spec.nodeName}}- name: POD_NAMEvalueFrom: {fieldRef: {fieldPath: metadata.name}}
3.5. Docker ํ๊ฒฝ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 14
![Page 18: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/18.jpg)
Chapter 4. ์ค์น ํ ์ ๊ฒ
4.1. ์ค์น ์๋ฌ
4.1.1. ๋ฐฉํ๋ฒฝ ์ค์ ํ์ธ์ํญ ์๋ฒ์ ๋ํ TCP ์์๋ฐ์ด๋ ์ ์ฑ ์ด ์ค์ ๋์ด ์์ง ์์ผ๋ฉด ๋ชจ๋ํฐ๋ง ์ ๋ณด๋ฅผ ์ ์ก ํ ์ ์์ผ๋ฏ๋ก ๋ฐฉํ๋ฒฝ ์ฐจ๋จ์ ํด์ ํด์ผ ํฉ๋๋ค.
telnet ๋ช ๋ น์ ์ฌ์ฉํด " Connected to <IP> " ๋ฅผ ํ์ธ ํด์ผ ํฉ๋๋ค.
telnet
$ telnet 52.193.60.176 6600Trying 52.193.60.176...Connected to 52.193.60.176.Escape character is '^]'.
โข ์์ง ์๋ฒ IP ์ ๋ณด๋ ์ํญ ์น์ฌ์ดํธ์์ ํด๋น ํ๋ก์ ํธ์ ๊ด๋ฆฌ > ์์ด์ ํธ ์ค์น ๋ฉ๋ด์์ ํ์ธํ ์ ์์ต๋๋ค.
4.1.2. ์ ํ๋ฆฌ์ผ์ด์ ์๋น์ค ํฌํธ๊ฐ ๊ฐ์ง๋์ง ์๋ ๊ฒฝ์ฐ์ดํ๋ฆฌ์ผ์ด์ ๊ธฐ๋ ์๊ฐ์ด 1๋ถ ์ด์์ด๊ฑฐ๋ ์ผ๋ฐ์ ์ด์ง ์์ ๊ตฌ์กฐ์์ ํฌํธ ๊ฐ์ง์ ์คํจํ๋ ๊ฒฝ์ฐ, ์์ด์ ํธ๋ ํฌํธ ๋์ PID(ํ๋ก์ธ์ค ID)๋ฅผ์ ์กํฉ๋๋ค.ํฌํธ๋ ๊ณ ์ ๊ฐ์ธ ๋ฐ๋ฉด PID๋ ์ฌ๊ธฐ๋์ ๋ฌ๋ผ์ง๋ฏ๋ก ์ด ๊ฒฝ์ฐ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ฐ์์ฑ ์๋ณ์ด ์ด๋ ค์ธ ์ ์์ต๋๋ค.
์ด ๊ฒฝ์ฐ JVM ์ต์ ์ whatap.port ์์ฑ์ ์ถ๊ฐ ํ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ์ฌ๊ธฐ๋ํฉ๋๋ค.
JAVA_OPTS
JAVA_OPTS="${JAVA_OPTS} -Dwhatap.port=8080 "
์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ ๋ณ JVM ์ต์ ์ค์ ํ์ผ์ โ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ ๋ณ ์ ์ฉ์ ์ฐจโ์์ ํ์ธํ ์ ์์ต๋๋ค.
4.1.3. ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๊ฐ OSGi ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐOSGI ํ๋ ์์ํฌ ๊ตฌ์กฐ์ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ์ธ ๊ฒฝ์ฐ JVM ์ต์ ์ ์์ด์ ํธ ํจํค์ง prefix(whatap)๋ฅผ ๋ฑ๋กํด์ผ ํฉ๋๋ค.
Jboss EAP 6.0 ์ด์Jboss AS 7.0 ์ด์Wildfly 8.0 ์ด์IBM WebSphere AS 7.0 ์ด์๋ฑ์ด ํด๋น๋ฉ๋๋ค.
JBoss AS, Wildfly, JBoss EAP 6.0 ์ด์
$JBOSS_HOME/bin/standalone.conf(domain.conf)ํ์ผ์ prefix๋ฅผ ๋ฑ๋กํฉ๋๋ค.
-Djboss.modules.system.pkgs=whatap
4.1. ์ค์น ์๋ฌ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 15
![Page 19: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/19.jpg)
Figure 9. JBOSS .EAP 7.0 ์์
WebSphere
-Dcom.ibm.ws.classloader.server.alwaysAllowedPackages=whatap
โข Default๋ก โ*โ๋ก ์ง์ ๋์ด ์๋ ๊ฒฝ์ฐ๋ ๋ณ๋์ ์ค์ ์ ํ์๋ก ํ์ง ์์ต๋๋ค.
โข ์ค์ ์์น๋ โWebSphereโ๋ฅผ ์ฐธ์กฐํฉ๋๋ค.
security.policy ๊ถํ ์ถ๊ฐ
$WEBSPHERE_HOME/properties/server.policy ๋๋ $WEBSPHERE_PROFILE_HOME/properties/server.policy
grant codeBase "file:$WHATAP_HOME/-"{ permission java.security.AllPermission;};
4.1.4. ํํธ๋งต์ ํธ๋์ญ์ ์ด ํ์๋์ง ์๋ ๊ฒฝ์ฐIBM JDK์ ๊ฒฝ์ฐ attach ๋ฐฉ์์ผ๋ก ์์ด์ ํธ๋ฅผ ์ ์ฉ ํ ๊ฒฝ์ฐ ํธ๋์ญ์ ์ ๋ณด๊ฐ ์์ง๋์ง ์์ผ๋ฏ๋ก โjavaagentโ ๋ฐฉ์์ผ๋ก ์์ด์ ํธ๋ฅผ ์ค์นํด์ผ ํฉ๋๋ค.
4.1.5. logmanager ๊ด๋ จ ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐJBoss AS 7.0์ด์, JBoss EAP 6.0 ์ด์ ์์ logmanager ๊ด๋ จ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค๋ฉด JVM ์ต์ ์ ์ถ๊ฐํฉ๋๋ค.
-Djava.util.logging.manager์ LogManager package๋ช ์ค์ -Xbootclassloader์ JBoss log manager JAR file ์ค์
4.1. ์ค์น ์๋ฌ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 16
![Page 20: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/20.jpg)
Figure 10. ์ค์ ์ถ๊ฐ ์
4.1.6. MBeanServerBuilder ์๋ฌ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐJBoss 5.0 ์ดํ์์ MBeanServerBuilder ๊ด๋ จ ์๋ฌ๊ฐ ์ถ๋ ฅ๋ ๊ฒฝ์ฐ JVM ์ต์ ์ถ๊ฐ ํฉ๋๋ค.
-Djboss.platform.mbeanserver๋ฅผ true๋ก ์ค์ ํฉ๋๋ค.
Figure 11. ์ค์ ์ถ๊ฐ ์
4.1.7. permission ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐJava Security Policy ๊ด๋ จ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ, $JAVA_HOME/jre/lib/security/java.policy ํ์ผ์ ๊ถํ ์ค์ ์ ์ถ๊ฐํฉ๋๋ค.
๋ชจ๋ ๊ถํ์ ์ผ๊ด ์ ์ฉํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ, {JAVA_HOME}/jre/lib/security/java.policy ํ์ผ์ ํ๊ธฐ์ ์ค์ ์ ์ถ๊ฐํฉ๋๋ค.
grant { permission java.security.AllPermission;};
java.io.FilePermission ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ
4.1. ์ค์น ์๋ฌ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 17
![Page 21: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/21.jpg)
$JAVA_HOME/jre/lib/security/java.policy ํ์ผ์ ํ๊ธฐ์ ์ค์ ์ ์ถ๊ฐํฉ๋๋ค.
grant { ... permission java.io.FilePermission {์ค๋ฅ ๋ฉ์ธ์ง์์ ํ์ธ๋ ํจํค์ง ๊ฒฝ๋ก}, "read"};
java.util.PropertyPermission ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ
$JAVA_HOME/jre/lib/security/java.policy ํ์ผ์ ํ๊ธฐ์ ์ค์ ์ ์ถ๊ฐํฉ๋๋ค.
grant { ... permission java.util.PropertyPermission {์ค๋ฅ ๋ฉ์ธ์ง์์ ํ์ธ๋ ํจํค์ง ๊ฒฝ๋ก}, "read"};
4.1.8. Sigar library๋ฅผ ๋ก๋ฉํ์ง ๋ชปํ๋ ๊ฒฝ์ฐ$WHATAP_HOME/lib1/*.so ํ์ผ์ ์คํ ๊ถํ์ด ์๋์ง ํ์ธ ํ ์๋ค๋ฉด ์คํ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค.
$ sudo chmod +x *.so
AIX 7์์ $WHATAP_HOME/lib1 ํ์์ libsigar-ppc64-aix-7.so ํ์ผ์ด ์์ด ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ํ์ผ์ ๋ณต์ฌ ํฉ๋๋ค.
$ cp libsigar-ppc64-aix-5.so libsigar-ppc64-aix-7.so
4.2. ์์ด์ ํธ ๋ค์ด๋ฐ๋ชจ๋ํฐ๋ง ๋์์ ์๋ณํ๊ธฐ ์ํด์๋ ์ด๋ฅผ ๊ตฌ๋ถํด์ผ ํ ํ์๊ฐ ์์ผ๋ฉฐ ์ํญ์ ์ค๋ธ์ ํธ ์ด๋ฆ๊ณผ ์ค๋ธ์ ํธ ์์ด๋๋ฅผ ํตํด์ ๋์์ ๊ตฌ๋ถํฉ๋๋ค.
์ค๋ธ์ ํธ(์์ด์ ํธ)์ด๋ฆ์ ํ๋ก์ ํธ ๋จ์๋ก ๊ณ ์ ํด์ผ ํฉ๋๋ค.์ค๋ธ์ ํธ ์์ด๋/์ด๋ฆ์ด ๋ฐ๋๋ฉด ์ด์ ๋ฐ์ดํฐ์ ์ฐ๊ฒฐ๋์ง ์์ต๋๋ค
์ํญ ๋ชจ๋ํฐ๋ง ์๋น์ค์์๋ ๋ชจ๋ํฐ๋ง ๋์์ ์ค๋ธ์ ํธ ๋๋ ์์ด์ ํธ๋ก ํผ์ฉํด์ ์ฌ์ฉํฉ๋๋ค.
4.2. ์์ด์ ํธ ๋ค์ด๋ฐ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 18
![Page 22: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/22.jpg)
4.2.1. ์ด๋ฆ ๊ฒฐ์ ๋ฐฉ์์ถ๊ฐ์ ์ธ ์ค์ ์ด ์๋ ๊ฒฝ์ฐ ์ค๋ธ์ ํธ ์ด๋ฆ์ ์๋์ผ๋ก ๊ฒฐ์ ๋ฉ๋๋ค.
์) IP ์ฃผ์๊ฐ 10.11.12.13 ์ธ ์๋ฒ์์ Tomcat ์ด 8080 ํฌํธ๋ก ๊ธฐ๋๋ ๊ฒฝ์ฐ TC-12-13-8080 ์ด๋ผ๋ ์ค๋ธ์ ํธ ์ด๋ฆ์ผ๋ก ์๋ ๋ถ์ฌ๋ฉ๋๋ค.
whatap.oname ์ค์ ์ด ์๋ ๊ฒฝ์ฐ (๊ธฐ๋ณธ๊ฐ)
1. whatap.type์ ์๋ณํ๋ค.2. whatap.type์ด ์๋ธ๋ฆฟ ์ปจํ ์ด๋๋ฉด ์ดํ๋ฆฌ์ผ์ด์ ์ด ์ฌ์ฉํ๋ ํฌํธ๋ฅผ ์๋ณ ํ๋ค.3. ํฌํธ๊ฐ ์๋ณ๋์ง ์๋ ๊ฒฝ์ฐ๋ผ๋ฉด pid ๋ฅผ ๊ฒ์ ํ๋ค.4. ์๋ณ๋ ์ ๋ณด์ IPv4 ์ฃผ์ 3,4๋ฒ์งธ๋ฅผ ์ถ๊ฐํ์ฌ ์ต์ข ์ด๋ฆ์ ๊ฒฐ์ ํ๋ค.
๊ฒฐ๊ณผ : {type}-{ip2}-{ip3}-{port}
์ด์๊ฐ์ ์ด๋ฆ ๊ฒฐ์ ๋ฐฉ์์ ์ฌ์ฉํ๋ ์ด์ ๋ ์๋น์ค ์ค์ง, ๋คํธ์ํฌ ๋จ์ ํ ์ฌ ์ ์๋ ์์ด์ ํธ์ ๊ธฐ์กด ์์ด์ ํธ๋ก ๋ถํฐ ์์ ๋ ๋ฐ์ดํฐ์ ์ฐ์์ฑ์์ ์งํ๊ธฐ ์ํด์ ์ ๋๋ค.
4.2.2. ์ด๋ฆ ๋ณ์์ํญ์ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๋ณ์๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ ๊ณต ํฉ๋๋ค.
์ค๋ธ์ ํธ ์ด๋ฆ ํจํด์ ์ฌ์ฉํ ์ ์๋ ๋ณ์ ์ข ๋ฅ
๋ฌธ์์ด
์ง์ ํ ๋ฌธ์์ด์ ์ฌ์ฉํฉ๋๋ค.
{type}
์ปจํ ์ด๋ ํ์ ์ ์๋ ์๋ณํด ๋ถ์ฌ ํฉ๋๋ค. ์๋ ์๋ณ ๋์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.JAVA, TOMCAT, JBOSS, RESIN, SPRINGBOOT, JETTY, JEUS, WEBLOGIC, WEBSPHERE, UNDERTOW, PLAY
{ip0}
IPv4 ์ฃผ์ ์ค ์ฒซ๋ฒ์งธ ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
{ip1}
IPv4 ์ฃผ์ ์ค ๋๋ฒ์งธ ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
{ip2}
IPv4 ์ฃผ์ ์ค ์ธ๋ฒ์งธ ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
{ip3}
IPv4 ์ฃผ์ ์ค ๋ค๋ฒ์งธ ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
{pid}
Java Process ์ pid ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
{port}
์ดํ๋ฆฌ์ผ์ด์ ์ด Listen ํ๋ ํฌํธ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
4.2.3. ์ด๋ฆ ์ง์ ์๋์ผ๋ก ๋ถ์ฌ๋ ์ด๋ฆ ๋์ ์ง์ ์ด๋ฆ์ ์ ํ ์๋ ์์ต๋๋ค.
4.2. ์์ด์ ํธ ๋ค์ด๋ฐ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 19
![Page 23: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/23.jpg)
์ฐ์ ์์ ์ต์ ์ค์ ์์น ์ค๋ช
1 -Dwhatap.name JVM Option ์ดํ๋ฆฌ์ผ์ด์ ๋ช ํจํด์ ์ง์ ํฉ๋๋ค.
default : {type}-{ip2}-{ip3}-{port}
2 -Dwhatap.oname JVM Option ์ดํ๋ฆฌ์ผ์ด์ ๋ช ์ ๊ณ ์ ๊ฐ์ผ๋ก ์ง์ ํฉ๋๋ค.
์ค๋ธ์ ํธ ์ด๋ฆ์ ์๋๋ถ์ฌ
ํด๋ผ์ฐ๋ ํ๊ฒฝ์์ Scale Outํ๊ฒฝ์์๋ VM์ด ๋ณต์ฌ๋์ด ์ฌ์ฉ๋ ์ ์๊ธฐ ๋๋ฌธ์ ์ค๋ธ์ ํธ ์ด๋ฆ์ด ์๋ ๋ถ์ฌ๋๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
๋์ผ ํ๋ผ์ด๋น IP๋ฅผ ์ฌ์ฉํ๋ ํ๊ฒฝ์์ ์ค๋ธ์ ํธ ์ด๋ฆ ์๋ ๋ถ์ฌ
๋ง์ฝ 2๊ฐ์ VPCํ๊ฒฝ์ ๋ง๋ค๊ณ ๋์ผํ private IP ๋ฅผ ์ฌ์ฉํ๋๋ก ๋คํธ์์ ๊ตฌ์ฑํ๊ฒฝ์ฐ ๋๊ฐ์ VPC๋ ๋ณ๋์ ํ๋ก์ ํธ๋ก ๋ถ๋ฆฌํ๊ฑฐ๋-Dwhatap.name์ ์๋ก ๋ค๋ฅธ ํจํด์ผ๋ก ์ง์ ํ์ฌ ์ค๋ณต๋์ง ์๋๋ก ํด์ผ ํฉ๋๋ค.
์ค๋ธ์ ํธ ์ด๋ฆ์ ๋ช ์์ ์ผ๋ก ์ง์ ํ ๋๋
java ์คํ ์ต์ ์ ์ง์ ํ ์ ์์ต๋๋ค.
-Dwhatap.oname=tomcat1
์ค๋ธ์ ํธ ์ด๋ฆ์ ํจํด์ผ๋ก ์ง์ ํ๊ณ ์ถ์๋
๋ฌธ์์ด๊ณผ ๋ณ์๋ฅผ ์กฐํฉํด ์ฌ์ฉํ ์ ์์ต๋๋ค.
-Dwhatap.name=front-{ip3}-{port}
4.3. MSA ์ ๋ฌด ๊ทธ๋ฃน ๊ตฌ๋ถAuto Scale Out ํ๊ฒฝ์์ ์๋ ๋ฑ๋ก๋ ์์ด์ ํธ์ IP / Port / Pid ์ ๋ณด๋ง์ ๊ฐ์ง๊ณ ์ ๋ฌด ๋จ์์ ์ ๋ณด๋ฅผ ์ธ์งํ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
์ด ๊ฒฝ์ฐ okind ์์ฑ์ ๋ถ์ฌํ๋ฉด ์ฝ๊ฒ ์๋ณ์ด ๊ฐ๋ฅํฉ๋๋ค.
์ ํ์ ์ธ Docker ํ๊ฒฝ์ ๋ชจ์ต์ ๋๋ค.
โข ๊ฐ ์์ด์ ํธ๋ ์๊ฒ ์ชผ๊ฐ์ด ๋์ MSA (Micro Service Architecture) ๊ตฌ์ฑ ์์ ์ ๋๋ค.
โข ์์ด์ ํธ๋ค์ ์๋์ผ๋ก Scale In/Out ๋ฉ๋๋ค.
โข ์ด๋ค IP๋ฅผ ๊ฐ์ง ์๋ฒ์์ ์ด๋ค pid ๋ก ์ดํ๋ฆฌ์ผ์ด์ ์ด ๊ธฐ๋ ๋ ์ง๋ ์์ธก ํ ์ ์์ต๋๋ค.
์ด ๊ฒฝ์ฐ ์ด๋ฆ๊ณผ ๋๋ถ์ด ์ ๋ฌด๋ฅผ ์๋ณ ํ ์ ์๋ whatap.okind ์ต์ ์ ์ฌ์ฉํด okind ์์ฑ์ ์ถ๊ฐ ํฉ๋๋ค.
JVM ์ต์ ์ ์ถ๊ฐ ํ ์ ์์ต๋๋ค.
JAVA_OPTS
-Dwhatap.okind=mobile_ui
์ค์ ํ์ผ์ ์ถ๊ฐ ํ ์๋ ์์ต๋๋ค.
whatap.conf
whatap.okind=common_api
MSA ํ๊ฒฝ์ด๋ผ๋ฉด okind ์์ฑ์ ์ถ๊ฐํด์ผ๋ง ์ํญ์ด ์ ๊ณตํ๋ ๋ค์ํ ๊ธฐ๋ฅ์ ํ์ฉ ํ ์ ์์ต๋๋ค.
4.3. MSA ์ ๋ฌด ๊ทธ๋ฃน ๊ตฌ๋ถ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 20
![Page 24: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/24.jpg)
4.4. Scale In ์์ ์์ด์ ํธ ์๋ ์ญ์ ์์ด์ ํธ ์ด๋ฆ์ ์๋๋ถ์ฌํ๋ ๊ฒ์ Scale Out ์ ์ด์์์ ๊ฐ์ ์์ด ์์คํ ์ ์๋์ผ๋ก ํ์ฅํ๊ธฐ ์ํจ์ ๋๋ค ๊ทธ๋ฐ๋ฐ Auto Scale ํ๊ฒฝ์์ Scale In์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ ์ ์์ ์ธ Shutdown์ผ๋ก ์ธ์ํ๋ ๊ฒ์ด ํ์ํฉ๋๋ค.
์๋ ์ญ์ ๋ฅผ ์ํด์๋ ์๋ฒ์์ ์์ด์ ํธ๋ก ๋ถํฐ ์๋ ์ญ์ ์ ๋ํ ๋ฉ์ธ์ง๋ฅผ ๋ฐ์์ผ ํฉ๋๋ค. ${WHATAP_HOME}์ Java ํ๋ก์ธ์ค์ {processid}.shutdown ํ์ผ์ด ๋ํ๋๋ฉด 5์ด ์ด๋ด์ ์์ด์ ํธ๋ ์๋ฒ์ โSILENT_SHUTDOWNโ ์ด๋ฒคํธ๋ฅผ ์ ์กํฉ๋๋ค.
SILENT_SHUTDOWN ์ด๋ฒคํธ๊ฐ ์ ์ก๋๊ณ 1๋ถ ์ด๋ด์ ์์ด์ ํธ๊ฐ ์ ง๋ค์ด๋๋ฉด ์ํญ์๋ฒ๋ ํด๋น ์์ด์ ํธ๋ฅผ ๊ณง๋ฐ๋ก ๋ชฉ๋ก์์ ์ ๊ฑฐํ๊ณ inactive์ด๋ฒคํธ๋ ๋ฐ์ํค์ง ์์ต๋๋ค.
Tomcat ์ ๊ฒฝ์ฐ shutdown.sh ์ ์ง์ ํ ์ ์์ต๋๋ค.
$TOMCAT_HOME/bin/shutdown.sh
touch $WHATAP_HOME/$CATALINA_PID.shutdown
4.5. AES 256 ์ํธํ ์ ์ฉ์ํญ APM ์์ด์ ํธ๋ ์์ง๋ ๋ฐ์ดํฐ๋ฅผ ์ํธํํ์ฌ ์๋ฒ๋ก ์ ์กํฉ๋๋ค.์ด๋ฅผ ์ํด XOR ์ฐ์ฐ๊ณผ AES ์ํธํ๋ฅผ ์ฌ์ฉ, ํ๋ฌธ์ 128๋นํธ ๋จ์๋ก ๋๋์ด ์๋ณตํธํ๋ฅผ ์ํํฉ๋๋ค.
๊ฐํ๋ ๋ณด์์ ํ์๋ก ํ๋ ๊ฒฝ์ฐ 256๋นํธ๊น์ง ํ์ฅํ ์ ์์ต๋๋ค.๊ธฐ๋ณธ์ ์ผ๋ก JCE๋ 128๋นํธ๋ฅผ ์ง์ํ๊ธฐ ๋๋ฌธ์ AES 256 ๋นํธ๋ฅผ ์ ์ฉํ๊ธฐ ์ํด์๋ jce ์ ๋ฐ์ดํธ๊ฐ ํ์ ํฉ๋๋ค.
๊ธฐ๋ณธ ํ๊ฒฝ์์ AES 256 ์ ์ฉ์ ์ค๋ฅ
Unsupported keysize or algorithm parameters.##ํน์,Illegal key size or default parameters.
โข Java 8
โฆ https://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
โข Java 7
โฆ http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
โข Java 6
โฆ http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
โข Java 5
โฆ http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jce_policy-1.5.0-oth-JPR
โข Java 1.42
โฆ http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#7503-jce-1.4.2-oth-JPR
๋งํฌ์์ ํ์ผ์ ๋ค์ด๋ก๋ ํ ํ $JAVA_HOME/jre/lib/security์ ํ์ผ์ ๋ฎ์ด์๋๋ค.
jce ๊ฐ ์ ์ฉ ๋์๋ค๋ฉด ${WHATAP_HOME}/whatap.conf ํ์ผ์ ์๋ ์ค์ ์ ์ถ๊ฐํฉ๋๋ค.
cypher_level=256 ์ค์ ์ ์ถ๊ฐํฉ๋๋ค.
cypher_level=256
4.4. Scale In ์์ ์์ด์ ํธ ์๋ ์ญ์
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 21
![Page 25: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/25.jpg)
์ ํ๋ฆฌ์ผ์ด์ ์ฌ์์ ์ดํ ์ ์ฉ ๋ฉ๋๋ค.
4.5. AES 256 ์ํธํ ์ ์ฉ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 22
![Page 26: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/26.jpg)
Chapter 5. ๋ฐ์ดํฐ์ํญ ์์ด์ ํธ๋ ํธ๋์ญ์ ์ฑ๋ฅ, ์ฃผ์ ์ฑ๋ฅ ํต๊ณ ๊ทธ๋ฆฌ๊ณ ์๋น์ค์ ์์์ ๋ํ ์นด์ดํฐ๋ฅผ ์์งํฉ๋๋ค.
5.1. ํธ๋์ญ์ ์ถ์
5.1.1. ํธ๋์ญ์ ์์๊ณผ ์ข ๋ฃํธ๋์ญ์ ์ด๋ ์ฌ์ฉ์ ๋ธ๋ผ์ฐ์ ์ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ ์๋ฒ ์ฌ์ด๋์ LUW(Logical Unit of Work)๋ฅผ ๋งํฉ๋๋ค. ๊ฐ๋ณ ์น์๋น์ค(URL) ์์ฒญ์ ๋ํ์ฒ๋ฆฌ๊ณผ์ ์ด ๋ฐ๋ก ํธ๋์ญ์ ์ธ ๊ฒ์ ๋๋ค. ์น ์ดํ๋ฆฌ์ผ์ด์ ์์ ํธ๋์ญ์ ์ ์น์๋น์ค(URL)์ ๋ํ HTTP Request๋ฅผ ๋ฐ์ Response๋ฅผ ๋ฐํํ๋๊ณผ์ ์ ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ์ด ํธ๋์ญ์ ๋ค์ ์ฑ๋ฅ์ผ๋ก ์์ฝํ ์ ์์ต๋๋ค.
ํธ๋์ญ์ ์ฑ๋ฅ์ ํธ๋์ญ์ ์์์์ ๋ถํฐ ์ข ๋ฃ์์ , ๊ทธ๋ฆฌ๊ณ ์๋ต์๊ฐ๋ฐ ์์ ์ฌ์ฉ๋ ํน์ ํธ๋์ญ์ ํธ์ถ์์ ์์ฑ๋ฑ์ ์ ๋ณด๋ค์ ํฌํจํฉ๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ํธ๋์ญ์ ์๋ต ๋ถํฌ์ ํธ๋์ญ์ ํต๊ณ๋ฅผ ํตํด์ ํธ๋์ญ์ ์ฑ๋ฅ์ ๋ถ์ํ ์์์ต๋๋ค.
ํธ๋์ญ์ ์ ์ด๋ฆ
ํธ๋์ญ์ ์ ์ด๋ฆ์ URL์ ๋๋ค. ๋จ Get ํ๋ผ๋ฏธํฐ(Query String)๋ ์ ์ธ ๋ฉ๋๋ค.
๋ธ๋ผ์ฐ์ ์์ฒญ
http://www.whatap.io/hr/apply.do?name='kim'
ํธ๋์ญ์ ์ด๋ฆ
/hr/apply.do
์ํญ์์๋ "์น์๋น์ค ์ด๋ฆ" ๊ณผ "ํธ๋์ญ์ ์ด๋ฆ"์ ํผ์ฉํด์ ์ฌ์ฉํฉ๋๋ค. ์๋น์ค ํน์ URL๊ณผ ๊ทธ์ ๋ํ ์์ฒญ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ๋ชจ๋๋ก ๋ณผ์์๊ณ ํธ๋์ญ์ ๊ทธ ์์ฒญ์ ๋ํ ์ฒ๋ฆฌ ํ๋๋ฅผ ์๋ฏธํ๊ธฐ ๋๋ฌธ์ ๋์ ์ด๋ฆ์ ๋์ผํ๊ฒ URL์ด๋ผ๊ณ ํ ์์์ต๋๋ค.
ํธ๋์ญ์ ์ด๋ฆ ์ ๊ทํ
MSA ๊ธฐ๋ฐ์ ์์คํ ์ด ๋ฐ์ ํ๋ฉด์ URL + ? ์ธ์ ํ๋ผ๋ฏธํฐ ํ์๋ณด๋ค URL ํจ์ค์ ํ๋ผ๋ฏธํฐ๋ฅผ ๋ฃ๋ ๋ฐฉ์์ ๋ง์ด ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค.
http://www.whatap.io/hr/kim/apply.do
์ด๋ ๊ฒ ํจ์คํ๋ผ๋ฏธํฐ๋ฅผ ๊ทธ๋๋ก ํธ๋์ญ์ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ๊ฒ ๋๋ฉด ํต๊ณ์ ๊ด์ ์ ์ฑ๋ฅ ๋ถ์์ด ์ด๋ ต๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ด๋ฅผ ์ ๊ทํํ ํ์๊ฐ์์ต๋๋ค. ์ํญ์ ์ด๋ ์ ๊ทํ๋ฅผ ์ํ ์ต์ ๊ณผ ๊ธฐ๋ฅ์ ์ ๊ณตํ๊ณ ์์ต๋๋ค.
whatap.conf
trace_normalize_urls=/hr/{name}/apply.do
์์ ๊ฐ์ด ์ค์ ํ๋ฉด ํธ๋์ญ์ ์ด๋ฆ์ด /hr/kim/apply.do โ /hello/:name/apply.do ๋ก ์นํ๋์ด ์์ง๋ฉ๋๋ค. ๋ง์ฝ ๋์ url์ค์ ์ ๊ทธ๋๋ก ๋๊ณ ๊ธฐ๋ฅ๋งoffํ๊ณ ์ ํ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ต์ ์ ์ง์ ํ ์์์ต๋๋ค. ๊ธฐ๋ณธ๊ฐ์ true์ ๋๋ค.
whatap.conf
trace_normalize_enabled=false
5.1. ํธ๋์ญ์ ์ถ์
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 23
![Page 27: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/27.jpg)
5.1.2. ํธ๋์ญ์ ํ๋กํ์ผํธ๋์ญ์ ์ฑ๋ฅ์ด ํธ๋์ญ์ ์์๊ณผ ์ข ๋ฃ์ฌ์ด์ ์์ฝ ์งํ๋ค์ด๋ ์์ฑ๋ค์ ์๋ฏธํ๋ค๋ฉด ํธ๋์ญ์ ํ๋กํ์ผ์ ํธ๋์ญ์ ์ด ์ํ๋๋ ๊ณผ์ ์ค์ด ์คํ ๋ค์์ถ์ ํ๋ ๊ฒ์ ๋๋ค.
ํธ๋์ญ์ ์ด ๋๋ฆฌ๊ฑฐ๋ ์ค๋ฅ๊ฐ ์๋ค๋ฉด ๊ทธ ์์ธ์ ์ถ์ ํ๊ธฐ ์ํด์ ์ํ ์ด๋ ฅ์ ์คํ ๋ณ๋ก ์ถ์ ํ ํ์๊ฐ ์๋๋ฐ ์ด๊ฒ์ ํธ๋์ญ์ ํ๋กํ์ผ๋ง์ด๋ผ๊ณ ํฉ๋๋ค.
์ํญ์ด ์์งํ๋ ์คํ ์ ์ข ๋ฅ์๋ ํฌ๊ฒ SQL ์คํ , HTTP CALL์คํญ, ๋ฉ์ธ์ง ์คํ , SOCKET์คํ ์คํ , DB์ฐ๊ฒฐ ์คํ , ๋ฉ์๋ ์คํ ๋ฑ์ด ์์ต๋๋ค.
DB์ฐ๊ฒฐ ์คํ
์์ง๋ฐฉ์: START-ENDRDB์ ๋ํ ์ฐ๊ฒฐ์ ๋ํ ์ฑ๋ฅ์ ํฌํจํฉ๋๋ค. ์คํ ์ ๋ณด์๋ ์ด๋ฆ,์๋ต์๊ฐ,์๋ฌ๋ฅผ ํฌํจํฉ๋๋ค.
SQL ์คํ
์์ง๋ฐฉ์: START-ENDJDBC SQL์ ๋ํ ์ฑ๋ฅ์ ํฌํจํฉ๋๋ค. ์คํญ์ ๋ณด์๋ ์ฐ๊ฒฐ์ ๋ณด,SQL๋ฌธ, ์๋ฌ๊ฐ ํฌํจ๋์ด์์ต๋๋ค.
HTTP Call ์คํ
์์ง๋ฐฉ์: START-END์ธ๋ถ http์๋น์ค ํธ์ถ์ ๋ํ ์ฑ๋ฅ์ ํฌํจํฉ๋๋ค. ์คํ ์ ๋ณด์๋ url, host, port, ์๋ต์๊ฐ, ์๋ฌ๊ฐ ํฌํจ๋ฉ๋๋ค.
Message ์คํ
์์ง๋ฐฉ์: ADD๋ฉ์ธ์ง ์คํ ์ ํ๋กํ์ผ์ ์์งํ๋ ๊ณผ์ ์์ ๋น์ ํ์ ์ธ ๋ชจ๋ ๊ตฌ๊ฐ์ ๋ํ ์ด๋ ฅ์ ์์งํ ๋ ์ฌ์ฉ๋ฉ๋๋ค. file์คํ ๋ฑ๋ฑ ํน์ ์ฌ์ฉ์๋ ์์์์์น๋ฅผ ์ง์ ํ๋๋ฐ ์ฌ์ฉ ํ ์์์ต๋๋ค.
SOCKET ์คํญ
์์ง๋ฐฉ์: ADDSocket ์คํ์ ํํํ๋ ์คํ ์ ๋๋ค.
METHOD ์คํญ
์์ง๋ฐฉ์: START-END๋ฉ์๋ ์๋ต์๊ฐ์ ์ถ์ ํฉ๋๋ค.
ACTIVE STATCK ์คํญ
์์ง๋ฐฉ์: ADD์กํฐ๋ธ ์คํญ์ ๋ํ ์ ๋ณด๋ฅผ ํฌํจํฉ๋๋ค. ๋ณ๋ ์ฐ๋ ๋๊ฐ ์์ฑํ์ฌ ํ๋กํ์ผ์ ์ถ๊ฐํ๋ ๋ฐฉ์์ผ๋ก ์์งํฉ๋๋ค
5.1.3. ํธ๋์ญ์ ์คํญ ์์ง ๋ฐฉ์์๋ฐ์์ด์ ํธ๋ ์ ํ ์์ง ๋ฐฉ์๊ณผ ํํ ์์ง๋ฐฉ์์ ์ ๊ณตํฉ๋๋ค.
์ ํ ์์ง
๊ฐ๋ณ ํธ๋์ญ์ ํ๋กํ์ผ์ ๋ฌดํ์ ์คํ ์ ์์งํ ์ ์์ต๋๋ค. ํธ๋์ญ์ ๋ณ๋ก ๊ธธ์ด๊ฐ ์ ํ๋ ๋ฒํผ์ ํ๋กํ์ผ ์คํ ์ ์ ์ฅํฉ๋๋ค. ๊ฐ ํธ๋์ญ์ ์์ต๋๋ก ์์งํ ์์๋ ์คํ ์ ์๊ฐ ์ต์ ์ผ๋ก ์ง์ ๋์ด ์์ต๋๋ค.
profile_step_max_count
default: 1024์ต๋๋ก ์์ง๊ฐ๋ฅํ ์คํ ์
5.1. ํธ๋์ญ์ ์ถ์
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 24
![Page 28: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/28.jpg)
profile_step_normal_count
default: 800์ผ๋ฐ์ ์ผ๋ก ์๋ฌด๋ฐ ์ ์ฝ์์ด ์์ง๋๋ ์คํ ์
profile_step_heavy_count
default : 1000normal count๋ฅผ ์ด๊ณผํ ๊ฒฝ์ฐ์ ์คํ ์ ์๋ต์๊ฐ์ด ๋๋ฆฐ ์คํ ๊ณผ ์กํฐ๋ธ ์คํ ์คํ ๋ง ์์งํฉ๋๋ค.
profile_step_heavy_time
default:100heavy count์ด๋ด์์์ ์์ง๋๋ ์คํ ์ ๊ธฐ์ค ์๊ฐ์ profile_step_heavy_time์ ๋๋ค.
Figure 12. Profile Step Buffer
์์ง๋๋ ํ๋กํ์ผ์ ์คํ ์๊ฐ heavy count๋ฅผ ์ด๊ณผํ๋ ๊ฒฝ์ฐ์๋ ์กํฐ๋ธ ์คํ๋ง์ด ์์ง๋ฉ๋. ๋จ ์ด๊ฒฝ์ฐ์๋ ์ต๋ ์คํ ์๋profile_step_max_count๋ฅผ ๋์ ์ ์์ต๋๋ค.
ํํ ์์ง
์ ํ ์์ง์ ํ๋กํ์ผ์์ ์๋ถ๋ถ์ ์์งํ๊ณ ๋ฒํผ์ฌ์ด์ฆ๋ฅผ ๋์ผ๋ฉด ๋์ค ๋ด์ฉ์ ๋ฒ๋ฆฌ์ง๋ง ๋ฐ๋๋ก ํํ ์์ง์ ์๋ถ๋ถ์ ์คํ ์ ๋ฒ๋ฆฌ๋ ๋ฐฉ์์ ๋๋ค.
circular_profile_enabled=true
Figure 13. Profile Step Circular Buffer
๋ฒํผ ์ฌ์ด์ฆ๋ profile_step_max_count์ ์ค์ ํฉ๋๋ค.
profile_step_max_count=1024
5.1. ํธ๋์ญ์ ์ถ์
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 25
![Page 29: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/29.jpg)
5.2. Active Stack์งํ์ค์ธ ํธ๋์ญ์ ์ ์กํฐ๋ธ ํธ๋์ญ์ ์ด๋ผ๊ณ ํฉ๋๋ค. ์กํฐ๋ธ ํธ๋์ญ์ ์์ ์ ๊ธฐ์ ์ผ๋ก ๋คํํ ์คํ์ ์กํฐ๋ธ ์คํ์ด๋ผ ํฉ๋๋ค.
์ํญ ์์ด์ ํธ๋ ๋งค 10์ด(์ต์ ๊ฐ๋ฅ)๋ง๋ค ์กํฐ๋ธ ํธ๋์ญ์ ์ ๋ํด์ ์กํฐ๋ธ์คํ์ ๋คํํ๊ณ ์ด๊ฒ์ ์๋ฒ์ ์ ์กํฉ๋๋ค.(active_stack_second=10)
5.2.1. ์ปดํฉํธํ ์กํฐ๋ธ ์คํ ์์ง์กํฐ๋ธ ์คํ์ ์ค๋ ๋ ๋คํ๋ฅผ ์ ๊ธฐ์ ์ผ๋ก ์ํํ๊ธฐ ๋๋ฌธ์ ์๋ชป๊ตฌํ๋๋ฉด ์์ด์ ํธ์ ์ค๋ฒํค๋๊ฐ ์ปค์ง ์์์ต๋๋ค. ๋ฐ๋ผ์ ์ํญ์ ์์ด์ ํธ ๋ถํ๋ฅผ์ต์ํํ๋ฉด์ ์กํฐ๋ธ ์คํ์ ์์งํ๊ธฐ ์ํด ๋ค์ํ ์ต์ ๋ค์ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์๋ฒ > ๋๋ณด๊ธฐ > ์ฐ๋ ๋ ๋ชฉ๋ก/๋คํ ๋ฉ๋ด์์ ์ค๋ ๋ ๋ชฉ๋ก์ค์ "WhaTap-ActiveStackDump"์ฐ๋ ๋์ CPU Time์ ํ์ธํ๋ฉด์ค๋ฒํค๋๋ฅผ ํ๋จํ ์์์ต๋๋ค.
์กํฐ๋ธ์คํ์ ์
java.lang.StringBuffer.append(StringBuffer.java:309)java.util.regex.Matcher.appendReplacement(Matcher.java:839)java.util.regex.Matcher.replaceAll(Matcher.java:906)java.lang.String.replaceAll(String.java:2162)core.log.triggers.TriggerRegister.changeNotify(TriggerRegister.java:114)core.log.aop.handler.DaoInfo.log(DaoInfo.java:141)core.log.aop.handler.DaoInfo.doAround(DaoInfo.java:102)core.log.aop.reflection.profiler.AroundProfiler.invoke(AroundProfiler.java:19)com.sun.proxy.$Proxy39.getUpdateCount(Unknown Source)org.apache.ibatis.executor.resultset.DefaultResultSetHandler.getNextResultSet(DefaultResultSetHandler.java:256)org.apache.ibatis.executor.resultset.DefaultResultSetHandler.handleResultSets(DefaultResultSetHandler.java:193)org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:64)
* * *
sun.reflect.GeneratedMethodAccessor140.invoke(Unknown Source)sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)java.lang.reflect.Method.invoke(Method.java:606)org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
์ต์ ํ๋ ๋ฐ์ดํฐ ์์ง
โข ํธ๋์ญ์ ์ ์ํ์ค์ธ ์ฐ๋ ๋์ ๋ํด์๋ง ์คํ์ ๋คํํฉ๋๋ค.
โข ์กํฐ๋ธ ์คํ ๋คํ ์๊ฐ ๊ฐ๊ฒฉ์ ์กฐ์ ํ ์ ์์ต๋๋ค. (active_stack_second=10)
โข ์กํ๋ธ ์คํ์ ์ต๋ ๋ผ์ธ์ ์ ํ๋์ด ์์ต๋๋ค,top๋ผ์ธ์์ ๋ถํฐ ๊ธฐ๋ณธ 50๋ผ์ธ์ ์์งํฉ๋๋ค. (trace_active_callstack_depth=50)
โข ์กํฐ๋ธ ์คํ์ ๊ฐ ๋ผ์ธ์ ํด์ฌ์ฒ๋ฆฌ๋์ด ์์ง๋ฉ๋๋ค.(text๋ ํ๋ฒ๋ง)
โข ํ ํ์์ ์์ง๋๋ ์ต๋ ์กํฐ๋ธ์คํ ๊ฐฏ์๋ ์ ํ ๋์ด์์ต๋๋ค.(active_stack_count=100)
5.2.2. Background Thread์ ๋ํ ์กํฐ๋ธ ์คํ@since v1.6.2๊ธฐ๋ณธ์ ์ผ๋ก ์กํฐ๋ธ ์คํ์ ํธ๋์ญ์ ์ด ์ํ๋๊ณ ์๋ ์ฐ๋ ๋์ ์คํ์ ๋งํฉ๋๋ค. ํ์ง๋ง ์ผ๋ถ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ฐ๋ ๋์ ๋ํด์๋ ์คํ์ ๋ถ์ํ ํ์๊ฐ
5.2. Active Stack
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 26
![Page 30: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/30.jpg)
์์ ์์์ต๋๋ค. ์ด๋ ์ต์ ์ ํตํด์ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ฐ๋ ๋์ ๋ํ ์กํฐ๋ธ ์คํ์ ํ๋ณดํ ์์์ต๋๋ค.
async_stack_enabled=false
async_stack_enabled๋ฅผ true๋ก ์ค์ ํ๋ฉด ํ์ฑํ๋ฉ๋๋ค.
active_stack_second=10
์คํ ๋คํ ๊ฐ๊ฒฉ์ ํฌ๊ทธ๋ผ์ด๋ ์กํฐ๋ธ ์คํ ์ค์ ์ ๋ฐ๋ผ๊ฐ๋๋ค.
async_thread_match=http*,abc*
๋์ ์ฐ๋ ๋ ์ด๋ฆ์ ์ง์ ํ ๋๋ '*' ์ฌ์ฉํ์ฌ ๋ฌธ์์ด ํจํด์ ์ง์ ํฉ๋๋ค.
์ฐ๋ ๋ ์ด๋ฆ์ผ๋ก ์คํ ๋คํ ๋์์ ์๋ณํฉ๋๋ค. ","๋ฅผ ์ฌ์ฉํ์ฌ match๋ฅผ ์ฌ๋ฌ๊ฐ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
async_thread_parking_class=sun.misc.Unsafeasync_thread_parking_method=park
์คํ์ Top๋ฉ์๋๊ฐ async_thread_parking์ ๋ฑ๋ก๋ ํด๋์ค/๋ฉ์๋์ผ๋ ์ฐ๋ ๋๊ฐ ํํน์ํ์ ์๋ค๊ณ ํ๋จํ๊ณ ๋คํ๋ฅผ ์์ฑํ์ง ์์ต๋๋ค.
5.3. ํต๊ณ(๋ฆฌ์คํธ ๋ฐ์ดํฐ)์ํญ ์์ด์ ํธ๋ ํธ๋์ญ์ ์ ๋ณด, SQL๊ณผ ๊ฐ์ ์ฃผ์ ํ๋กํ์ผ ์ ๋ณด์ ๋ํด ํต๊ณ์ ๋ณด๋ฅผ ์์ง ํฉ๋๋ค. ๋งค 5๋ถ๋ง๋ค ๋ชฉ๋ก์ ๋ง๋ค๊ณ ์๋ฒ๋ก ์ ์กํฉ๋๋ค.
5.3.1. ํธ๋์ญ์ ํต๊ณํธ๋์ญ์ ํต๊ณ๋ฅผ ์์งํฉ๋๋ค. ๋งค 5๋ถ๋ง๋ค ์ต๋ 5000๊ฐ์ URL๋ณ ์ํ ํต๊ณ๋ฅผ ์์งํ์ฌ ์๋ฒ์ ์ ์กํฉ๋๋ค. ๋ง์ฝ ์๋ก๋ค๋ฅธ URL์ ์๊ฐ 5๋ถ๋์5000๊ฐ๊ฐ ๋์ผ๋ฉด ๋ฌด์๋ฉ๋๋ค.
์นผ๋ผ ์ค๋ช ํ์
hash URL ํด์ฌ u4
count ๊ฑด์ u4
error ์๋ฌ๊ฑด์ u4
time_sum ์๋ต์๊ฐ์ ํฉ u8
time_max ์ต๋ ์๋ต์๊ฐ u4
sql_count SQL ์ํ ๊ฑด์ u4
sql_time SQL์ํ์๊ฐ์ ํฉ u8
sql_fetch SQL ํจ์น ๊ฑด์ u4
sql_fetch_time SQL ํจ์น ์๊ฐ์ ํฉ u8
httpc_count HTTP Call๊ฑด์ u4
httpc_time HTTP Call ์๊ฐ์ ํฉ u8
malloc_sum ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋ SUM u8
cpu_sum CPU์ฌ์ฉ๋ SUM u8
5.3. ํต๊ณ(๋ฆฌ์คํธ ๋ฐ์ดํฐ)
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 27
![Page 31: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/31.jpg)
malloc_sum์ trace_malloc_enabled=true๋ก ๋ณ๊ฒฝํด์ผ ์์ง๋ฉ๋๋ค.(default: false)
5.3.2. SQL ์ํ ํต๊ณ5๋ถ๋์์ SQL ์ํ ํต๊ณ๋ฅผ ์์งํฉ๋๋ค. 5๋ถ๋์ ์๋ก๋ค๋ฅธ SQL๋ฌธ์ฅ์ด ์ต๋ 5000๊น์ง๋ง ํ์ฉ์ด ๋ฉ๋๋ค. ๋ง์ฝ ํ๋์ node.js ํ๋ก์ธ์ค์์ ํ๊ณ๋ฅผ๋๋ SQL์ด๋ฐ์ํ๋ฉด ํต๊ณ๋ฐ์ดํฐ์์๋ ๋ฒ๋ ค์ง๋๋ค.
์นผ๋ผ ์ค๋ช ํ์
dbc DB์ฐ๊ฒฐ ์ ๋ณด์ Hash u4
sql SQL๋ฌธ Hash u4
count_total ์ํ ๊ฑด์ u4
count_error ์๋ฌ๊ฑด์ u4
time_sum ์๋ต์๊ฐ์ ํฉ u8
time_max ์ต๋ ์๋ต์๊ฐ u4
fetch_count ํจ์น ๊ฑด์ u4
fetch_time ํจ์น ์๊ฐ์ ํฉ u8
service SQL์ ์ํํ service์ค์ ํ๋ u4
service(URL) hash๋ 5๋ถ๋์ ํด๋น SQL์ ํธ์ถํ URL์ค ํ๋(๋ง์ง๋ง ํธ์ถ URL)๋ฅผ ๋ถ์ ํ์ฉ์ ์ํด ์์งํฉ๋๋ค.
5.3.3. HTTPCall ์ํ ํต๊ณ5๋ถ๋์์ Http Call ์ํ ํต๊ณ๋ฅผ ์์งํฉ๋๋ค. 5๋ถ๋์ ์๋ก๋ค๋ฅธ Http Call๋ฌธ์ฅ์ด ์ต๋ 5000๊น์ง๋ง ํ์ฉ์ด ๋ฉ๋๋ค. ๋ง์ฝ ํ๋์ node.jsํ๋ก์ธ์ค์์ ํ๊ณ๋ฅผ ๋๋ ์ธ๋ถ Http Call์ด ๋ฐ์ํ๋ฉด ํต๊ณ๋ฐ์ดํฐ์์๋ ๋ฒ๋ ค์ง๋๋ค.
์นผ๋ผ ์ค๋ช ํ์
url ํ๊ฒ URL hash u4
host Host or ip u4
port Tcp Port u4
count_total ์ํ ๊ฑด์ u4
count_error ์๋ฌ๊ฑด์ u4
time_sum ์๋ต์๊ฐ์ ํฉ u8
time_max ์ต๋ ์๋ต์๊ฐ u4
service Http Call์ ์ํํ service์ค์ ํ๋ u4
5.3.4. ์๋ฌ ํต๊ณ5๋ถ๋์ ๋ฐ์ํ ์๋น์ค ์๋ฌ์ ๋ํ ํต๊ณ์ ๋๋ค. ์๋ก๋ค๋ฅธ ์๋ฌ+ํธ๋์ญ์ ์ด๋ฆ์ ํค๋ก ๋ฐ์ ๊ฑด์๋ฅผ ์์งํฉ๋๋ค. 5๋ถ๋น ์ต๋ 1000๊ฐ์ง ์๋ก๋ค๋ฅธ์๋ฌ๋ฅผ ํต๊ณํํฉ๋๋ค.
์นผ๋ผ ์ค๋ช ํ์
classHash ์๋ฌํด๋์ค u4
5.3. ํต๊ณ(๋ฆฌ์คํธ ๋ฐ์ดํฐ)
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 28
![Page 32: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/32.jpg)
์นผ๋ผ ์ค๋ช ํ์
service ํธ๋์ญ์ HASH u4
snapSeq ์คํ ์ ๋ณด u8
msg ๋ฉ์ธ์ง hash u4
count ๋ฐ์ ๊ฑด์ u4
5.3.5. IP๋ณ ํธ์ถ ๊ฑด์IP๋ณ๋ก ํธ์ถํ ํธ๋์ญ์ ๊ฑด์์ ํต๊ณ์ ์ผ๋ก ์์งํฉ๋๋ค. 5๋ถ๋น ์์ง๊ฐ๋ฅํ ์๋ก๋ค๋ฅธ IP์๋ ์ธ์คํด์ค๋น ์ต๋ 70000๊ฐ ์ ๋๋ค.
์นผ๋ผ ์ค๋ช ํ์
ip ip์ฃผ์ u4
count ๊ฑด์ u4
5.3.6. UserAgent๋ณ ํธ์ถ ๊ฑด์User Agnet ๋ฌธ์์ด์ Hash๋ณ๋ก ํธ์ถ ๊ฑด์๋ฅผ ์์งํฉ๋๋ค. 5๋ถ๋น ์์ง๊ฐ๋ฅํ ์๋ก๋ค๋ฅธ UserAgent Hash๋ ์ธ์คํด์ค๋น ์ต๋ 500๊ฐ ์ ๋๋ค.
์นผ๋ผ ์ค๋ช ํ์
hash hash u4
count ๊ฑด์ u4
5.3.7. ํธ๋์ญ์ Caller ํต๊ณ๋ฉํฐ ์๋ฒ๊ฐ rest ํธ์ถ๋ก ์ฐ๊ฒฐ๋ ๊ฒฝ์ฐ Caller์ Callee๊ฐ์ ์ฐ๊ด ํต๊ณ๋ฅผ ์์งํ ์์๋ค. ์ด ๋ฐ์ดํฐ๋ฅผ ์์งํ๊ธฐ ์ํด์๋ ๋ค์์ ์ต์ ์ ๋จผ์ ์ค์ ํด์ผํ๋ค.
whatap.conf
mtrace_rate=100mtrace_spec=v1stat_mtrace_enabled=true
Figure 14. MSA ์์คํ
์์ ๊ฐ์ ์ํคํ ์ฒ์์ caller&calleeํต๊ณ๋ api1์ api2์์๋ง ์กฐํํ ์์์ต๋๋ค. ์ฌ์ฉ์ ๋ธ๋ผ์ฐ์ ์์ ํธ์ถ๋๋ ์์คํ ์์๋ Callerํต๊ณ๋ฅผ์กฐํํ ์ ์์ต๋๋ค.
ํ์ง๋ง Caller์ชฝ ์๋ฒ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์กํด์ผํ๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ์๋ฒ์ ์ ์ ํ์ค์ ์ด ๋ค์ด๊ฐ์ผ ํฉ๋๋ค.
whatap.conf of [front]
mtrace_rate=100mtrace_spec=v1stat_mtrace_enabled=true
5.3. ํต๊ณ(๋ฆฌ์คํธ ๋ฐ์ดํฐ)
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 29
![Page 33: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/33.jpg)
whatap.conf of [api1] & [api2]
mtrace_spec=v1stat_mtrace_enabled=true
์์ง๋๋ ํต๊ณ ๋ฐ์ดํฐ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. Callee์ชฝ์์ ์กฐํ๋์ด์ผํฉ๋๋ค.
์นผ๋ผ ์ค๋ช ํ์
caller_pcode Caller์ ํ๋ก์ ํธ(์ํญ) ์ฝ๋ u8
caller_spec Caller์ ๋ฒ์ ๋ฌธ์์ด hash u4
caller_url Caller์ URL hash u4
spec Callee์ ๋ฒ์ ๋ฌธ์์ด hash u4
url Callee URL hash u4
count ์ํ ๊ฑด์ u4
error ์๋ฌ๊ฑด์ u4
time ์๋ต์๊ฐ์ ํฉ u8
5.3.8. ํธ๋์ญ์ ๋๋ฉ์ธ ํต๊ณ์ํญ์์ด์ ํธ๋ ๋๋ฉ์ธ๋ณ ํธ๋์ญ์ ํต๊ณ๋ฅผ ์์งํ ์ ์์ต๋๋ค. ํ๋์ ์๋ฒ์ ๋น์ฆ๋์ค์ ์ธ ์ด์ ๋ฑ์ผ๋ก ์ฌ๋ฌ๊ฐ์ ๋๋ฉ์ธ์ ๋ถ๋ฆฌํ์ฌ ์๋น์ค ํ๋์์คํ ์์๋ ๋๋ฉ์ธ ๋ณ ๋ถ์์ด ํ์ํ ์์์ต๋๋ค. ๊ทธ๋์ front์๋ฒ์์ ์ ํจํ๋ค
whatap.conf
stat_domain_enabled=true
์์ง๋๋ ๋ฐ์ดํฐ๋ ๋๋ฉ์ธ๋ณ URL์ ์ฒ๋ฆฌ ํํฉ์ ํ์ ํ ์์์ต๋๋ค
์นผ๋ผ ์ค๋ช ํ์
domain ์๋น์ค ๋๋ฉ์ธ hash u4
url ํธ๋์ญ์ URL hash u4
count ์ํ ๊ฑด์ u4
error ์๋ฌ๊ฑด์ u4
time ์๋ต์๊ฐ์ ํฉ u8
5.3.9. ํธ๋์ญ์ REFERER ํต๊ณ์ํญ์์ด์ ํธ๋ Referer๋ณ ํธ๋์ญ์ ํต๊ณ๋ฅผ ์์งํ ์ ์์ต๋๋ค. ์ ๋ฌด์ ๋ฐ๋ผ์๋ Referer๋ณ ๋ถ์์ด ํ์ํ ์์์ต๋๋ค.
whatap.conf
stat_domain_enabled=true
์์ง๋๋ ๋ฐ์ดํฐ๋ ๋๋ฉ์ธ๋ณ URL์ ์ฒ๋ฆฌ ํํฉ์ ํ์ ํ ์์์ต๋๋ค
์นผ๋ผ ์ค๋ช ํ์
referer Referer hash u4
5.3. ํต๊ณ(๋ฆฌ์คํธ ๋ฐ์ดํฐ)
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 30
![Page 34: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/34.jpg)
์นผ๋ผ ์ค๋ช ํ์
url ํธ๋์ญ์ URL hash u4
count ์ํ ๊ฑด์ u4
error ์๋ฌ๊ฑด์ u4
time ์๋ต์๊ฐ์ ํฉ u8
5.4. ์ฑ๋ฅ ์นด์ดํฐ์ํญ ์์ด์ ํธ๋ ํธ๋์ญ์ ํ๋กํ์ผ ์ ๋ณด, ํต๊ณ ์ ๋ณด ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ๊ณผ ๊ด๋ จ๋ ๋ค์ํ ์ ๋ณด๋ฅผ ์์งํ๋ฉฐ ์ด๋ ํฌ๊ฒ 3๊ฐ์ง๋ก ๋ถ๋ฅํ ์์์ต๋๋ค.
Counters
โข User : ์ค์๊ฐ ์ฌ์ฉ์ ํน์ ๋ฐฉ๋ฌธ์ฌ์ฉ์
โข Service : ํธ๋์ญ์ ,SQL,์ธ๋ถํธ์ถ ๊ฑด์๋ฐ ์๋ต, ์๋ฌ์จ๋ฑ
โข Resource : ์์คํ ,ํ๋ก์ธ์ค ์์ ์ฌ์ฉ๋
5.4.1. User Counter์ฌ์ฉ์๋ ๋ชจ๋ํฐ๋ง ๋์ ์์คํ ์ ์ฌ์ฉํ๋ ํด๋ผ์ด์ธํธ๋ฅผ ๋งํ๋ค. ํด๋ผ์ด์ธํธ์๋ ๋ค๋ฅธ์์คํ ๋ํ ํฌํจ๋ ์์์ง๋ง ์ผ๋ฐ์ ์ผ๋ก๋ ๋ธ๋ผ์ฐ์ ๋ฅผ๊ธฐ์ค์ผ๋ก ์ฌ์ฉ์ ์๋ฅผ ๊ณ์ฐ ํฉ๋๋ค.
์น์์คํ ์ฑ๋ฅ์์ ์ฌ์ฉ์๋ ๋ถํ๋ฅผ ๋ฐ์์ํค๋ ์์์ด๊ธฐ ๋๋ฌธ์ ์ค์ํฉ๋๋ค. ์ฌ์ฉ์ ์ถ์ ์ ์ํด์๋ ์ฌ์ฉ์๋ ์ด๋ค ๊ธฐ์ค์ผ๋ก ๊ตฌ๋ถํ ๊ฒ์ด๋ฉฐ์ด๋ป๊ฒ ์นด์ดํ ํ ๊ฒ์ธ๊ฐ์ ๋ํ ๊ณ ๋ ค๊ฐ ํ์ํฉ๋๋ค.
์ฌ์ฉ์ ๊ตฌ๋ถ
์ํญ ์์ด์ ํธ ์ฌ์ฉ์๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํด ๋ค์ํ ์ต์ ์ ์ ๊ณตํฉ๋๋ค.
RemoteIP
๊ธฐ๋ณธ๊ฐ์ remote ip๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๋ฅผ ๊ตฌ๋ถํ๋ ๊ฒ์ ๋๋ค. ํ์ง๋ง remote ip ๋ ์ค์ ์ฌ์ฉ์๋ฅผ ๊ตฌ๋ถํ๋๋ฐ ํ๊ณ๊ฐ ์์ต๋๋ค
Cookie(WHATAP)
์ฟ ํค๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์๋ฅผ ๊ตฌ๋ถํ ์์์ต๋๋ค. ๋ชจ๋ ์ ์ ํด๋ผ์ด์ธํธ๋ฅผ ๋์์ผ๋ก "WHATAP"์ด๋ผ๋ ์ฟ ํค์ UUID๋ฅผ ์ ์ฅ ํฉ๋๋ค.
whatap.conf
trace_user_using_ip=false
Header Key
http header์ ์ ๋ฌ๋๋ ๊ฐ์ผ๋ก ์ฌ์ฉ์๋ฅผ ๊ตฌ๋ถํ ์์์ต๋๋ค. .whatap.conf
user_header_ticket=USER
์ฌ์ฉ์ ์นด์ดํ
์ฌ์ฉ์๋ฅผ ์นด์ดํ ํ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ์ ๋ค๋ฅธ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉ๋ ์์๋ค. ๋์ ์ฌ์ฉ์๋ ํ์ฌ ์์คํ ์ ์ฌ์ฉํ๋ ์ฌ์ฉ์์ ์๋ฅผ ์๊ธฐ ์ํด์ ์ธก์ ํ๊ณ ์ผ์ผ์กํฐ๋ธ ์ฌ์ฉ์๋ ํ๋ฃป๋์ ํด๋น ์๋น์ค์ ๊ด์ฌ์ ๊ฐ๋ ์ฌ์ฉ์๊ฐ ๋ช๋ช ์ธ์ง์ ๋ํ ๋น์ฆ๋์ค์ ์ธ ๊ด๋ฆฌ๋ฅผ ์ํด ์ธก์ ํฉ๋๋ค.
5.4. ์ฑ๋ฅ ์นด์ดํฐ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 31
![Page 35: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/35.jpg)
์ค์๊ฐ ์ฌ์ฉ์
์ต๊ทผ 5๋ถ ๋์ ์ฌ์ฉ์ ์๋ฅผ ์นด์ดํ ํฉ๋๋ค. ๋งค5์ด๋ง๋ค shiftingํ๋ฉด ์ฌ์ฉ์๋ฅผ ์นด์ดํ ํฉ๋๋ค. ๊ฐ ์๋ฒ์์ ์นด์ดํ ๋ ์ซ์๋ HyperLogLog์๊ณ ๋ฆฌ์ฆ์ํตํด์ ๋จธ์ง๋ฉ๋๋ค.
์ผ์ผ ๋ฐฉ๋ฌธ(์กํฐ๋ธ) ์ฌ์ฉ์(DAU)
ํ๋ฃป๋์ ์์คํ ์ ์ ์ํ ์ฌ์ฉ์๋ฅผ ์นด์ดํ ํฉ๋๋ค. 24์๊ฐ ๋์ ์ ์ํ ์ฌ์ฉ์๋ฅผ hyperloglog๋ฅผ ํตํด์ ๊ณ์ฐํฉ๋๋ค.
์ํญ์์๋ ์ฅ๊ธฐ๊ฐ ์ฌ์ฉ์๋ฅผ ์นด์ดํ ํ๊ธฐ ์ํด ์ฌ์ฉ์๋ฐ์ดํฐ์ ๋ํ byte block์ ์๋ฒ๋ก ์์งํฉ๋๋ค. ์ด ๋ฐ์ดํฐ๋ฅผhyperloglog๋ก ๋จธ์งํ๋ฉด ์ด๋ก ์ ์ผ๋ก ํ๋ฌ ์ด์์ ์กํฐ๋ธ ์ฌ์ฉ์๋ฅผ ๊ณ์ฐ ํ ์ ์์ต๋๋ค.
5.4.2. Service Counter์๋น์ค ์นด์ดํฐ์๋ ํธ๋์ญ์ ๊ณผ ํธ๋์ญ์ ์ด ์ฌ์ฉํ๋ SQLํน์ ์ธ๋ถํธ์ถ๋ฑ์ ๋ํ ๊ฑด์ ์๋ต์๊ฐ ์๋ฌ๊ฑด์ ๋ฑ์ ๋ํ ์ฑ๋ฅ์งํ๊ฐ ํฌํจ ๋ฉ๋๋ค.
Transaction Counter
ํธ๋์ญ์ ์ ์ํํ๋ฉด ์ธก์ ํ๋ ์นด์ดํฐ์ ๋๋ค.
โข ๊ฑด์
โข ์๋ต์๊ฐ
โข ์๋ฌ๊ฑด์
Active Transaction Counter
์งํ์ค์ธ ํธ๋์ญ์ ์ ์๋ฅผ ์นด์ดํ ํฉ๋๋ค.
โข ๊ฑด์
โข Active Status์งํ ์ํ๋ METHOD,SQL,HTTPC,DBC,SOCKET 5๊ฐ์ง ์ํ๋ก ๊ณ ์ ๋์ด์์ต๋๋ค.
1. METHOD - ์ผ๋ฐ ํจ์๋ฅผ ํธ์ถํ๋ ์ํ
2. SQL - db sql์ ์ํ์ค์ธ ์ํ
3. HTTPC - ์ธ๋ถ Http Api(์๋น์ค)๋ฅผ ํธ์ถ์ค์ธ ์ํ
4. DBC - DB์ฐ๊ฒฐ์ ์์ฒญํ ์ํ, ์ผ๋ฐ์ ์ผ๋ก Pool์์ ๊ฐ์ ธ์ด
5. SOCKET - TCP์ธ์ ์ Connecting ์ค์ธ ์ํ
SQL
SQL ์ํ ํํฉ์ ์นด์ดํ ํฉ๋๋ค.
โข ๊ฑด์
โข ์๋ต์๊ฐ
โข ์๋ฌ ๊ฑด์
โข ํจ์น ๊ฑด์
HTTP Call
์ธ๋ถ Http ํธ์ถ์ ๋ํ ํํฉ์ ์นด์ดํ ํฉ๋๋ค.
โข ๊ฑด์
โข ์๋ต์๊ฐ
5.4. ์ฑ๋ฅ ์นด์ดํฐ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 32
![Page 36: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/36.jpg)
โข ์๋ฌ ๊ฑด์
5.4.3. Resource Counter์๋ฒ์์ ํน์ node ํ๋ก์ธ์ค ๋ด๋ถ์ ์์ ์ฌ์ฉ๋์ ์นด์ดํ ํฉ๋๋ค.
CPU(sys,usr,wait,steal,irq, cores)
CPU์ฌ์ฉ๋ % ์ ๋๋ค. ๊ฐ ์ข ๋ฅ๋ณ๋ก ์์ง๋ฉ๋๋ค. ๊ฐ์ํ๊ฒฝ์์๋ง Steal์ด ์๋ฏธ๊ฐ ์์ต๋๋ค. Cput Core ๊ฐฏ์๋ฅผ ๊ฐ์ด ์์งํ๊ณ ์์ต๋๋ค.
Process CPU
์๋ฐ ํ๋ก์ธ์ค๊ฐ ์ฌ์ฉํ๋ CPU %์ ๋๋ค.
Memory
์์คํ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์จ(%) ์ ๋๋ค.
Swap
Swap๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ์จ(%) ์ ๋๋ค.
Disk
Disk๋ Java Process์ Current ๋๋ ํ ๋ฆฌ์ ์ฌ์ฉ์จ(%) ์ ๋๋ค.
Heap(Total, Used, Perm)
Java Heap๋ฉ๋ชจ๋ฆฌ์ Total, Used, Perm๋ ์ ๋๋ค. ๋ฐ์ดํฐ ๋จ์๋ KBytes ์ ๋๋ค.
GC (Count,Time)
5์ด ๋์ ๋ฐ์ํ GC ๊ฑด์์ ์๊ฐ์ ํฉ๊ณ์ ๋๋ค.
ObjectPendingFinalizationCount
GC ํธ์ถ๋๋ ๋์ค์ finalize()์ํํ๊ธฐ ์ํด ๋๊ธฐ์ค์ธ ๊ฐ์ฒด์ซ์๋ก์จ ์ด๊ฐ์ด ์ปค์ง๋ฉด GC time์ด ์ง์ฐ๋ ์ ์์ต๋๋ค.
Thread(start Count,Count, Daemon, Peak Count)
JVM์ด ์คํ๋ ์ดํ๋ถํฐ Start๋ ์ฐ๋ ๋ ์, ํ์ฌ ๋๊ณ ์๋ ์ค๋ ๋์, ๋ฐ๋ชฌ, ์ต๋ ์ฐ๋ ๋ ์๋ฅผ ์์งํฉ๋๋ค. ์ฐ๋ ๋ ํ์ด ํ์ํ์ง์ ๋ํ ํ๋จ๋ฑ์ ํ ์์์ต๋๋ค.
DB Connection Count(active,idle)
Connection Pool์ idle์ active ์นด์ดํธ๋ฅผ ์์งํฉ๋๋ค.
Tomcat Thread Pool(active, queueSize)
ํฐ์ผ์ Executor์ฐ๋ ๋ ํ์ด ์ค์ ๋์์๋ ์ฑ๋ฅ์ ๋ณด๋ฅผ ์์งํฉ๋๋ค.
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="50" minSpareThreads="2" maxQueueSize="78"/>
DB Connection Pool ์นด์ดํฐ์ ๋ํ ์ดํด
DB Connection Pool์ DataSource๋ผ๊ณ ํฉ๋๋ค. WAS๊ฐ ์ ๊ณตํ๋ ๊ฒฝ์ฐ๊ฐ ์ผ๋ฐ์ ์ด์ง๋ง ์ผ๋ถ์์๋ ์คํ์์ค Pool์ ์ฌ์ฉํ๊ธฐ๋ํฉ๋๋ค ๋ํ์ฌ์ฉ๋ ์ ๋ณด๊ฐ JMX๋ก ๋ ธ์ถ๋๊ธฐ๋ ํ์ง๋ง ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ๋ ๋ง์์ ์ํญ์ 2๊ฐ์ง ๋ฐฉ์์ ์ ๊ณตํ๊ณ ์์ต๋๋ค.
ํ๋์ BCI์ ์ํ ์ง์ ์กฐํ๋ฐฉ์๊ณผ JMX๋ฅผ ์ด์ฉํ ๋ฐฉ์์ ๋๋ค. ๊ธฐ๋ณธ์ BCI๋ฐฉ์์ ์ฌ์ฉํ๊ณ ๋ณด์กฐ ์ ์ผ๋ก JMX๋ฅผ ์ฌ์ฉํ ์์๋๋ก ์ ๊ณตํ๊ณ ์์ต๋๋ค.
5.4. ์ฑ๋ฅ ์นด์ดํฐ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 33
![Page 37: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/37.jpg)
์๋๋ ๊ฐ๋ณ ์ต์ ๋ณ ๋ํดํธ ๊ฐ๊ณผ ์ฐ๊ด๋์ด ByteCode Injection๋๋ ํด๋์ค์ ๋๋ค.
hikari_pool_enabled=false
com.zaxxer.hikari.pool.HikariPool
dbcp_pool_enabled=true
org.apache.commons.dbcp.BasicDataSourceorg.apache.commons.dbcp2.BasicDataSourceorg.apache.tomcat.dbcp.dbcp.BasicDataSourceorg.apache.tomcat.dbcp.dbcp2.BasicDataSource
tomcat_pool_enabled=true
org.apache.tomcat.jdbc.pool.ConnectionPool
weblogic_pool_enabled=true
weblogic.jdbc.common.internal.ConnectionPool
jeus_pool_enabled=true
jeus.jdbc.connectionpool.ConnectionPoolImpl
jboss_pool_enabled=true
org.jboss.jca.core.connectionmanager.pool.PoolStatisticsImpl
์ต์ ์ ๋ณ๊ฒฝํ๋ค๋ฉด BCI๊ด๋ จ ์ต์ ์ด๊ธฐ ๋๋ฌธ์ ์ฌ๊ธฐ๋ํด์ผํฉ๋๋ค. ํด๋์ค๊ฐ instrument๋ ํ์๋ ์ถ์ ํ ์ด๋ธ์ ๋ฑ๋ก๋๋ ๊ณผ์ ์ดํ์ํฉ๋๋ค. ๋ฐ๋ผ์ ์คํ์ค์ redefine์ ํด๋ ๋์ํ์ง ์์ต๋๋ค.
๊ด๋ จ ์ต์ ์๋ ๊ฒฐ์
dbcp_pool_enabled==true ์ด๋ฉด tomcat_ds_enabled=falseweblogic_pool_enabled== true ์ด๋ฉด weblogic_ds_enabled=false
DataSource ์ ํํฉ์ JMX๋ก ๊ฐ์ ธ์ค๋ ค๋ฉด ๋จผ์ "์ต์ ์๋ ๊ฒฐ์ " ๋ด์ฉ์ ํ์ธํ๊ณ ๊ด๋ จ๋ pool์ชฝ ์ต์ ์ false๋ก ์ ์ธํ๊ณ DataSource๊ด๋ จ ์ต์ ์true๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค. .DataSource๊ด๋ จ ์ต์
tomcat_ds_enabled=falseweblogic_ds_enabled=false
๊ธฐ๋ณธ๊ฐ์ false์ ๋๋ค.
ThreadPool ์นด์ดํฐ
ThreadPool ์นด์ดํฐ๋ JMX Mbean ์ ๋ณด๋ฅผ ํตํด ์์ง๋ฉ๋๋ค.Tomcat ๊ณผ ๊ฐ์ด ์ฌ์ฉ ์ฌ๋ก๊ฐ ๋ง์ ๊ฒฝ์ฐ๋ผ๋ฉด ๋ฌธ์ ์์ง๋ง ํน์ ํ๊ฒฝ ์์๋ ์ด ์งํ๊ฐ ์์ง๋์ง ์์ ์ ์์ผ๋ฉฐ ์์ง์ ์ํด์๋ ์ถ๊ฐ ์ค์ ์ ํ์๋กํฉ๋๋ค.
๊ด๋ จ ์ค์ ์ ๋ค์๊ณผ ๊ฐ์ผ๋ฉฐ ์งํ์ด ์ด๋ ค์ด ๊ฒฝ์ฐ [email protected] ๋ก ๋ฌธ์ ์ฃผ์ค ์ ์์ต๋๋ค.
whatap.conf
jmx_threadpool_objectname=Catalina:type=ThreadPool,name="http-bio-8080" โ jmx_threadpool_atter_activecount=connectionCount โกjmx_threadpool_atter_queuesize=maxThreads โข
5.4. ์ฑ๋ฅ ์นด์ดํฐ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 34
![Page 38: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/38.jpg)
โ jmx_threadpool_objectname : JMX ThreadPool MBean ์ด๋ฆ์ ์ค์ ํฉ๋๋ค.
โก jmx_threadpool_atter_activecount : activecount ์์น๋ฅผ ๋ํ๋ด๋ attribute ๋ฅผ ์ค์ ํฉ๋๋ค.
โข jmx_threadpool_atter_queuesize : maxThreads ์์น๋ฅผ ๋ํ๋ด๋ attribute ๋ฅผ ์ค์ ํฉ๋๋ค.
JMX ThreadPool ObjectName ๋ฐ AttributeName ๊ณผ ๊ฐ์ Mbean ๋ช ์ JMX ๋ชจ๋ํฐ๋ง ๋๊ตฌ๋ฅผ ํตํด ํ์ธํ๊ฑฐ๋ ๊ฐ WAS ๋ณ Mbean ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํฉ๋๋ค.
Jconsole ์ฌ์ฉ์
Figure 15. ObjectName : Catalina:type=ThreadPool,name="http-bio-8080"
5.4. ์ฑ๋ฅ ์นด์ดํฐ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 35
![Page 39: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/39.jpg)
Figure 16. ActiveName : connectionCount, QueueName : maxThreads
๊ด๋ จ ๋ฌธ์ ์ฐธ๊ณ ์
์ฌ์ฉ ์ค์ธ WAS, ํ๋ ์์ํฌ ๊ด๋ จ ๋ฌธ์๋ฅผ ์ฐธ๊ณ ํด Mbean ์ ๋ณด๋ฅผ ํ์ธ ํ ์๋ ์์ต๋๋ค.
โข ์) Websphere Liberty
๊ฒฐ๊ณผ ํ์ธ
์ค์ ์ด ์ ์์ ์ผ๋ก ๋์๋ค๋ฉด ์นด์ดํฐ์์ ๋ฐ์ดํฐ๋ฅผ ์กฐํ ํ ์ ์์ต๋๋ค.
Figure 17. ์ ์ ์ํ
5.4. ์ฑ๋ฅ ์นด์ดํฐ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 36
![Page 40: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/40.jpg)
Chapter 6. ์์ด์ ํธ ์ ์ด์ ์ํ ์กฐํ๊ฐ Java ํ๋ก์ธ์ค ๋ณ๋ก ์์ด์ ํธ ๋์์ ์ ์ดํ๊ฑฐ๋ ์ํ๋ฅผ ์กฐํํ ์ ์์ต๋๋ค.
6.1. ๋ถํธ ํ๊ฒฝ์์ด์ ํธ๊ฐ ์์ํ๋ฉด ์ฃผ์ํ๊ฒฝ ์ ๋ณด๋ฅผ ๋ชจ์ ์๋ฒ๋ก ์ ์กํฉ๋๋ค. ์ด์ ๋ณด๋ ๊ธฐ๋์์ ์์ด์ ํธ ํ๊ฒฝ ์ํ๋ฅผ ํ์ธํ ๋ ์ฌ์ฉ๋ ์์์ต๋๋ค. Yard์๋ฒ์ ์ ์ฅํด ๋๊ธฐ ๋๋ฌธ์ ์์ด์ ํธ๊ฐ ์ข ๋ฃ๋์ด๋ ์กฐํํ ์์์ต๋๋ค.
์ํญ ๋ฒ์ , OS์ ๋ณด, java๋ฒ์ , uptime๋ฑ๋ฑ์ ์ ๋ณด๋ค์ ์กฐํํ ์ ์์ต๋๋ค.
6.2. ํ๊ฒฝ ๋ณ์์์ด์ ํธ์์๋ ํ์ฌ์ ํ๊ฒฝ ๋ณ์๋ฅผ ์กฐํํ ์์์ต๋๋ค. ํ๋ฉด์์ ์์ฒญ์ ๋ฐ์์๋ ์กฐํ๋ฉ๋๋ค. ๋ฐ๋ผ์ ํ๋ก์ธ์ค๊ฐ ์ ์ง๋ ์ํ์์๋ ์กฐํํ ์์์ต๋๋ค.
6.3. ์ปดํฌ๋ํธ ๋ฒ์ ํ์ฌ ๋ก๋ฉ๋์ด ์ฌ์ฉ๋๊ณ ์๋ jar ํ์ผ๊ณผ ๊ทธ ๋ฒ์ ์ ์กฐํํ ์์์ต๋๋ค.
6.4. ์ฐ๋ ๋ ๋ชฉ๋ก/๋คํJVM๋ด์์ ์คํ๋๊ณ ์๋ ์ฐ๋ ๋ ๋ชฉ๋ก๊ณผ ๊ฐ๋ณ์ฐ๋ ๋์ ์์ธ ์คํ์ ํ์ธ ํ ์์์ต๋๋ค. ๋ํ ์ ์ฒด ์ฐ๋ ๋๋ฅผ ๋คํํ ์๋ ์์ต๋๋ค.
6.5. ํ ํ์คํ ๊ทธ๋จJVM๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ ์๋ ๊ฐ์ฒด ๋ชฉ๋ก๋ค์ ์กฐํํฉ๋๋ค.
JDK5์ดํ ๋ฒ์ ์์๋ ๋์ํ์ง ์์ต๋๋ค.
6.6. ๋ก๋๋ ํด๋์ค๋ฉ๋ชจ๋ฆฌ์ ๋ก๋ฉ๋ ํด๋์ค ๋ชฉ๋ก์ ์กฐํํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํน์ ํด๋์ค์ signuture๋ฅผ ํ์ธ ํ ์์๊ณ redefine์ ์์ฒญํ ์์์ต๋๋ค.
Class Redefine์ BCI๋ฅผ ์ํด ์ฌ์ฉ๋๋ ๊ธฐ์ ์ ๋๋ค. ์ด๋ฏธ ๋ก๋ฉ๋ ํด๋์ค๋ฅผ ์ฌ์ ์ ํ์ฌ ๋ชจ๋ํฐ๋ง ์ฝ๋๋ฅผ ์ฝ์ ํฉ๋๋ค.
6.7. ์คํ ์์ผ์ํญ์ Socket์ด ์ด๋ฆด๋๋ง๋ค ํ๊ฒ ์ฃผ์๋ฅผ ๋ชฉ๋ก์ ๋ฉ๋ชจ๋ฆฌ์ ๊ธฐ๋กํด๋ก๋๋ค. ๊ทธ์ ๋ณด๋ฅผ ์กฐํํฉ๋๋ค.
6.8. ๋ฉ์๋ ์ฑ๋ฅ ์ํ๋ฉ์๋ ํธ์ถ ๋น๋๋ฅผ ์ถ์ ํ๊ณ ์ถ์๋ ์ฌ์ฉํ ์์์ต๋๋ค. ์๋ ์ต์ ์ ์ง์ ๋ ํด๋์ค๋ฉ์๋๋ค์ ํธ์ถ์ ์ถ์ ํฉ๋๋ค.
6.1. ๋ถํธ ํ๊ฒฝ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 37
![Page 41: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/41.jpg)
hook_method_stat_supershook_method_stat_interfaceshook_method_stat_patterns
6.9. DB ์ํConnection Pool์ ์ํ๋ฅผ ์กฐํํฉ๋๋ค. "DB Connection Pool ์นด์ดํฐ"์ณ ํฐ์์ ์ค๋ช ํ Connection Pool(DataSource)์ ์ํ๋ฅผ ํ์ธํฉ๋๋ค.
6.10. ์ค์ ์์ด์ ํธ ์คํ์ต์ ์ ์ค์ ํ ์์์ต๋๋ค. whatap.conf์ ๊ฐ์ ์ด์์ค์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. Configure ์ณ ํฐ์์ ์๊ฐํ๊ณ ์๋ ๋๋ถ๋ถ์ ์ต์ ์whatap.conf์ ์ ์ฉํ ์์์ต๋๋ค
์ผ๋ฐ์ ์ผ๋ก ์ค์ ์ ๋ฐํ์์ ๋ฐ๋ก reload๋ฉ๋๋ค. ๋ค๋ง ํด๋น ์ค์ ์ ๋ฉ์ปค๋์ฆ์ JVM์ด ๊ธฐ๋๋ ๋ ์ ์ฉ๋๋ ์ต์ ๋ค์ ์ฌ๊ธฐ๋ํด์ผํ ์ ์์ต๋๋ค.
6.11. ์ฐ๋กํ๋ง๋ถํ๋์ ์ ์ดํ ์ ์์ต๋๋ค ์ฐ๋กํ๋ง์ ๋ํดํธ ์ํ์์๋ OFF(false)๋์ด์์ต๋๋ค. whatap.conf์ ๊ด๋ จ ์ต์ ์ ์ค์ ํจ์ผ๋ก ์ฐ๋กํ๋ง ๊ธฐ๋ฅ์์ฌ์ฉํ ์์์ต๋๋ค.
throttle_enabled=false
์ฐ๋กํ๋ง์๋ ํฌ๊ฒ ๋ด์์ ์ ํ ๋๊ฐ์ง ๊ฐ๋ ์ผ๋ก ๋์ด์์ต๋๋ค.
6.11.1. ๋ถ์ ํ ์์ฒญ [๋ด์]๋ฑ๋ก๋ URLํน์ IP์ ๋ํด์ ๋ชจ๋ ๋ฆฌํ์คํธ๋ฅผ ๋ด์ํฉ๋๋ค.
throttle_blocking_url=throttle_blocking_ip=
HTTP์์ฒญ์ด ๋ด์๋๋ฉด ์๋ ์ต์ ์ ๋ฐ๋ผ ์ฌ์ฉ์ ๋ฉ์ธ์ง๊ฐ ์ ๋ฌ๋ฉ๋๋ค. ๋ง์ฝ forward url์ด ์ค์ ๋์ด์์ผ๋ฉด ๊ทธํ์ด์ง๋ก ์ฌ์ฉ์ ์๋ต์ด๋๊ฐ๊ณ ์๋๋ฉดmessage๊ฐ ๋ธ๋ผ์ฐ์ ์ ๋ฆฌํด๋ฉ๋๋ค.
throttle_blocked_forward=throttle_blocked_message=request blocked!!
6.11.2. ๊ณผ๋ํ ์์ฒญ [์ ํ]1) ๋ถํ๋์ ์ ํ ํ๋ ๊ฒ์ ๋๋ค. ๋์์ ์ฒ๋ฆฌ์ค์ธ ํธ๋์ญ์ ์ด ๊ธฐ์ค์ ๋๋ค.
throttle_limit=10000
2) ์ ํ ๋ฐฉ๋ฒ์ ๋์ค ํ๋๋ฅผ ์ ํํด์ผ ํฉ๋๋ค.
์ ํ ๋ฐฉ๋ฒ-1
6.9. DB ์ํ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 38
![Page 42: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/42.jpg)
๋ฑ๋ก๋ URL์ ๋ํด์๋ง ์ ํํ๋ค. ๋๋ฉฐ์งํ์ด์ง๋ ์ ์ฒด ์งํ์ค์ธ ํธ๋์ญ์ ์๊ฐ limit๋ฅผ ๋์์์ง๋ผ๋ ์ ํํ์ง ์์ต๋๋ค.
throttle_target_urls=
์ ํ ๋ฐฉ๋ฒ-2
๋ชจ๋ ์ ํํ๊ณ ๋ฑ๋ก๋ ํ์ด์ง๋ ํต๊ณผ์ํจ๋ค.
throttle_passing_url=throttle_passing_url_prefix=
3) HTTP์์ฒญ์ด ๊ฑฐ์ ๋๋ฉด ์๋ ์ต์ ์ ๋ฐ๋ผ ์ฌ์ฉ์ ๋ฉ์ธ์ง๊ฐ ์ ๋ฌ๋ฉ๋๋ค. ๋ง์ฝ forward url์ด ์ค์ ๋์ด์์ผ๋ฉด ๊ทธํ์ด์ง๋ก ์ฌ์ฉ์ ์๋ต์ด๋๊ฐ๊ณ ์๋๋ฉด message๊ฐ ๋ธ๋ผ์ฐ์ ์ ๋ฆฌํด๋ฉ๋๋ค.
throttle_rejected_forward=throttle_rejected_message=too many request!!
4) Reject๊ฐ ๋ฐ์ํ ๋ ์ด๋ฒคํธ๋ฅผ ๋ฐ๋ นํฉ๋๋ค.
reject_event_enabled=false
6.12. ์์คํ GC/ํ๋คํ๊ฐ์ GC๋ฅผ ํธ์ถํ ์์์ต๋๋ค.ํ๋คํ๋ฅผ ์ํํ ์์์ต๋๋ค.
ํ ๋คํ ํ๋ณด๋ฅผ ์ํด์๋ 1.5.2๋ฒ์ ์ด์์ ์์ด์ ํธ๋ฅผ ์ฌ์ฉํ๊ณ ,JDK6์ด์์ด๊ณ heapdump_enabled์ต์ ์ true๋ก ์ค์ ํด์ผํฉ๋๋ค.
6.13. ์์ด์ ํธ ๋ก๊ทธํ์ฌ ์์ด์ ํธ HOME์์ ./logs/์ ๋ก๊ทธ๋ฅผ ๊ธฐ๋ก ํฉ๋๋ค.
## OPEN LOG FILE agent 20181106 00:00:00.610 ##WhaTap Version 1.5.4 20180928 pid=47448
20181106 00:55:33 <47448>[A113] read java.net.SocketException
## OPEN LOG FILE agent 20181106 00:00:03.126 ##WhaTap Version 1.5.4 20180928 pid=47333
20181106 00:55:33 <47333>[A113] read java.io.EOFException
๋ก๊ทธ ํฌ๋ฉง์
[์๊ฐ] [PID] [๋ก๊ทธ ๋ด์ฉ]
PID๊ฐ ๋ฐ๋๋ค๋ฉด ์์ด์ ํธ๊ฐ ์ฌ๊ธฐ๋ ๋์์์ ์๋ฏธํฉ๋๋ค. ํน์ ๋์ผ ๋ก๊ทธ์ ๋๊ฐ์ ํ๋ก์ธ์ค(JVM)๊ฐ ๋ก๊ทธ๋ฅผ ๋จ๊ธฐ๊ณ ์์ต๋๋ค.
6.12. ์์คํ GC/ํ๋คํ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 39
![Page 43: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/43.jpg)
6.14. ์์ด์ ํธ ๋คํํ์ฌ ์งํ์ค์ธ ํธ๋์ญ์ ๊ณผ ์ฐ๋ ๋์ ์คํ์ ๋คํํฉ๋๋ค. JDK์ ์ฐ๋ ๋ ๋คํ๋ ์ฐ๋ ๋ ์์ฒด๋ง์ ๋คํํ์ง๋ง ์์ด์ ํธ ๋คํ๋ ์ฐ๋ ๋์ ์งํ์ค์ธํธ๋์ญ์ ์ ๋งตํํ์ฌ ๋คํํจ์ผ๋ก ๋ฌธ์ ์ ๋ํ ๋ค๋ฅธ ์ธ์ฌ์ดํธ๋ฅผ ์ป์ ์์์ต๋๋ค.
12 :::thread::: 1404674 Thread-1404607 TIMED_WAITING ,blked #0,waited #17: 4cpu :::tx::: 5274572099194896286/account/write/employee/daejun 1777ms 2cpu: sql #2 588ms: httpc #2 588ms
java.lang.Thread.sleep(Native Method) whatap.util.ThreadUtil.sleep(ThreadUtil.java:37) jdbc.Control.exec(Control.java:23) jdbc.FakePreparedStatement.executeQuery(FakePreparedStatement.java:67) com.virtual.dao.SelectDAO.execute2(SelectDAO.java:29) com.virtual.web.Simula.execute(Simula.java:151) com.virtual.web.Simula$1.process(Simula.java:80) com.virtual.web.VExec.doFilter(VExec.java:14) org.apache.catalina.filters.FilterBase.doFilter(FilterBase.java:26) com.virtual.web.Simula.run(Simula.java:104)
6.14.1. ์ฐ๋ ๋ & ํธ๋์ญ์ ๋คํ์ง์ ํ ์๊ณ์ํฉ์ด ๋๋ฉด ์ฐ๋ ๋์ ์งํ์ค์ด ํธ๋์ญ์ URL์ ๋คํํฉ๋๋ค.
โข ์กํฐ๋ธํธ๋์ญ์ ์๊ฐ ๊ธ์ฆํ๊ฑฐ๋ CPU์ฌ์ฉ๋์ด ๊ธ์ฆํ์๋ ๊ธฐ๋ก์ ๋จ๊ธฐ๊ธฐ ์ํ ๊ธฐ๋ฅ์ ๋๋ค.
โข thread_dump_actx(300)์ด์์ ์กํฐ๋ธ ํธ๋์ญ์ ๊ฐฏ์๊ฐ ์์ด๊ฑฐ๋ thread_dump_cpu(-1:disabled)์ด์์ CPU์ฌ์ฉ์ด ๋ฐ์ํ ๋ JVM๋ด์๋ชจ๋ ์ฐ๋ ๋์ ๊ทธ ์คํ์ ๋คํํฉ๋๋ค. ๊ฐ ์ฐ๋ ๋๊ฐ ์ํํ๋ URL์ ๋ณด๋ ๊ฐ์ด ๋คํํฉ๋๋ค. (๊ฐ์ด -1์ผ๋๋ ๋์ํ์ง ์์ต๋๋ค.)
โข ํ๋ฒ ๋คํ๊ฐ ๋ฐ์ํ๋ฉด thread_dimp_interval ์ด์ ์๊ฐ์ด ๊ฒฝ๊ณผ๋์ด์ผ ๋ค์ ๋์ ํฉ๋๋ค.
6.14.2. ์ฐ๋ ๋ CPU ๋คํ๋์์ค์ธ ์ฐ๋ ๋์ค์์ CPU๋ฅผ ๋ง์ด ์ฌ์ฉํ๊ณ ์๋ ์ฐ๋ ๋๋ฅผ ์ฐพ๊ณ ์ ํ ๋ ์ฌ์ฉํฉ๋๋ค. ํ๋ก์ธ์ค์ CPU๊ฐ ๋์๋ CPU๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ ๋ก์ง์์ฐพ์์ผ ํ๋๋ฐ ๋ฐฐ์น์ก์ด๋ ์ฐ๋ ๋์ ์ํ์๊ฐ์ด ์งง์ผ๋ฉด ์ฐพ๊ธฐ ์ด๋ ค์ด ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ด๋ ์ฐ๋ ๋ CPU๋คํ๋ฅผ ํ์ฉํ ์ ์์ต๋๋ค.
6.14. ์์ด์ ํธ ๋คํ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 40
![Page 44: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/44.jpg)
6.14. ์์ด์ ํธ ๋คํ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 41
![Page 45: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/45.jpg)
Chapter 7. ์ค์
7.1. ์ค์ ๊ด๋ฆฌ
7.1.1. ์ค์ ํ์ผWhatap Java Agent ์ ์ค์ ์ ์ฝ์ด๋๋ฆฌ๋ ๊ธฐ๋ณธ๊ฐ์ ${WHATAP_HOME}/whatap.conf ์ ๋๋ค.๊ฒฝ์ฐ์ ๋ฐ๋ผ ํ ์๋ฒ์์ ์ฌ๋ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ตฌ๋ ๋๊ณ , ์ด๋ค์ ๋ํ ์ค์ ์ ๋ณ๋๋ก ๊ด๋ฆฌํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ ๊ธฐ๋ ์คํฌ๋ฆฝํธ์ JVM ์ต์ ์ ์ถ๊ฐํ์ฌ์ง์ ํ ์ ์์ต๋๋ค.
์ค์ ํ์ผ์ ๋ฐ๋์ ${WHATAP_HOME}์ ์์นํด์ผ ํฉ๋๋ค.
์ง์ ํ ์ค์ ํ์ผ์ ์ฌ์ฉ
# A ์๋น์ค-Dwhatap.config=whatap_Aservice.conf
# B ์๋น์ค-Dwhatap.config=whatap_Bservice.conf
7.1.2. ์ค์ ์ถ๊ฐ/๋ณ๊ฒฝ์ค์ ์ ์ถ๊ฐ / ๋ณ๊ฒฝ์ ์๋ฒ ๋ฉ๋ด์ ์ค์ ํญ์์ ์ฌ์ฉ ๊ฐ๋ฅ ํฉ๋๋ค.
Figure 18. ์๋ฒ ๋ฉ๋ด
๋๋, ์ค์ ํ์ผ์ ๋์ ์๋ฒ์์ ์ง์ ํธ์งํด ์ฌ์ฉ ํ ์ ์์ต๋๋ค.
ํธ์ง
$ vi /whatap/whatap.conf
์ํฉ์ ๋ฐ๋ผ ๊ธฐ๋ ์คํฌ๋ฆฝํธ์ JVM -D ์ต์ ์ ํตํด ์ ์ฉ ํ ์๋ ์์ต๋๋ค.
JVM ์ต์
export WHATAP_OPTS="$WHATAP_OPTS -Dwhatap.name={type}-{ip4}-{port}"export WHATAP_OPTS="$WHATAP_OPTS -Dwhatap.okind=Aservice"export JAVA_OPTS="$JAVA_OPTS $WHATAP_OPTS"
7.2. ์์ด์ ํธ ๋ค์ด๋ฐwhatap.name
Default : {type}-{ip2}-{ip3}-{port}Type : String์์ด์ ํธ ์ด๋ฆ์ ํจํด์ผ๋ก ์ ์ ํฉ๋๋ค.
7.1. ์ค์ ๊ด๋ฆฌ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 42
![Page 46: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/46.jpg)
whatap.oname
Default : NONEType : String์์ด์ ํธ ์ด๋ฆ์ ๋ฌธ์์ด๋ก ์ ์ ํฉ๋๋ค.
whatap.okind
Default : NONEType : String์์ด์ ํธ๊ฐ ์ํ ๊ทธ๋ฃน ๋จ์๋ฅผ ์ ์ ํฉ๋๋ค.
whatap.onode
Default : NONEType : String์์ด์ ํธ๊ฐ ์ํ ๋ ธ๋ ๋จ์๋ฅผ ์ ์ ํฉ๋๋ค.
auto_oname_enabled
Default : falseType : Boolean์๋ฒ์ ๋ฑ๋ก๋ ์์ด์ ํธ ์ด๋ฆ(oname)์ ์๋ฒ๋ก๋ถํฐ ์๋ ๋ถ์ฌ ๋ฐ๋ ๊ธฐ๋ฅ์ ํ์ฑํ ํฉ๋๋ค. ์ ์ฉ ์, -Dwhatap.name, -Dwhatap.oname ์ต์ ์๋ฌด์๋ฉ๋๋ค. ์์ง ์๋ฒ์์ ํต์ ์ ํตํด oname ์ ๋ถ์ฌ ๋ฐ์ ์ดํ, ์์ด์ ํธ์ ์ผ๋ฐ์ ์ธ ๋์์ ๊ฐ์ํฉ๋๋ค.
auto_oname_prefix
Default : agentType : String์์ด์ ํธ ์ด๋ฆ์ ์๋ฒ๋ก๋ถํฐ ์๋ ๋ถ์ฌํ ๋ ์์ด์ ํธ ์ด๋ฆ์ prefix, ๋ณดํต ์ ๋ฌด ๋ช ์ ์ฌ์ฉํฉ๋๋ค. prefix ์ผ๋ จ๋ฒํธ 1~) ๋ถ์ฌ๋ฉ๋๋ค.
auto_oname_reset
Default : 0Type : Int์๋ฒ๋ก ๋ถํฐ ์๋ก์ด ์์ด์ ํธ ์ด๋ฆ์ ๋ถ์ฌ๋ฐ๊ธฐ ์ํด์ ์์ ํฉ๋๋ค. ์์ด์ ํธ ์ด๋ฆ์ ์๋ ๋ถ์ฌํ๋ฉด what.oname ์ด๋ผ๋ ์์คํ ํ๊ฒฝ ๋ณ์์์ ํธ๋ฉ๋๋ค. ํ๋ฒ ์ ํธ๋๋ฉด ์๋ฐ ์ธ์คํด์ค๊ฐ ์ฌ๊ธฐ๋ ๋ ๋๊น์ง ์ ์ง ๋๋๋ฐ ๋ฆฌ์ ์ ์ํ ๋ auto_oname_reset ๊ฐ์ ์์ ํฉ๋๋ค.(ํ์ฌ ์ค์ ๊ฐ๊ณผ๋ค๋ฅธ ๊ฐ์ผ๋ก ๋ณ๊ฒฝํ๋ฉด ์ ์ฉ๋ฉ๋๋ค.)
7.3. ์์ด์ ํธ ๊ธฐ๋ฅ์ ์ดshutdown
Default : falseType : Booleantrue ์ธ ๊ฒฝ์ฐ ์์ด์ ํธ์ ๋ชจ๋ ๋์์ ์ค์งํ๊ณ ์๋ฒ์์ ์ฐ๊ฒฐ์ ์ข ๋ฃํฉ๋๋ค.
enabled
Default : trueType : Boolean์ ์ฒด ๊ธฐ๋ฅ์ ํ์ฑํ ํฉ๋๋ค. false์ธ ๊ฒฝ์ฐ์๋ ์๋ฒ์ ์ต์ํ์ ํต์ ์ ์ ์งํ๊ธฐ ์ํ ์ ๋ณด๋ ์ ์ก๋ฉ๋๋ค.
transaction_enabled
Default : trueType : Boolean (enabled=false ์ธ ๊ฒฝ์ฐ false)ํธ๋์ญ์ ์ถ์ ๊ธฐ๋ฅ์ ํ์ฑํ ํฉ๋๋ค. Hitmap์ ๊ธฐ๋ก๋๋ ํธ๋์ญ์ ์ ๋ณด๊ฐ ํด๋นํฉ๋๋ค.
counter_enabled
7.3. ์์ด์ ํธ ๊ธฐ๋ฅ์ ์ด
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 43
![Page 47: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/47.jpg)
Default : trueType : Boolean (enabled=false ์ธ ๊ฒฝ์ฐ false)์ฑ๋ฅ ์นด์ดํฐ ์ถ์ ๊ธฐ๋ฅ์ ํ์ฑํํฉ๋๋ค. ์กํฐ๋ธํธ๋์ญ์ ์, ์ฌ์ฉ์ ์, JVM ์์ ์ฌ์ฉ๋, Process CPU ์ฌ์ฉ๋ ๋ฐ DB Pool ์ฌ์ฉ๋ ์ ๋ณด๋ฑ์ดํด๋น๋ฉ๋๋ค.
stat_enabled
Default : trueType : Boolean (enabled=false ์ธ ๊ฒฝ์ฐ false)ํต๊ณ์ ๋ณด ์ถ์ ๊ธฐ๋ฅ์ ํ์ฑํํฉ๋๋ค. 5 ๋ถ๋จ์๋ก ์์ง๋๋ ํธ๋์ญ์ , SQL, HTTPCALL, UserAgent, Client IP ๋ฑ์ ํต๊ณ ๋ฐ์ดํฐ๋ฑ์ด ํด๋น๋ฉ๋๋ค.
sigar_enabled
Default : trueType : Boolean (enabled=false ์ธ ๊ฒฝ์ฐ false)sigar library ๋ฅผ ํตํ OS ์ ๋ณด ์์ง์ ํ์ฑํํฉ๋๋ค. 5 ์ด ๋จ์๋ก sigar library๋ฅผ ํตํด ์์ง๋๋ CPU, Memory, Disk๋ฑ์ OS ์์ ๋ฐ์ดํฐ๊ฐํด๋น๋ฉ๋๋ค.
active_stack_enabled
Default : trueType : Boolean (enabled=false ๋๋ counter_enabled=false ์ธ ๊ฒฝ์ฐ false)์กํฐ๋ธ ์คํ ์ถ์ ์ ํ์ฑํํฉ๋๋ค. ์คํ ๋ฉ๋ด์ ํ์คํ, ์ ๋ํฌ์คํ ๊ทธ๋ฆฌ๊ณ ์กํฐ๋ธ์คํ์ด ํด๋น๋ฉ๋๋ค.
license
Default : NONEType : String์์ด์ ํธ ์ค์น์ ์๋ฒ๋ก๋ถํฐ ๋ถ์ฌ๋ฐ์ ๋ผ์ด์ผ์ค๋ฅผ ์ง์ ํฉ๋๋ค. ๋ผ์ด์ผ์ค์๋ ์์ด์ ํธ๊ฐ ์ํ ํ๋ก์ ํธ์ ๋ณด์ ํต์ ์ ์ํ ์ํธํค๋ฅผ ํฌํจํ๊ณ ์์ต๋๋ค.
cypher_level
Default : 128Type : aes_bit [128|256]AES ๋ณด์ ์๊ณ ๋ฆฌ์ฆ์ ๋ํ ์ํธ ๋ ๋ฒจ์ ์ง์ ํฉ๋๋ค.
encrypt_level
Default : 2Type : encrypt_level [1|2|3]์ํญ ์์ด์ ํธ๋ ์๋ฒ๋ก ๋ฐ์ดํฐ ์ ์ก์ ๋ฐ์ดํฐ ์์ฑ์ ๋ฐ๋ผ ์ ํ์ ์ผ๋ก ์ํธํ๋ฅผ ํ๋ฏ๋ก ๋์ ๋ณด์์ ์ ์งํ๋ฉด์๋ ์ฑ๋ฅ์ ์ด์ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค.์ด์ ๋ณ๊ฐ๋ก ๋ฐ์ดํฐ ์ ํ์ ์๊ด์์ด ์ผ๊ด์ ์ธ ์ํธํ ์ ์ฑ ์ ์ ์ฉํ๋ ค๋ ๊ฒฝ์ฐ ๋น ์ต์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
1 - ์ํธํ ์ ์ก ๊ธฐ๋ฅ ์ฌ์ฉ์ํจ2 - SQLํ๋ผ๋ฏธํฐ, Plain Text์ ๊ฐ์ ๋ฏผ๊ฐํ ์์ฑ์ ๋ํ์ฌ ์ํธํ ์ ์ก3 - ๋ชจ๋ ํญ๋ชฉ์ ๋ํ์ฌ ์ํธํ ์ ์ก
stat_ip_enabled
Default : trueType : Boolean"ํต๊ณ | ํด๋ผ์ด์ธํธIP" ํญ๋ชฉ์ IP ํต๊ณ ์ฌ์ฉ ์ฌ๋ถ๋ฅผ ํ์ฑํํฉ๋๋ค.
realtime_user_enabled
Default : trueType : Boolean"๋์๋ณด๋" ์ฌ์ฉ์ ํญ๋ชฉ์์ ์ฌ์ฉ๋๋ ์ค์๊ฐ ์ฌ์ฉ์ ์งํ ์์ง ์ฌ๋ถ๋ฅผ ์ ํํ๋ค.
7.3. ์์ด์ ํธ ๊ธฐ๋ฅ์ ์ด
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 44
![Page 48: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/48.jpg)
hook_direct_patch_classes
Default : NONEType : ClassFile_FullPath์ง์ ์ ์ผ๋ก ํน์ ํด๋์ค๋ฅผ ๋ก๋ฉํ์์ ๋ฐ๊ฟ์น๊ธฐ ํ๊ณ ์ ํ ๋ ์ฌ์ฉํฉ๋๋ค. ํด๋์ค๋ฅผ ์ปดํ์ผํ ํ์ ๋ณ๋ ํ์ผ๋ก ๋ง๋ค๊ณ ๊ทธ ํ์ผ์ ํํจ์ค๋ฅผ์ง์ ํฉ๋๋ค.
active_stack_second
Default : 10Type : Seconds์กํฐ๋ธ ์คํ์ ์ถ์ ํ๋ ๊ฐ๊ฒฉ์ ์ง์ ํฉ๋๋ค.
๊ฐ์ ๋ฐ๊พธ๋ ๊ฒ์ ๊ถ์ฅํ์ง ์์ต๋๋ค.
boot_redefine_size
Default : 100Type : IntAttach ๋ฐฉ์์ด๋ Watcher ๋ฐฉ์์ผ๋ก ์ค์นํ์ ๋ ์ด๋ฏธ ๋ก๋ฉ๋ ํด๋์ค ์ค์ ์ถ์ ์ ์ํด BCI ๋ฅผ ์๋ก ์ํํ๊ฒ ๋ฉ๋๋ค. ์ด๋ ๋์ redefine ํ๋ํด๋์ค ์๋ฅผ ์ ์ํฉ๋๋ค.
trace_component_enabled
Default : trueType : Boolean์๋ฒ | ๋๋ณด๊ธฐ | ์ปดํฌ๋ํธ ๋ฒ์ ๊ธฐ๋ฅ์ ํ์ฑํ ํฉ๋๋ค.
realtime_user_thinktime_max
Default : 300000Type : MiliSeconds์ค์๊ฐ ์ฌ์ฉ์ ์ธก์ ์ ๋์ผ ์ฌ์ฉ์๋ก ์ธ์ ๋๋ ์ต๋ ํธ์ถ๊ฐ๊ฒฉ์ ์ง์ ํฉ๋๋ค.
time_sync_interval_ms
Default : 300000Type : MiliSeconds์์ด์ ํธ์ ์๋ฒ๊ฐ ์๊ฐ ๋๊ธฐํ ์ฃผ๊ธฐ๋ฅผ ์ง์ ํฉ๋๋ค. ๋๊ธฐํ ํ์ง ์์ ๊ฒฝ์ฐ 0์ผ๋ก ์ง์ ํฉ๋๋ค.
detect_deadlock_enabled
Default : falseType : BooleanJava ์ฐ๋ ๋์ DeadLock ์ฌ๋ถ๋ฅผ ์ฒดํฌํ์ฌ ๊ฐ์ง์ ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํต๋๋ค. ๋ฐ์ ์ฃผ๊ธฐ๋ 5์ด ๋จ์์ด๋ฉฐ ๊ฐ์ DeadLock ๊ฑด์ ๋ํ ์ด๋ฒคํธ๋ ํ์๊ฐ์ํ๋ฒ๋ง ๋ฐ์์ํต๋๋ค.
text_reset
Default : 0Type : Int์ํญ ์์ด์ ํธ๋ ํ๋ฒ ๋ณด๋ธ ํ ์คํธ์ ํ ๋ฐ์ดํฐ๋ hash ์ฒ๋ฆฌ๋๋ฏ๋ก ๋ค์๋ ๊น์ง ์ฌ์ ์กํ์ง ์์ต๋๋ค. ์ด์ ์ค์ ๊ฐ๊ณผ ๋ค๋ฅธ ๊ฐ์ ์ค์ ํ๋ ๊ฒฝ์ฐ ์ฌ์ ์กํฉ๋๋ค.
ํธ๋์ญ์ URL, SQL String ๋ฑ์ด ํ ์คํธ์ ํ ๋ฐ์ดํฐ์ ํด๋นํฉ๋๋ค.
7.4. ์์ด์ ํธ ํต์
7.4. ์์ด์ ํธ ํต์
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 45
![Page 49: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/49.jpg)
whatap_server_host
Default : 127.0.0.1,127.0.0.1Type : ip_address์์ด์ ํธ๊ฐ ์์งํ ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์๋ฒ๋ฅผ ์ง์ ํฉ๋๋ค. ์์ง์๋ฒ ์ด์คํ๋ก 2๊ฐ ์ด์์ IP๋ฅผ ๊ฐ์ง ๊ฒฝ์ฐ ์ฝค๋ง(,)๋ก ๋ถ๋ฆฌํ์ฌ ์ง์ ํ ์ ์์ต๋๋ค.์ง์ ๋ IP ์๋ ์์ง์๋ฒ proxy ๋ฐ๋ชฌ์ด ๋ฆฌ์ค๋ ์ํ๋ก ์๋น์ค ๋์ด์ผ ํฉ๋๋ค.
whatap_server_port
Default : 6600Type : tcp_port์์ง์๋ฒ PORT ๋ฅผ ์ง์ ํฉ๋๋ค. ํฌํธ๋ ํ๋๋ง ์ง์ ํ ์ ์์ผ๋ฏ๋ก whatap_server_host ์ ์ง์ ๋ ์์ง์๋ฒ๋ค์ ๋์ผ PORT ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
tcp_so_timeout
Default : 60000Type : MiliSecond์์ง์๋ฒ์ ํต์ ํ๋ TCP์ธ์ ์ Socket Timeout ๊ฐ์ ์ง์ ํฉ๋๋ค.
tcp_connection_timeout
Default : 5000Type : MiliSecond์์ง์๋ฒ์ ํต์ ํ๋ TCP์ธ์ ์ Connection Timeout ๊ฐ์ ์ง์ ํฉ๋๋ค.
net_send_max_bytes
Default : 5242880Type : Byte์์ง์๋ฒ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ๋ ํ๋ฒ์ ์ ์ก๋๋ ์ต๋ ํฌ๊ธฐ๋ฅผ ์ง์ ํฉ๋๋ค.
net_send_queue1_size
Default : 256Type : Intํ๋กํ์ผ ์ ๋ณด์ ์กํฐ๋ธ์คํ์ ์ ์ธํ ๋๋จธ์ง ๋ฐ์ดํฐ ์ ์ก์ ์ฌ์ฉ๋ Queue์ ํฌ๊ธฐ๋ฅผ ์ง์ ํฉ๋๋ค. ์ค์ ๋ ํฌ๊ธฐ๊ฐ 10 ์ดํ์ธ ๊ฒฝ์ฐ 10์ผ๋ก์ง์ ๋ฉ๋๋ค.
net_send_queue2_size
Default : 512Type : Intํ๋กํ์ผ ์ ๋ณด์ ์กํฐ๋ธ์คํ ๋ฐ์ดํฐ ์ ์ก์ ์ฌ์ฉ๋ Queue์ ํฌ๊ธฐ๋ฅผ ์ง์ ํฉ๋๋ค. ์ค์ ๋ ํฌ๊ธฐ๊ฐ 10 ์ดํ์ธ ๊ฒฝ์ฐ 10์ผ๋ก ์ง์ ๋ฉ๋๋ค.
7.5. ์์ด์ ํธ ๋ก๊ทธ ๊ด๋ฆฌlog_datasource_lookup_enabled
Default : trueType : BooleanInitialContext Lookup ์ DataSource ์ธ ๊ฒฝ์ฐ ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํ๋ ๊ธฐ๋ฅ์ ํ์ฑํ ํฉ๋๋ค.
log_rotation_enabled
Default : trueType : Boolean์์ด์ ํธ ๋ก๊ทธํ์ผ์ ์ผ์๋ณ๋ก ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ์ ํ์ฑํ ํฉ๋๋ค.
log_keep_days
Default : 7
7.5. ์์ด์ ํธ ๋ก๊ทธ ๊ด๋ฆฌ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 46
![Page 50: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/50.jpg)
Type : Day๋ก๊ทธํ์ผ ๋ณด๊ด๊ธฐ๊ฐ์ ์ง์ ํฉ๋๋ค.
7.6. ํธ๋์ญ์ ํ๋กํ์ผ๋งprofile_step_normal_count
Default: 1000Type : Intํธ๋์ญ์ ํ๋กํ์ผ์ ์ต๋ ์คํ ์๋ฅผ ์ง์ ํฉ๋๋ค.
profile_step_heavy_count
Default: 1020Type : IntHeavyํ ์คํ ์ ๊ฒฝ์ฐ ํ๋กํ์ผ ๊ธฐ๋ณธ ์คํ ์๋ฅผ ์ด๊ณผํ๋๋ผ๋ ์ ํด์ง ๊ฐ ๋งํผ์ ๊ธฐ๋ก ๋ฉ๋๋ค.
profile_step_heavy_time
Default: 100Type : MiliSecondHeavyํ ์คํ ์ ๊ธฐ์ค์ ์ง์ ํฉ๋๋ค. ์ง์ ๋ ๊ฐ๋ณด๋ค ์ํ์๊ฐ์ด ๊ธด ๊ฒฝ์ฐ profile_step_normal_count ๋ฅผ ์ด๊ณผํ๋ ๊ฒฝ์ฐ๋ผ๋profile_step_heavy_count ์ด๋ด์์ ๊ธฐ๋ก๋ฉ๋๋ค.
profile_basetime
Default: 500Type : MiliSecondํธ๋์ญ์ ์ด ์ค์ ๋ ๊ฐ ์ดํ์ ์๊ฐ๋ด์ ์ข ๋ฃ๋ ๊ฒฝ์ฐ ํ๋กํ์ผ ์ ๋ณด๋ฅผ ์์งํ์ง ์์ต๋๋ค. ๋จ, 5 ๋ถ๋จ์๋ก ์ต์ด ํธ์ถ๋ URL, ์๋ฌ๊ฐ ๋ฐ์ํํธ๋์ญ์ ์ ๋ํ ํ๋กํ์ผ ์ ๋ณด๋ ์์ง๋ฉ๋๋ค.
active_stack_count
Default : 100Type : Intํธ๋์ญ์ ๋ด์์ ์์งํ๋ AtiveStack ์ ์ต๋ ์๋ฅผ ์ง์ ํฉ๋๋ค.
profile_method_resource_enabled
Default : falseType : Booleanํ๋กํ์ผ์์ method ์คํ ์ด ์์ง๋ ๋ ํด๋น ์คํ ์์ ์ฌ์ฉํ CPU ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ถ์ ํฉ๋๋ค.
profile_position_method
Default : NONEType : String์ง์ ํ ๋ฉ์๋๊ฐ ์ํ๋๋ ์์ ์ StackTrace๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
profile_position_depth
Default : 50Type : Intposition ์ถ์ ์ ์ํด StackTrace๋ฅผ ๊ธฐ๋ก ํ ๋ ์ต๋ ๋ผ์ธ ์๋ฅผ ์ง์ ํฉ๋๋ค.
trace_error_callstack_depth
Default: 50Type : IntError๋ฐ์์ ์์งํ๋ StackTrace์ ์ต๋ ๋ผ์ธ ์๋ฅผ ์ง์ ํฉ๋๋ค.
7.6. ํธ๋์ญ์ ํ๋กํ์ผ๋ง
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 47
![Page 51: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/51.jpg)
trace_active_callstack_depth
Default: 50Type : Int์กํฐ๋ธ์คํ์์ ์์งํ๋ StackTrace์ ์ต๋ ๋ผ์ธ์๋ฅผ ์ง์ ํฉ๋๋ค
trace_active_transaction_yellow_time
Default: 3000Type : MiliSecond์กํฐ๋ธ ํธ๋์ญ์ ์ ์ํฌ์ดํ๋ผ์ด์ ์์ ๋ ธ๋์์ผ๋ก ํํํ ๊ธฐ์ค์ ์ง์ ํฉ๋๋ค.
trace_active_transaction_red_time
Default: 8000Type : MiliSecond์กํฐ๋ธ ํธ๋์ญ์ ์ ์ํฌ์ดํ๋ผ์ด์ ์์ ๋นจ๊ฐ์์ผ๋ก ํํํ ๊ธฐ์ค์ ์ง์ ํฉ๋๋ค.
hook_method_patterns
Default : NONEType : String์๋ต์๊ฐ์ ์ธก์ ํ ๋ฉ์๋๋ฅผ ์ง์ ํฉ๋๋ค. ๋ง์ง๋ง (.)์ ๊ตฌ๋ถ์๋ก ํด๋์ค FullName๊ณผ ๋ฉ์๋๋ก ๊ตฌ๋ถ๋๋ฉฐ (*)๋ก WildCard๋ฅผ ์ฌ์ฉ ํ ์ ์์ต๋๋ค.๋์์ด ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ ์ฝค๋ง(,)๋ก ๊ตฌ๋ถํฉ๋๋ค
โข Ex : hook_method_patterns=a.b.C1.*
hook_method_supers
Default : NONEType : Stringํน์ ํด๋์ค๋ฅผ ์์๋ฐ์ ๋ฉ์๋์ ์๋ต์๊ฐ์ ์ธก์ ํ๊ณ ์ ํ ๋ Super Class๋ฅผ ์ง์ ํฉ๋๋ค. ํด๋์ค FullName์ ์ง์ ํ๋ฉฐ ๋์์ด ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ์ฝค๋ง(,)๋ก ๊ตฌ๋ถํฉ๋๋ค.
โข Ex : hook_method_supers=a.b.C1
hook_method_interfaces
Default : NONEType : Stringํน์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๋ฉ์๋์ ์๋ต์๊ฐ์ ์ธก์ ํ๊ณ ์ ํ ๋ Interface๋ฅผ ์ง์ ํฉ๋๋ค. ์ธํฐํ์ด์ค FullName์ ์ง์ ํ๋ฉฐ ๋์์ด ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ์ฝค๋ง(,)๋ก ๊ตฌ๋ถํฉ๋๋ค.
hook_method_ignore_classes
Default : NONEType : String๋ฉ์๋ ํ๋กํ์ผ์ ์ค์ ํ ๋ ํ๋กํ์ผ์์ ์ ์ธ ํ๊ณ ์ถ์ ํด๋์ค๋ค์ ์ง์ ํฉ๋๋ค.
hook_method_access_public_enabled
Default : trueType : Boolean๋ฉ์๋ ํ๋กํ์ผ์ ์ค์ ํ ๋ public ๋ฉ์๋์ ๋ํด์๋ง ๋ณ๋๋ก ๋์์ผ๋ก ํ ์ง๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
hook_method_access_private_enabled
Default : falseType : Boolean๋ฉ์๋ ํ๋กํ์ผ์ ์ค์ ํ ๋ private ๋ฉ์๋์ ๋ํด์๋ง ๋ณ๋๋ก ๋์์ผ๋ก ํ ์ง๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
7.6. ํธ๋์ญ์ ํ๋กํ์ผ๋ง
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 48
![Page 52: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/52.jpg)
hook_method_access_protected_enabled
Default : trueType : Boolean๋ฉ์๋ ํ๋กํ์ผ์ ์ค์ ํ ๋ protected ๋ฉ์๋์ ๋ํด์๋ง ๋ณ๋๋ก ๋์์ผ๋กํ ์ง๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
hook_method_access_none_enabled
Default : trueType : Boolean๋ฉ์๋ ํ๋กํ์ผ์ ์ค์ ํ ๋ no access indicated ๋ฉ์๋์ ๋ํด์๋ง ๋ณ๋๋ก ๋์์ผ๋ก ํ ์ง๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
stacklog_socket_port
Default : 0Type : TCP_PortNumber๋ชฉ์ ์ง์ TCPํฌํธ๋ฅผ ์ง์ ํ๋ฉด Socket.connect() ์์ StackTrace๋ฅผ ์์ด์ ํธ ๋ก๊ทธ๋ก ๊ธฐ๋กํฉ๋๋ค. ๊ธฐ๋ณธ์ค์ ์ผ๋ก ํ์ธ๋์ง ์๋ DB ์ฐ๊ฒฐ, HTTPC์ฐ๊ฒฐ๋ฑ์ ์ถ์ ํ ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ค์ ๋ ๋ชฉ์ ์ง๋ก ์ฐ๊ฒฐ์๋ง๋ค ๋งค๋ฒ StackTrace๋ฅผ ๊ธฐ๋กํ๋ฏ๋ก ์ฑ๋ฅ์ ํ๋ฅผ ์ ๋ฐํ ์ ์์ต๋๋ค. ๋๋ฒ๊น ์ฉ๋๋ก ์ ๋ณ๋ ์์ด์ ํธ์ํ์์ ์ผ๋ก๋ง ์ฌ์ฉํด์ผ ํฉ๋๋ค. * Ex : stacklog_socket_port=1521 #DB์ฐ๊ฒฐ ์ํ ์ถ์
biz_exceptions
Default : NONEType : String๋น์ฆ๋์ค Exception์ ๋ฑ๋กํฉ๋๋ค. ์ฌ๊ธฐ์ ๋ฑ๋ก๋๋ฉด ์๋ฌํต๊ณ์์ ์ ์ธ๋ฉ๋๋ค. ํ๋กํ์ผ ์์ธ์์๋ ๋ํ๋ฉ๋๋ค.
ignore_exceptions
Default : NONEType : String๋ฌด์ํ Exception์ ๋ฑ๋กํฉ๋๋ค. ์ฌ๊ธฐ์ ๋ฑ๋ก๋๋ฉด ์๋ฌ ์์ฒด๊ฐ ๋ฌด์๋ฉ๋๋ค.
transaction_status_error_enable
Default : trueType : BooleanHTTP 401, 403๊ณผ ๊ฐ์ด ์ ์ ์๋ต์ด ์๋ HTTP์ํ ์ฝ๋๋ฅผ ๋ฐํํ๋ ๊ฒฝ์ฐ ์๋ฌ๋ก ์ฒ๋ฆฌ ํฉ๋๋ค.
7.7. HTTP ํธ๋์ญ์ ์ถ์ profile_http_header_enabled
Default : falseType : Booleanํ๋กํ์ผ ๋ด์ญ์ http ํค๋ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ๊ณ ์ ํ ๋ ์ฌ์ฉํฉ๋๋ค.
profile_http_header_url_prefix
Default : /Type : Stringํ๋กํ์ผ ๋ด์ญ์ http ํค๋ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ ๋์ URL์ prefix๋ฅผ ์ ์ ํ ๋ ์ฌ์ฉํฉ๋๋ค.
profile_http_parameter_enabled
Default : falseType : Booleanํ๋กํ์ผ ๋ด์ญ์ http ํ๋ผ๋ฏธํฐ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ๊ณ ์ ํ ๋ ์ฌ์ฉํฉ๋๋ค. ํ๋ผ๋ฏธํฐ๋ ๋ณ๋ ๋ณด์ํค๋ฅผ ์ ๋ ฅํด์ผ ์กฐํ ํ ์ ์์ต๋๋ค.
7.7. HTTP ํธ๋์ญ์ ์ถ์
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 49
![Page 53: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/53.jpg)
๋ณด์ ํค๋ WAS์๋ฒ ${WHATAP_AGENT_HOME}/paramkey.txt ํ์ผ๋ด์ 6์๋ฆฌ๋ก ์ง์ ํฉ๋๋ค.paramkey.txt ํ์ผ์ด ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ๋๋ค ๊ฐ์ผ๋ก ์๋ ์์ฑ๋ฉ๋๋ค.
profile_http_parameter_url_prefix
Default : /Type : Stringํ๋กํ์ผ ๋ด์ญ์ http ํ๋ผ๋ฏธํฐ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ ๋์ URL์ prefix๋ฅผ ์ ์ ํ ๋ ์ฌ์ฉํฉ๋๋ค.
trace_transaction_name_header_key
Default : NONEType : Stringํธ๋์ญ์ ์ ์ด๋ฆ ๋๋ถ๋ถ์ ์ง์ ํ http header key์์ ์ถ์ถํ ๊ฐ์ ์ถ๊ฐํฉ๋๋ค.
trace_transaction_name_key
Default : NONEType : Stringํธ๋์ญ์ ์ ์ด๋ฆ ๋๋ถ๋ถ์ ์ง์ ํ http request parameter ์์ ์ถ์ถํ ๊ฐ์ ์ถ๊ฐํฉ๋๋ค.
trace_normalize_enabled
Default : trueType : Booleanํธ๋์ญ์ URL ์ ํ์ฑํ์ฌ ์ ๊ทํํ๋ ๊ธฐ๋ฅ์ ํ์ฑํํฉ๋๋ค.
false ๋ก ๋ณ๊ฒฝ์ ํจ์คํ๋ผ๋ฏธํฐ ํ์ฑ์ด ๋นํ์ฑํ๋ฉ๋๋ค. ์ด ๊ฒฝ์ฐ ํต๊ณ๋ฐ์ดํฐ์ ์๋ฏธ๊ฐ ์ฝํ๋จ์ผ๋ก ๋๋ฒ๊ทธ ์ฉ๋๋ก๋ง ์ ์ ์ฌ์ฉํ๋๊ฒ์ด ์ข์ต๋๋ค.
trace_auto_normalize_enabled
Default : trueType : Booleanํธ๋์ญ์ URL ์ ๊ทํํ ๋ ํจํด๊ฐ์ ์ด๋ ธํ ์ด์ ์์ ์ถ์ถํ์ฌ ์๋์ผ๋ก ํ์ฑํ๋ ๊ธฐ๋ฅ์ ํ์ฑํํฉ๋๋ค.
trace_normalize_urls
Default : NONEType : String์ ๊ทํ ํ ํธ๋์ญ์ URL ํจํด์ ์ ์ ํ๋ค. ํธ์ถ URL ํจํด์ ํ์ฑํ์ฌ ํจ์คํ๋ผ๋ฏธํฐ๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
ex) /a/{v}/b ๋ผ๊ณ ์ ์ธํ๋ฉด a/123/b โ a/{v}/b ๋ก ์นํํ๋ค์ฌ๋ฌ ๊ฐ๋ฅผ ๋ฑ๋กํ ๋๋ ์ฝค๋ง(,)๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์นํํจํด ์ ๋ฆฌ ํ ๋ณด์ํ์
web_static_content_extensions
Default : js, htm, html, gif, png, jpg, css, swf, icoType : String์คํํฑ ์ปจํ ์ธ ์์ ํ๋จํ๋ ํ์ฅ์๋ฅผ ์ง์ ํฉ๋๋ค. ์ฌ๊ธฐ์ ์ค์ ๋ ํ์ฅ์๋ฅผ ๊ฐ์ง ํธ๋์ญ์ ๋ค์ ํ๋กํ์ผ ์ถ์ ๊ณผ ์นด์ดํ ์ด ์ ์ธ๋ฉ๋๋ค.
recursive_max
Default : 1000000Type : Intํธ๋์ญ์ ์ ์ฌ๊ทํธ์ถ ์ฌ๋ถ ๊ฒ์ถ์ ์ํ ์ต์ ์ผ๋ก, ๋จ์ผ ํธ๋์ญ์ ์ผ๋ก ๋ถํฐ ํ์๋๋ ์ฌ๊ทํธ์ถ ํ์๋ฅผ ์นด์ดํธํ์ฌ ์ด๋ฒคํธ ์๋ฆผ์ ๋ฐํํ๊ธฐ ์ํ๊ธฐ์ค์ ์ง์ ํฉ๋๋ค.
7.7. HTTP ํธ๋์ญ์ ์ถ์
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 50
![Page 54: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/54.jpg)
HTTP URL ์ฌ๊ทํธ์ถ์ ๋์์ผ๋ก ํจjsp:forward ๋ฅผ ํตํด ์ฌํธ์ถ ๋๋ ์ผ์ด์ค๋ ์นด์ดํธ์ ํฌํจ๋จ
hook_httpservlet_classes
Default : NONEType : StringHTTP ํธ๋์ญ์ ์ END POINT ๋ฅผ ์ถ๊ฐ๋ก ์ง์ ํ๋ค. ๋ฉ์๋์ ์ฒซ๋ฒ์งธ 2 ๊ฐ์ ํ๋ผ๋ฏธํฐ๋ HttpServletRequest ์ HttpServletResponse ๋ง ์ง์ ๊ฐ๋ฅํฉ๋๋ค.
hook_jsp_patterns
Default : org.apache.jasper.servlet.JspServlet.serviceJspFileType : StringJSP ํ์ผ์ ๋ก๋ฉํ๋ ๋ฉ์๋๋ฅผ ์ง์ ํฉ๋๋ค. ํธ๋์ญ์ ํธ์ถ ๊ฒฐ๊ณผ๋ก ๋ฐํ๋๋ JSP ์ ๋ณด๋ฅผ ํ๋กํ์ผ์ ํ์ํฉ๋๋ค. ๋ณธ ์ต์ ์ ํตํด ์ถ๊ฐํ ์ค์ ์default ์ค์ ์ด ์๋์ผ๋ก ์ถ๊ฐ๋ฉ๋๋ค.
trace_ignore_url_set
Default : NONEType : Stringํธ๋์ญ์ ์ถ์ ์์ ์ ์ธํ URL์ ์ง์ ํ๋ค.
trace_ignore_url_prefix
Default : NONEType : Stringํธ๋์ญ์ ์ถ์ ์์ ์ ์ธํ URL prefix๋ฅผ ์ง์ ํ๋ค.
7.8. NON-Http ํธ๋์ญ์ ์ถ์ trace_auto_transaction_enabled
Default : falseType : Booleanํ๋กํ์ผ ๋์ ๋ฉ์๋๊ฐ ํธ๋์ญ์ ์์์ (Javax.http.httpservlet, hook_service_*) ๋ด์์ ์ํ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋๋ผ๋ฉด ์์ง์ด ๋์ง ์์ต๋๋ค. ์ด๊ฒฝ์ฐ ํ๋กํ์ผ ๋์ ๋ฉ์๋๊ฐ ํธ๋์ญ์ ์์์ ์ด ๋๋๋ก ์ง์ ํฉ๋๋ค.
์ฃผ๋ก ๊ฐ๋ฐํ๊ฒฝ์์ ๋ฐฑ๊ทธ๋ผ์ด๋ ํธ๋์ญ์ ์ END POINT ๋ฅผ ์ฐพ์๋ผ ๋ ์ฌ์ฉํฉ๋๋ค.
trace_auto_transaction_backstack_enabled
Default : trueType : Booleantrace_auto_transaction_enabled=true ์ด ์ค์ ๋ ๊ฒฝ์ฐ์ ํธ๋์ญ์ ์์์ StackTrace๋ฅผ ๊ธฐ๋กํฉ๋๋ค. ์ด๋ฅผ ํตํด ํธ๋์ญ์ ์ ์์์ ์ ์ฐพ์๋ผ ์์์ต๋๋ค.
trace_background_socket_enabled
Default : trueType : Booleanํธ๋์ญ์ ์ด ์๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ฐ๋ ๋์ ์ํ ์์ผ์ด ์คํ๋ ๋๋ ์ด๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
async_stack_enabled
Default : falseType : Boolean๋ฐฑ๊ทธ๋ผ์ด๋ ์ฐ๋ ๋์ ๋ํ Active Stack ๊ธฐ๋ฅ ์ฌ์ฉ ์ฌ๋ถ๋ฅผ ์ ํํฉ๋๋ค.
7.8. NON-Http ํธ๋์ญ์ ์ถ์
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 51
![Page 55: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/55.jpg)
async_thread_match
Default : NONEType : String์กํฐ๋ธ ์คํ์ ๋คํํ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ฐ๋ ๋ ์ด๋ฆ์ ์ง์ ํ๋ค. ","๋ก์ฌ๋ฌ๊ฐ๋ฅผ ์ง์ ํ ์์์ต๋๋ค. ์ด๋ฆ์ ์ง์ ํ ๋๋ "Thread-" ์ฒ๋ผ ""๋ฅผ ์ฌ์ฉํด์๋น๊ต ํจํด์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
async_thread_parking_class
Default : sun.misc.UnsafeType : String์คํ์ Top๋ฉ์๋๊ฐ async_thread_parking์ ๋ฑ๋ก๋ ํด๋์ค/๋ฉ์๋์ผ๋ ์ฐ๋ ๋๊ฐ ํํน์ํ์ ์๋ค๊ณ ํ๋จํ๊ณ ๋คํ๋ฅผ ์์ฑํ์ง ์์ต๋๋ค.
hook_service_patterns
Default : NONEType : StringNON-Http ํธ๋์ญ์ ์ถ์ ์ ์ํ ์์์ ํจํด์ ์ค์ ํ๋ค.
hook_serivce_ignore_methods
Default : NONEType : Stringhook_service_patterns ์์ ์ค์ ๋ ๋ด์ญ ์ค ์์์ ์ผ๋ก ๋ถํ์ํ ๋ฉ์๋๋ฅผ ์ถ๊ฐ ํ ์ ์๋ค.
hook_service_supers
Default : NONEType : StringNON-Http ํธ๋์ญ์ ์ถ์ ์ ์ํ ์์์ ์ ๊ณตํต ๋ถ๋ชจ๊ฐ ํน์ ํด๋์ค์ ๋ฉ์๋๋ฅผ ์์๋ฐ์ ๊ฒฝ์ฐ๋ผ๋ฉด ์ด๋ฅผ ์ค์ ํ๋ค.
hook_service_interfaces
Default : NONEType : StringNON-Http ํธ๋์ญ์ ์ถ์ ์ ์ํ ์์์ ์ ๊ณตํต ๋ถ๋ชจ๊ฐ ํน์ ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๊ฒฝ์ฐ๋ผ๋ฉด ์ด๋ฅผ ์ค์ ํ๋ค.
hook_service_access_public_enabled
Default : trueType : BooleanNon Http Demon ํ๋ก์ธ์ค์ ํธ๋์ญ์ ์ ์ง์ ํ ๋ public ๋ฉ์๋์ ๋ํด์๋ง Access ๊ถํ์ ๊ธฐ์ค์ผ๋ก on/off ๋ฅผ ์ง์ ํฉ๋๋ค
hook_service_access_private_enabled
Default : trueType : BooleanNon Http Demon ํ๋ก์ธ์ค์ ํธ๋์ญ์ ์ ์ง์ ํ ๋ private ๋ฉ์๋์ ๋ํด์๋ง Access ๊ถํ์ ๊ธฐ์ค์ผ๋ก on/off ๋ฅผ ์ง์ ํฉ๋๋ค
hook_service_access_protected_enabled
Default : trueType : BooleanNon Http Demon ํ๋ก์ธ์ค์ ํธ๋์ญ์ ์ ์ง์ ํ ๋ protected ๋ฉ์๋์ ๋ํด์๋ง Access ๊ถํ์ ๊ธฐ์ค์ผ๋ก on/off ๋ฅผ ์ง์ ํฉ๋๋ค
service_name_mode
Default : fullType : Stringํธ๋์ญ์ ๋ช ์ ์ง์ ํ๊ธฐ ์ํด full,class,method,string,arg 5๊ฐ์ง ์ต์ ์ ์ฌ์ฉํ ์์์ต๋๋ค.
7.8. NON-Http ํธ๋์ญ์ ์ถ์
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 52
![Page 56: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/56.jpg)
full : Full Class์ด๋ฆ ์ฌ์ฉclass : Class ์ด๋ฆ ์๋น์ค ๋ช ์ผ๋ก ์ฌ์ฉmethod : Method์ด๋ฆ์ ์๋น์ค ๋ช ์ผ๋ก ์ฌ์ฉstring : ๋ฌธ์์ด์ค์์ ์ฒซ๋ฒ์งธ ํ๋ผ๋ฏธํฐ๋ฅผ ์๋น์ค ๋ช ์ผ๋ก ์ฌ์ฉarg : ํ๋ผ๋ฏธํฐ์ค์์ service_name_index์ต์ ์ ์ง์ ํ ์ธ๋ฑ์ค์ด ํ๋ผ๋ฏธํฐ๋ฅผ ์๋น์ค ๋ช ์ผ๋ก ์ฌ์ฉ
7.9. ํธ๋์ญ์ ์ฐ๊ณ ์ถ์ mtrace_enabled
Default : falseType : Booleanํธ๋์ฐ์ ์ฐ๊ณ ์ถ์ ๊ธฐ๋ฅ(MTID)์ ์ฌ์ฉ ์ฌ๋ถ๋ฅผ ์ค์ ํฉ๋๋ค. MTID ๋ฅผ ์ถ์ ํ๋ฉด ๋ฑ๋ก๋ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ์ ํธ์ถ์ ํ์ธ ํ ์ ์์ต๋๋ค.
mtrace_rate
Default : 10Type : Percentage์ต์ด ํธ๋์ญ์ ์ด ๋ฐ์ํ ๋ ๋ฐ๊ธ๋ฐ๋ MTID(Multi Transaction ID)์ ๋ฐ๊ธ๋น์จ์ ์ค์ ํ๋ ์ต์ ์ ๋๋ค.
mtrace_caller_key
Default : x-wtap-mstType : StringMTID ์ถ์ ์ ์ฌ์ฉํ Caller Key Name์ ์ ํฉ๋๋ค.
mtrace_callee_key
Default : x-wtap-txType : StringMTID ์ถ์ ์ ์ฌ์ฉํ Callee Key Name์ ์ ํฉ๋๋ค.
mtrace_send_url_length
Default : 80Type : IntHttp Caller๋ Callee์๊ฒ ์์ ์ URL์ ๋์ ธ์ค๋๋ค. ์ด๋ URL๊ธธ์ด๋ฅผ ์ ํํ๊ณ ์์ต๋๋ค. ์ด ๊ธธ์ด๋ฅผ ์ง์ ํฉ๋๋ค.
mtrace_callee_id_send_enabled
Default : falseType : BooleanMTID ์ถ์ ์ HTTPC ํธ์ถ๊ณผ ํจ๊ป ๋ฐํ๋ Callee ID๋ฅผ ํ๋กํ์ผ์ ํํํฉ๋๋ค.
mtrace_callee_id_recv_enabled
Default : falseType : BooleanMTID ์ถ์ ์ ์์ ํ Callee ID๋ฅผ ํ๋กํ์ผ์ ํํํฉ๋๋ค.
mtrace_alltx_enabled
Default : falseType : Booleanlog4j์ ๊ฐ์ ๋ก๊น ์์คํ ๊ณผ ์ฐ๊ณํ๊ธฐ ์ํด์ ๋ชจ๋ ํธ๋์ญ์ ์ mtid๋ฅผ ์ถ์ ํ ์์์ต๋๋ค.
mtrace_basetime
Default : 100Type : Milisecondsmtrace_alltx_enabled=trueํ๋ฉด ๋๋ฌด ๋ง์ ๋ก๊ทธ๊ฐ ๋จ์ ์์์ต๋๋ค. ์ด๋๋ ํ๋กํ์ผ ๋ก๊น ๋์ ์ค์ผ ํ์๊ฐ ์์ต๋๋ค.
7.9. ํธ๋์ญ์ ์ฐ๊ณ ์ถ์
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 53
![Page 57: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/57.jpg)
stat_mtrace_enabled
Default : falseType : BooleanCaller์ Callee์ ์๊ด ๊ด๊ณ ํต๊ณ๋ฅผ ์์งํฉ๋๋ค.Caller์ ์ ์ฉํ๋ฉด Caller์ ์์ธ ์ ๋ณด๋ฅผ ๋ณด๋ด์ฃผ๊ณ Callee์ ์ ์ฉ๋๋ฉด url๋จ์ Caller-Callee ํธ์ถํต๊ณ๋ฅผ ์์ง์๋ฒ๋ก ์ ์กํฉ๋๋ค.
7.10. DB, SQLdbcp_pool_enabled
Default : trueType : BooleanJMX๋ฅผ ์ฌ์ฉํ์ง ์๊ณ DBCP์ DB Connection ์ ๋ณด๋ฅผ ์ถ์ ํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
hikari_pool_enabled
Default : falseType : BooleanJMX๋ฅผ ์ฌ์ฉํ์ง ์๊ณ hikari pool์ DB Connection ์ ๋ณด๋ฅผ ์ถ์ ํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
tomcat_ds_enabled
Default : falseType : BooleanJMX๋ฅผ ์ฌ์ฉํ์ฌ Tomcat DB Connection Pool ์ ๋ณด๋ฅผ ์ถ์ ํ๋ ๊ธฐ๋ฅ์ ํ์ฑํ ํฉ๋๋ค.
tomcat_pool_enabled
Default : trueType : BooleanJMX๋ฅผ ์ฌ์ฉํ์ง ์๊ณ Tomcat DB Connection Pool ์ ๋ณด๋ฅผ ์ถ์ ํ๋ ๊ธฐ๋ฅ์ ํ์ฑํ ํฉ๋๋ค.
weblogic_ds_enabled
Default : falseType : BooleanJMX๋ฅผ ์ฌ์ฉํ์ฌ Weblogic DB Connection Pool ์ ๋ณด๋ฅผ ์ถ์ ํ๋ ๊ธฐ๋ฅ์ ํ์ฑํ ํฉ๋๋ค.
weblogic_pool_enabled
Default : trueType : BooleanJMX๋ฅผ ์ฌ์ฉํ์ง ์๊ณ Weblogic DB Connection Pool ์ ๋ณด๋ฅผ ์ถ์ ํ๋ ๊ธฐ๋ฅ์ ํ์ฑํ ํฉ๋๋ค.
jeus_pool_enabled
Default : trueType : BooleanJMX๋ฅผ ์ฌ์ฉํ์ง ์๊ณ JEUS DB Connection Pool ์ ๋ณด๋ฅผ ์ถ์ ํ๋ ๊ธฐ๋ฅ์ ํ์ฑํ ํฉ๋๋ค.
profile_connection_open_enabled
Default : trueType : Booleanํ๋กํ์ผ ๋ด์ญ์ DBConnection ์คํ ์ ๋ณด๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
profile_dbc_close
Default : falseType : Boolean (profile_connection_open_enabled=true ์์๋ง ๋์)
7.10. DB, SQL
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 54
![Page 58: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/58.jpg)
ํ๋กํ์ผ ๋ด์ญ์ DBConnection ํด๋ก์ฆ ์ ๋ณด๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
profile_sql_param_enabled
Default : falseType : Booleanํ๋กํ์ผ ๋ด์ญ์ SQL ํ๋ผ๋ฏธํฐ ์ ๋ณด๋ฅผ ๊ธฐ๋กํ๊ณ ์ ํ ๋ ์ฌ์ฉํฉ๋๋ค. ํ๋ผ๋ฏธํฐ๋ ๋ณ๋ ๋ณด์ํค๋ฅผ ์ ๋ ฅํด์ผ ์กฐํ ํ ์ ์์ต๋๋ค.
๋ณด์ ํค๋ WAS์๋ฒ ${WHATAP_AGENT_HOME}/paramkey.txt ํ์ผ๋ด์ 6์๋ฆฌ๋ก ์ง์ ํฉ๋๋ค.paramkey.txt ํ์ผ์ด ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ ๋๋ค ๊ฐ์ผ๋ก ์๋ ์์ฑ๋ฉ๋๋ค.
profile_sql_resource_enabled
Default : falseType : Booleanํ๋กํ์ผ์์ SQL ์ด ์์ง๋ ๋ ํด๋น ์คํ ์์ ์ฌ์ฉํ CPU ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ถ์ ํฉ๋๋ค.
profile_update_count
Default : falseType : BooleanexcuteUpdate() ๋ฉ์๋๋ฅผ ํตํด SQL UPDATE๋ฌธ์ด ์ํ๋ ๊ฒฝ์ฐ UPDATE ๊ฑด์๋ฅผ ์์งํฉ๋๋ค.
custom_pool_classes
Default : NONEType : Stringpre-define๋์ง ์๋ ๋ณ๋์ Connection Pool์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ํด๋น ํด๋์ค ๋ช ์ ์ง์ ํ๋ค.
ds_update_interval
Default : 5000Type : MiliSecondsDB Connection ์ ๋ณด Count ์ฃผ๊ธฐ๋ฅผ ์ค์ ํ๋ค.
profile_position_sql
Default : falseType : BooleanSQL์ด ์ํ๋๋ ์์ ์ StackTrace๋ฅผ ๊ธฐ๋กํ๋ค.
trace_dbc_leak_enabled
Default : falseType : BooleanDBConnection Leak ์ ์ถ์ ํ๋ ๊ธฐ๋ฅ์ ํ์ฑํํฉ๋๋ค.
Connection Wrapper๋ฅผ ์ฌ์ฉํด Leak์ ์ถ์ ํ๊ธฐ์ ์ด์ ์๋น์ค์ ์ํฅ์ ๋ฏธ์น ์ ์์ผ๋ฏ๋ก ๋ฐ๋์ ํ ์คํธํ ์ ์ฉํด์ผ ํฉ๋๋ค.
trace_dbc_leak_fullstack_enabled
Default : falseType : BooleanDBConnection Leak์ด ๊ฐ์ง๋๋ ๊ฒฝ์ฐ ํด๋น ์์ StackTrace๋ฅผ ์์งํฉ๋๋ค.
์ต์ ์ ์ฉ์ CPU ์ฌ์ฉ๋์ด ๋ค์ ์ฆ๊ฐํ ์ ์์ต๋๋ค.PeakTime์ ์ ์ฉ์ ํผํ๊ณ ๋ฌธ์ ํด๊ฒฐ ์ฉ๋๋ก๋ง ํ์์ ์ผ๋ก ์ ์ฉ ํ ๊ฒ์ ๊ถ๊ณ ํฉ๋๋ค.
trace_sql_normalize_enabled
Default : true
7.10. DB, SQL
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 55
![Page 59: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/59.jpg)
Type : BooleanSQL ๋ฌธ์์ ๋ฆฌํฐ๋ด ๋ถ๋ถ์ ์ถ์ถํ์ฌ SQL ๋ฌธ์ ์ ๊ทํํ๋ ๊ธฐ๋ฅ์ ํ์ฑํํฉ๋๋ค.
profile_error_jdbc_fetch_max
Default : 10000Type : IntSQL Fetch Count(ResultSet.next() ํธ์ถ ๊ฑด ์)๊ฐ ์ง์ ํ ๊ฐ์ ์ด๊ณผํ๋ฉด TOO MANY Fetch ์๋ฌ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. 0์ผ๋ก ์ค์ ํ๋ ๊ฒฝ์ฐ ์๋ฌ ์ฒ๋ฆฌ๋ฅผํ์ง ์์ต๋๋ค.
profile_error_sql_time_max
Default : 30000Type : MiliSecondSQL ์ํ์๊ฐ์ด ์ง์ ํ ๊ฐ์ ์ด๊ณผํ๋ฉด TOO SLOW ์๋ฌ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. 0์ผ๋ก ์ค์ ํ๋ ๊ฒฝ์ฐ ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ํ์ง ์์ต๋๋ค.
hook_connection_open_patterns
Default : NONEType : StringDB Connection Open ์ ํธ์ถ๋๋ ๋ฉ์๋๋ฅผ ๋ฑ๋กํฉ๋๋ค. ๋ฏธ๋ฆฌ ์ง์ ๋์ง ์์ Connection Pool ์ getConnection์ ๋ฑ๋กํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ ๋๋ค.
โข Ex : hook_connection_open_patterns=mypool.ConPool.getConnection
hook_jdbc_con_classes
Default : NONEType : String๋ฏธ๋ฑ๋ก ๋์๋ JDBC Connection ํด๋์ค๋ฅผ ์ง์ ํฉ๋๋ค.
โข Ex : hook_jdbc_con_classes=mypool.ConPool
hook_jdbc_pstmt_classes
Default : NONEType : String๋ฏธ๋ฑ๋ก ๋์๋ jdbc PreparedStatement ํด๋์ค๋ฅผ ์ง์ ํฉ๋๋ค. ์ฃผ์ํ ์ ์ ์์ฑ์ ํ๋ผ๋ฏธํฐ์ SQL ๋ฌธ์์ด์ด ์ ๋ฌ๋๋ ๊ตฌ์กฐ์ฌ์ผ ํฉ๋๋ค.
โข Ex : org.apache.derby.impl.jdbc.EmbedPreparedStatement
hook_jdbc_cstmt_classes
Default : NONEType : String๋ฏธ๋ฑ๋ก ๋์๋ jdbc CallableStatement ํด๋์ค๋ฅผ ์ง์ ํฉ๋๋ค.
โข Ex : org.apache.derby.impl.jdbc.EmbedCallableStatement
hook_jdbc_stmt_classes
Default : NONEType : String๋ฏธ๋ฑ๋ก ๋์๋ JDBC Statement ํด๋์ค๋ฅผ ์ง์ ํฉ๋๋ค.
โข Ex : org.apache.derby.impl.jdbc.EmbedStatement
hook_jdbc_rs_classes
Default : NONEType : String๋ฏธ๋ฑ๋ก๋์๋ JDBC ResultSet ํด๋์ค๋ฅผ ์ง์ ํฉ๋๋ค.
7.10. DB, SQL
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 56
![Page 60: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/60.jpg)
โข Ex : org.apache.derby.impl.jdbc.EmbedResultSet
hook_jdbc_wrapping_driver_patterns
Default : NONEType : StringDB2 ๋๋ผ์ด๋ฒ์ฒ๋ผ ๋๋ ์ฒ๋ฆฌ๋ JDBC ๋๋ผ์ด๋ฒ๋ hook_jdbc_xxx ์ต์ ์ผ๋ก ์ง์ BCI ๊ฐ ์ด๋ ต๋ค. ์ด๋ฐ ๊ฒฝ์ฐ Wrapper ๋ฐฉ์์ผ๋ก SQL ์ถ์ ํ ์์๋๋ฐ ์ด๋ Driver.connect ๋ฅผ ์ง์ ํ์ฌ ์ถ์ ํ๊ฒ ๋ฉ๋๋ค.
debug_dbc_stack_enabled
Default : falseType : BooleanDB Connection ์์ ์ StackTrace ๋ฅผ ํ๋กํ์ผ์ ์ ์ฅํฉ๋๋ค. ์ดํ๋ฆฌ์ผ์ด์ ์์ ์ฌ์ฉํ๋ Connection Pool ์ ๋ณด๋ฅผ ์ป๊ธฐ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
7.11. HTTPC, API Callprofile_error_httpc_time_max
Default : 10000Type : MiliSecondHTTPC ์ํ์๊ฐ์ด ์ง์ ํ ๊ฐ์ ์ด๊ณผํ๋ฉด TOO SLOW ์๋ฌ๋ก ์ฒ๋ฆฌ๋ฉ๋๋ค. 0์ผ๋ก ์ค์ ํ๋ ๊ฒฝ์ฐ ์๋ฌ ์ฒ๋ฆฌ๋ฅผ ํ์ง ์์ต๋๋ค.
profile_httpc_resource_enabled
Default : falseType : Booleanํ๋กํ์ผ์์ HTTP Call ์คํ ์ด ์์ง๋ ๋ ํด๋น ์คํ ์์ ์ฌ์ฉํ CPU ์ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ถ์ ํฉ๋๋ค.
profile_position_httpc
Default : falseType : BooleanHTTPC๊ฐ ์ํ๋๋ ์์ ์ StackTrace๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
trace_httpc_normalize_enabled
Default : trueType : Booleanํธ๋์ญ์ ๋ด HTTPC URL ์ ํ์ฑํ์ฌ ์ ๊ทํํ๋ ๊ธฐ๋ฅ์ ํ์ฑํํฉ๋๋ค.
trace_httpc_normalize_urls
Default : NONEType : String์ ๊ทํ ํ HTTPC URL ํจํด์ ์ ์ ํ๋ค. ํธ์ถ URL ํจํด์ ํ์ฑํ์ฌ ํจ์คํ๋ผ๋ฏธํฐ๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
ex) /a/{v}/b ๋ผ๊ณ ์ ์ธํ๋ฉด a/123/b โ a/{v}/b ๋ก ์นํํ๋ค์ฌ๋ฌ ๊ฐ๋ฅผ ๋ฑ๋กํ ๋๋ ์ฝค๋ง(,)๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์นํํจํด ์ ๋ฆฌ ํ ๋ณด์ํ์
hook_httpc_patterns
Default : NONEType : StringHTTP Call ์ ์ํํ๋ ํด๋์ค๋ฅผ ์ง์ ํฉ๋๋ค.
7.11. HTTPC, API Call
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 57
![Page 61: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/61.jpg)
7.12. Plug-inhook_trace_helper_patterns
Default : NONEType : String๋ฉ์๋ ์คํ ๋ฐ ์ข ๋ฃ ๋ถ๋ถ์์ ํ๋กํ์ผ ํ๋ฌ๊ทธ์ธ์ ์ฝ์ ํ ํฌ์ธํธ(ํด๋์ค ๋ฐ ๋ฉ์๋๋ช )๋ฅผ ์ง์ ํฉ๋๋ค
plugin ์ ํ์ฉํ ์ปค์คํฐ๋ง์ด์ฆ ๋ profile ์ ๋ณด ์์ง์ ์ํ ์ฉ๋๋ก ํ๊ธฐ plugin ์ฝ๋๊ฐ ์ฃผ์ ๋ฉ๋๋ค.$WHATAP_HOME/plugin/TraceHelperStart.x$WHATAP_HOME/plugin/TraceHelperEnd.x
hook_trace_helper_end_patterns
Default : NONEType : String๋ฉ์๋ ์ข ๋ฃ ๋ถ๋ถ์์ ํ๋กํ์ผ ํ๋ฌ๊ทธ์ธ์ ์ฝ์ ํ ํฌ์ธํธ(ํด๋์ค ๋ฐ ๋ฉ์๋๋ช )๋ฅผ ์ง์ ํฉ๋๋ค.
plugin ์ ํ์ฉํ ์ปค์คํฐ๋ง์ด์ฆ ๋ profile ์ ๋ณด ์์ง์ ์ํ ์ฉ๋๋ก ํ๊ธฐ plugin ์ฝ๋๊ฐ ์ฃผ์ ๋ฉ๋๋ค.$WHATAP_HOME/plugin/TraceHelperEnd.x
hook_trace_helper_start_patterns
Default : NONEType : String๋ฉ์๋ ์์ ๋ถ๋ถ์์ ํ๋กํ์ผ ํ๋ฌ๊ทธ์ธ์ ์ฝ์ ํ ํฌ์ธํธ(ํด๋์ค ๋ฐ ๋ฉ์๋๋ช )๋ฅผ ์ง์ ํฉ๋๋ค.
plugin ์ ํ์ฉํ ์ปค์คํฐ๋ง์ด์ฆ ๋ profile ์ ๋ณด ์์ง์ ์ํ ์ฉ๋๋ก ํ๊ธฐ plugin ์ฝ๋๊ฐ ์ฃผ์ ๋ฉ๋๋ค.$WHATAP_HOME/plugin/TraceHelperStart.x
7.13. ์ฌ์ฉ์ ์trace_user_enabled
Default : trueType : Boolean์ค์๊ฐ ์ฌ์ฉ์ ์ง๊ณ ์ฌ๋ถ๋ฅผ ์ง์ ํฉ๋๋ค.
์ฌ์ฉ์ ์ถ์ ์ต์ ์ด ์ค๋ณต ์ค์ ๋ ๊ฒฝ์ฐ ๋์ ์ฐ์ ์์1. trace_user_using_ip2. trace_user_using_jsession3. user_header_ticket
trace_user_cookie_limit
Default: 2048Type : Int์ฌ์ฉ์ ์ง๊ณ๋ฅผ ์ํด ์ฟ ํค๋ฅผ ๋ฐํํ๋ ๊ฒฝ์ฐ ๊ธฐ์กด ์ฟ ํค๊ฐ ๋๋ฌด ๋ง๋ค๋ฉด ์ฟ ํค ์ค๋ฒํ๋ก์ด๊ฐ ๋ฐ์ ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํํผํ๊ธฐ ์ํด limit ๋ฅผ์ง์ ํฉ๋๋ค.
trace_user_using_ip
Default : trueType : Boolean์ค์๊ฐ ์ฌ์ฉ์ ์ง๊ณ์ IP ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
7.12. Plug-in
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 58
![Page 62: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/62.jpg)
trace_user_using_jsession
Default : falseType : Boolean์ค์๊ฐ ์ฌ์ฉ์ ์ง๊ณ์ SESSIONID ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
trace_http_client_ip_header_key
Default : NONEType : StringRemote Address ๋ฅผ http header์ ํน์ key๊ฐ์ผ๋ก ๋์ฒดํฉ๋๋ค.
์) trace_http_client_ip_header_key=X-Forwarded-For
WEB/WAS ์์ L4์ ๊ฐ์ ๋ก๋๋ฐธ๋ฐ์๊ฐ ์์นํ ๊ฒฝ์ฐ Client์ IP๊ฐ ์๋ L4์ IP๊ฐ Remote Address๊ฐ ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.์ด ์ํฉ์์ ์ค์ Client IP์ ๋ณด๊ฐ http header์ ํน์ key ๊ฐ์ผ๋ก ๊ธฐ๋ก๋๋ ๊ฒฝ์ฐ๋ผ๋ฉด ํด๋น key๋ก ๋์ฒด ํ ์ ์์ต๋๋ค.
user_header_ticket
Default : NONEType : StringHTTP Header ์ ํน์ ๊ฐ์ผ๋ก ์ฌ์ฉ์ ์๋ฅผ ์ง๊ณํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ ํด๋น Key๊ฐ์ ์ง์ ํฉ๋๋ค.
7.14. ๋ถํ๋ ์ ์ดthrottle_enabled
Default : falseType : Boolean์ดํ๋ฆฌ์ผ์ด์ ์ ์ต๋ ๋์ ์ฒ๋ฆฌ ์๋ฅผ ์ ํํ๋ ์ฐ๋กํ๋ง ๊ธฐ๋ฅ์ ํ์ฑํํฉ๋๋ค. throttle_ ์ผ๋ก ์์ํ๋ ๋ชจ๋ ์ต์ ์ throttle_enabled=true์ํ์์๋ง ๋์ํฉ๋๋ค.
์ฐ๋กํ๋ง ์ ์ด์ ๊ด๋ จํ ์ ์ฑ ์ ๋ค์๊ณผ ๊ฐ์ ์ฐ์ ์์๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.1. Block : URL, ์ฌ์ฉ์IP ๊ธฐ์ค์ผ๋ก ์๋น์ค๋ฅผ ์ฐจ๋จํ๋ฉฐ ๊ฐ์ฅ ์ฐ์ ํ์ฌ ์ ์ฉ๋ฉ๋๋ค.2. Passing : Passing์ ์ ์ฉ๋ URL๋ค์ Reject ์ ์ฑ ๋ณด๋ค ์ฐ์ ํฉ๋๋ค.3. Reject : Block, Passing ์ ์ฑ ์ดํ์ Reject ์ ์ฑ ์ด ์ ์ฉ๋ฉ๋๋ค.
throttle_limit
Default: 10000Type : Int์์ด์ ํธ๋ณ ๋์ ์ฒ๋ฆฌ๋๋ ์์ฒญ(ํธ๋์ญ์ )์๊ฐ ์ง์ ํ ๊ฐ์ ๋์ผ๋ฉด ์ถ๊ฐ๋ก ๋๋ฌํ๋ ์์ฒญ์ reject๋ฉ๋๋ค.
throttle_rejected_message
Default : too many request!!Type : String์ฐ๋กํ๋ง ์ ํ์ ์ฌ์ฉ์์๊ฒ ์ ๋ฌ๋ ๋ฉ์์ง๋ฅผ ์ ์ํฉ๋๋ค.
throttle_rejected_forward
Default : NONEType : URL์ฌ์ฉ์ ์์ฒญ์ด limit ๊ฐ์ ๋์ด reject ๋ ๋ ์ฌ์ฉ์์๊ฒ ์ ๋ฌ๋๋ ์๋ด ํ์ด์ง URL์ ์ ์ํฉ๋๋ค. throttle_rejected_message์ ๋์์ ์ค์ ๋๊ฒฝ์ฐ throttle_rejected_forward ๊ฐ ์ฐ์ ์ ์ฉ ๋ฉ๋๋ค.
7.14. ๋ถํ๋ ์ ์ด
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 59
![Page 63: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/63.jpg)
์๋ดํ์ด์ง๊ฐ ๋์ผํ ์ปจํ ์ด๋์์ ์๋น์ค ๋๋ ๊ฒฝ์ฐ, ์ด ์ญ์ ๋์์ฒ๋ฆฌ ์์ ์ฐ์ ๋๋ฏ๋ก ์ ๊ทํธ์ถ๋ก ์ธํ ์ฅ์ ์์๊ฐ ๋ ์์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์๋ด ํ์ด์ง๋ static html ํ์ด์ง๋ก ๋ง๋ค๊ฑฐ๋ ์ธ๋ถ์ ์์ด์ผ ํฉ๋๋ค.
reject_event_enabled
Default : falseType : Boolean์ฌ์ฉ์ ์์ฒญ์ด Reject๋ ๊ฒฝ์ฐ ์ด๋ฒคํธ ์๋์ ๋ฐ์ํ ์ง๋ฅผ ์ ์ํฉ๋๋ค.
reject_event_interval
Default: 30000Type : MiliSecondReject์ ๋ํ ์ด๋ฒคํธ ์๋ ๋ฐ์์ดํ ์ค์ ๋ ์๊ฐ๋์ ์ค๋ณต๋ ์ด๋ฒคํธ์ ๋ํ์ฌ ์๋ ๋ฐ์์ ํ์ง ์์ต๋๋ค.
throttle_blocking_url
Default: NONEType : Stringthrottle_limit์ ์ด๊ณผํ์ง ์๋ ๊ฒฝ์ฐ๋ผ๋ ๋ธ๋ญํน(์ฒ๋ฆฌ ๊ฑฐ๋ถ) ํ URL ์ ์ง์ ํฉ๋๋ค. ์์คํ ์ฅ์ ๋ฅผ ์ ๋ฐํ๋ URL์ ๊ธด๊ธํ๊ฒ ๋ธ๋ญํน ํ๊ธฐ ์ํด์ฌ์ฉํ ์ ์์ต๋๋ค.
throttle_blocking_ip
Default: NONEType : ip_address์ฌ์ฉ์ IP๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ธ๋ญํนํ๊ณ ์ ํ ๋ ์ง์ ํฉ๋๋ค. ๋๋์ค ๊ณต๊ฒฉ์ด๋ ์๋ชป๋ ์ฌ์ฉ์๋ฅผ IP ๊ธฐ๋ฐ์ผ๋ก ์ฐจ๋จ ํ ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ์ฝค๋ง(,)๋ฅผ ์ฌ์ฉํฉ๋๋ค.
throttle_target_urls
Default: NONEType : URL๋ฑ๋ก๋ URL์ ๋์์ผ๋ก๋ง ์ฐ๋กํ ๊ธฐ๋ฅ์ ์ ์ฉํ๋ค. ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ ์ฝค๋ง(,) ๋ก ๊ตฌ๋ถํฉ๋๋ค.
throttle_passing_url
Default: NONEType : Stringthrottle_limit์ ์ด๊ณผํ๋ ๊ฒฝ์ฐ๋ผ๋ ์ฒ๋ฆฌ๋์ด์ผ ํ URL์ด ์๋ ๊ฒฝ์ฐ ์ง์ ํฉ๋๋ค. ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ ์ฝค๋ง(,)๋ฅผ ์ฌ์ฉํฉ๋๋ค.
throttle_passing_url_prefix
Default: NONEType : Stringthrottle_limit์ ์ด๊ณผํ๋ ๊ฒฝ์ฐ๋ผ๋ ์ฒ๋ฆฌ๋์ด์ผ ํ URL๋ค์ prefix๋ก ๊ฒฝ์ฐ ์ง์ ํฉ๋๋ค. ์ฌ๋ฌ๊ฐ์ธ ๊ฒฝ์ฐ ์ฝค๋ง(,)๋ฅผ ์ฌ์ฉํฉ๋๋ค.
throttle_blocked_message
Default : request blocked!!Type : String์์ฒญ์ด ๋ธ๋ฌํน ๋ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํ ๋ฉ์์ง๋ฅผ ์ ์ํฉ๋๋ค.
throttle_blocked_forward
Default : NONEType : URL์์ฒญ์ด ๋ธ๋ฌํน ๋ ์ฌ์ฉ์์๊ฒ ์ ๋ฌํ URL์ ์ ์ํฉ๋๋ค. throttle_blocked_message์ ๋์์ ์ค์ ๋ ๊ฒฝ์ฐ throttle_blocked_forward ๊ฐ ์ฐ์ ์ ์ฉ๋ฉ๋๋ค.
7.14. ๋ถํ๋ ์ ์ด
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 60
![Page 64: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/64.jpg)
7.15. ์์ด์ ํธ ์๋ฆผ ์ค์ recursive_event_interval
Default : 300000Type : MiliSecondsํธ๋์ญ์ ์ ์ฌ๊ท ํธ์ถ์ ๋ํ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ๊ฐ๊ฒฉ์ ์ง์ ํฉ๋๋ค.
reject_event_enabled
Default : falseType : Boolean์๋น์ค ๊ฑฐ์ (ํธ์ถ ๋ถํ ์ ํ/๊ฑฐ์ ))์ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ์ฌ๋ถ๋ฅผ ์ง์ ํฉ๋๋ค.
reject_event_interval
Default : 300000Type : MiliSeconds์๋น์ค ๊ฑฐ์ (ํธ์ถ ๋ถํ ์ ํ/๊ฑฐ์ ))์ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ๊ฐ๊ฒฉ์ ์ง์ ํฉ๋๋ค.
httpc_event_enabled
Default : falseType : BooleanHTTPC ์ฐ๊ฒฐ์ค๋ฅ ๋ฐ์์ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ์ฌ๋ถ๋ฅผ ์ง์ ํฉ๋๋ค.
httpc_event_interval
Default : 300000Type : MiliSecondsHTTPC ์ฐ๊ฒฐ์ค๋ฅ ๋ฐ์์ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ๊ฐ๊ฒฉ์ ์ง์ ํฉ๋๋ค.
heap_event_enabled
Default : falseType : Booleanํ ์ฌ์ฉ๋ ์๊ณ ๋๋ฌ ์ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ์ฌ๋ถ๋ฅผ ์ง์ ํฉ๋๋ค.
heap_event_percent
Default : 90Type : Percentageํ์ฌ์ฉ๋ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ๊ธฐ์ค ์๊ณ์น๋ฅผ ์ง์ ํฉ๋๋ค.
heap_event_duration
Default : 30000Type : MiliSecondsํ์ฌ์ฉ๋ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ๊ธฐ์ค ์ง์์๊ฐ์ ์ง์ ํฉ๋๋ค.
heap_event_interval
Default : 300000Type : MiliSecondsํ์ฌ์ฉ๋ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ๊ฐ๊ฒฉ์ ์ง์ ํฉ๋๋ค.
heap_event_action
Default : NONEType : Stringํ์ฌ์ฉ๋ ์ด๋ฒคํธ ๋ฐ์ ์ ์คํํ ๋์ ๋ก๋ฉ ์ฝ๋ ์ง์
7.15. ์์ด์ ํธ ์๋ฆผ ์ค์
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 61
![Page 65: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/65.jpg)
($WHATAP_HOME/plugin/ActionScript.x ์ ์์ฑํ Java ์ฝ๋)์ ์ ๋ฌํ ID ($id ๋ก ์ ๋ฌ๋จ)
disk_event_enabled
Default : falseType : Boolean๋์คํฌ์ฌ์ฉ๋ ์๊ณ ๋๋ฌ ์ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ์ฌ๋ถ๋ฅผ ์ง์ ํฉ๋๋ค.
disk_event_percent
Default : 90Type : Percentage๋์คํฌ์ฌ์ฉ๋ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ๊ธฐ์ค ์๊ณ์น๋ฅผ ์ง์ ํฉ๋๋ค.
disk_event_interval
Default : 300000Type : MiliSeconds๋์คํฌ์ฌ์ฉ๋ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ๊ฐ๊ฒฉ์ ์ง์ ํฉ๋๋ค.
disk_event_action
Default : NONEType : String๋์คํฌ์ฌ์ฉ๋ ์ด๋ฒคํธ ๋ฐ์ ์ ์คํํ ๋์ ๋ก๋ฉ ์ฝ๋ ์ง์
($WHATAP_HOME/plugin/ActionScript.x ์ ์์ฑํ Java ์ฝ๋)์ ์ ๋ฌํ ID ($id ๋ก ์ ๋ฌ๋จ)
cpu_event_enabled
Default : falseType : BooleanCPU ์ฌ์ฉ๋ ์๊ณ ๋๋ฌ ์ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ์ฌ๋ถ๋ฅผ ์ง์ ํฉ๋๋ค.
cpu_event_percent
Default : 90Type : PercentageCPU ์ฌ์ฉ๋ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ๊ธฐ์ค ์๊ณ์น๋ฅผ ์ง์ ํฉ๋๋ค.
cpu_event_duration
Default : 30000Type : MiliSecondsCPU ์ฌ์ฉ๋ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ๊ธฐ์ค ์ง์์๊ฐ์ ์ง์ ํฉ๋๋ค.
cpu_event_interval
Default : 300000Type : MiliSecondsCPU ์ฌ์ฉ๋ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ๊ฐ๊ฒฉ์ ์ง์ ํฉ๋๋ค.
cpu_event_action
Default : NONEType : StringCPU ์ฌ์ฉ๋ ์ด๋ฒคํธ ๋ฐ์ ์, ์คํํ ๋์ ๋ก๋ฉ ์ฝ๋์ ์ ๋ฌํ ID๋ฅผ ์ง์ ํฉ๋๋ค.
($WHATAP_HOME/plugin/ActionScript.x ์ ์์ฑํ Java ์ฝ๋)์ ์ ๋ฌํ ID ($id ๋ก ์ ๋ฌ๋จ)
7.15. ์์ด์ ํธ ์๋ฆผ ์ค์
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 62
![Page 66: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/66.jpg)
dbc_dup_event_enabled
Default : falseType : BooleanDB Connection ์ด ์ค๋ณต ํ ๋น ๋์์ ๋ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ์ฌ๋ถ๋ฅผ ์ง์ ํฉ๋๋ค.
dbc_dup_event_fullstack_enabled
Default : falseType : BooleanDB Connection ์ด ์ค๋ณต ํ ๋น ๋ ๋ Stack ํ๋ณด ์ฌ๋ถ๋ฅผ ์ง์ ํฉ๋๋ค.
exception_event_enabled
Default : falseType : BooleanException ๋ฐ์ ์ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ์ฌ๋ถ๋ฅผ ์ง์ ํฉ๋๋ค.
exception_event_interval
Default : 60000Type : MiliSecondsException ๋ฐ์ ์ ์ด๋ฒคํธ ์๋ฆผ ๋ฐํ ๊ฐ๊ฒฉ์ ์ง์ ํฉ๋๋ค.
exception_event_set
Default : NullType : String๋์ Exception ์ ์ง์ ํฉ๋๋ค. ์ฌ๋ฌ๊ฐ ์ง์ ํ ๊ฒฝ์ฐ ','๋ก ๊ตฌ๋ถ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.
exception_event_action
Default : NullType : String์ด๋ฒคํธ ๋ฐ์ ์ ์คํํ ๋์ ๋ก๋ฉ ์ฝ๋
($WHATAP_HOME/plugin/ActionScript.x ์ ์์ฑํ Java ์ฝ๋)์ ์ ๋ฌํ ID ($id ๋ก ์ ๋ฌ๋จ)
7.16. ์ฑ๋ฅ ์นด์ดํฐ & ํต๊ณ ํ์ฅaddin_monitor_num
Default : 0Type : Int์ฑ๋ฅ ์นด์ดํฐ ํ์ฅ์ ์ํด ์ถ๊ฐ ์ ์ธํ ํด๋์ค ์ addin_monitor_num์ ์ค์ ํ ์๋งํฐ addin_monitor_x๋ฅผ ์ ์ธํฉ๋๋ค.
addin_monitor_0
Default : 0Type : Intํด๋์ค ์ด๋ฆ์ ์ง์ ํ๋ค. ์ดํด๋์ค๋ค์ ๋ชจ๋ whatap.agent.AddinMonitor์ ๊ตฌํ ํด๋์ค ์ ๋๋ค.
addin_monitor_x ์ฌ์ฉ์
addin_monitor_num=2addin_monitor_0=a.a.Class1addin_monitor_1=a.a.Class2
stat_domain_enabled
Default : false
7.16. ์ฑ๋ฅ ์นด์ดํฐ & ํต๊ณ ํ์ฅ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 63
![Page 67: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/67.jpg)
Type : Boolean๋๋ฉ์ธ๋ณ ํธ๋์ญ์ ํต๊ณ๋ฅผ ์์งํฉ๋๋ค.
stat_domain_max_count
Default : 7000Type : Int5๋ถ๋์ ํ JVM์์ ์์งํ ๋๋ฉ์ธ๋ณ ํธ๋์ญ์ ํต๊ณ์ ์ต๋ ๋ ์ฝ๋ ์์ ๋๋ค.
stat_mtrace_enabled
Default : falseType : Boolean๋ฉํฐ ์๋ฒ ํธ๋์ญ์ ์์ Callser&Callee๊ฐ์ ๋ฒ์ ๋ณ ์์กด์ฑ ํต๊ณ๋ฅผ ์์งํฉ๋๋ค.
mtrace_spec
Default: v1Type : Stringํ ์ธ์คํด์ค์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฒ์ ์ ์ง์ ํฉ๋๋ค. ์์์ ๋ฌธ์์ด์ ์ง์ ํ ์ ์์ต๋๋ค. ์ด ๋ฐ์ดํฐ๋ ํธ์ถํต๊ณ๋ฅผ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
stat_mtrace_max_count
Default : 7000Type : Int๋ฉํฐ ์๋ฒ ํธ๋์ญ์ ์์ Callser&Callee๊ฐ์ ๋ฒ์ ๋ณ ์์กด์ฑ ํต๊ณ์ ์ต๋ ๋ ์ฝ๋ ์์ ๋๋ค.
stat_login_enabled
Default : falseType : Boolean๋ก๊ทธ์ธ๋ณ ํธ๋์ญ์ ํต๊ณ๋ฅผ ์์งํฉ๋๋ค.
stat_login_max_count
Default : 7000Type : Int5๋ถ๋์ ํ JVM์์ ์์งํ ๋ก๊ทธ์ธ๋ณ ํธ๋์ญ์ ํต๊ณ์ ์ต๋ ๋ ์ฝ๋ ์์ ๋๋ค.
stat_referer_enabled
Default : falseType : BooleanReferer๋ณ ํธ๋์ญ์ ํต๊ณ๋ฅผ ์์งํฉ๋๋ค.
stat_referer_max_count
Default : 7000Type : Int5๋ถ๋์ ํ JVM์์ ์์งํ Referer๋ณ ํธ๋์ญ์ ํต๊ณ์ ์ต๋ ๋ ์ฝ๋ ์์ ๋๋ค.
stat_tx_max_count
Default : 5000Type : Intํธ๋์ญ์ ํต๊ณ ์ ๋ณด์ ๊ฐฏ์๋ฅผ ์ ํํฉ๋๋ค. 5๋ถ๋์ ์์ง๋์ด ์๋ฒ์ ์ ์ก๋๋ ํต๊ณ์ ๋ณด์์ ์ต๋ ๋ ์ฝ๋์๋ฅผ ์ ํํฉ๋๋ค.
stat_sql_max_count
Default : 5000Type : IntSQL ํต๊ณ ์ ๋ณด์ ๊ฐฏ์๋ฅผ ์ ํํฉ๋๋ค. 5๋ถ๋์ ์์ง๋์ด ์๋ฒ์ ์ ์ก๋๋ ํต๊ณ์ ๋ณด์์ ์ต๋ ๋ ์ฝ๋์๋ฅผ ์ ํํฉ๋๋ค.
7.16. ์ฑ๋ฅ ์นด์ดํฐ & ํต๊ณ ํ์ฅ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 64
![Page 68: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/68.jpg)
stat_httpc_max_count
Default : 5000Type : IntHttp Call ํต๊ณ ์ ๋ณด์ ๊ฐฏ์๋ฅผ ์ ํํฉ๋๋ค. 5๋ถ๋์ ์์ง๋์ด ์๋ฒ์ ์ ์ก๋๋ ํต๊ณ์ ๋ณด์์ ์ต๋ ๋ ์ฝ๋์๋ฅผ ์ ํํฉ๋๋ค.
stat_error_max_count
Default : 1000Type : IntError ํต๊ณ ์ ๋ณด์ ๊ฐฏ์๋ฅผ ์ ํํฉ๋๋ค. 5๋ถ๋์ ์์ง๋์ด ์๋ฒ์ ์ ์ก๋๋ ํต๊ณ์ ๋ณด์์ ์ต๋ ๋ ์ฝ๋์๋ฅผ ์ ํํฉ๋๋ค.
stat_useragent_max_count
Default : 500Type : IntUser Agent ํต๊ณ ์ ๋ณด์ ๊ฐฏ์๋ฅผ ์ ํํฉ๋๋ค. 5๋ถ๋์ ์์ง๋์ด ์๋ฒ์ ์ ์ก๋๋ ํต๊ณ์ ๋ณด์์ ์ต๋ ๋ ์ฝ๋์๋ฅผ ์ ํํฉ๋๋ค.
7.17. ์ผ๋ฐ ๋ก๊ทธ & GC ๋ก๊ทธ ๋ชจ๋ํฐ๋งwatchlog_enabled
Default : falseType : Boolean๋ก๊ทธ ๋ชจ๋ํฐ๋ง์ ํ์ฑํํฉ๋๋ค.
watchlog_check_interval
Default : 2000Type : Int๋ก๊ทธ๋ฅผ ๊ฐ์ํ๋ ์ฃผ๊ธฐ์ ๋๋ค. ๋งค ๊ฐ๊ฒฉ์ผ๋ก ๋ก๊ทธ ํ์ผ์ ๊ธฐ๋ก์ด ์ถ๊ฐ๋์๋์ง ํ์ธํฉ๋๋ค.
watchlog_read_count
Default : 8Type : Int๋ก๊ทธ๋ฅผ ์ฝ์ด๋ค์ด๋ ์ต๋ ํ์์ ๋๋ค. ํ๋ฒ์ watchlog_buffer_size๋งํผ ์ฝ์ด๋๋ฆฝ๋๋ค.
watchlog_buffer_size
Default : 131072(128k)Type : Intํ๋ฒ์ ์ฝ์ด๋ค์ด๋ ๋ก๊ทธ ์ฌ์ด์ฆ ์ ๋๋ค.
watchlog.LOGKEY
watchlog.LOGKEY.enabled=falsewatchlog.LOGKEY.file=watchlog.LOGKEY.words=watchlog.LOGKEY.silent=10000watchlog.LOGKEY.check_interval=1000ํ๋์ ๋ก๊ทธ ํ์ผ์ ๊ฐ์ํ๊ธฐ ์ํ ์ค์ ์ ๋๋ค. file์ ์ง์ ํ๊ณ ๊ฐ์ํ word๋ฅผ ์ฌ๋ฌ๊ฐ๋ฅผ ','์ด์ฉํ์ฌ ์ค์ ํฉ๋๋ค. check_interval๊ฐ๊ฒฉ์ผ๋ก ๋ก๊ทธ๋ฅผ๊ฐ์ํ๋ค๊ฐ ํค์๋๊ฐ ๋ฐ๊ฒฌ๋๋ฉด ๊ฒฝ๊ณ ํ๋ ๋ฐฉ์์ ๋๋ค. ํ๋ฒ ๊ฒฝ๊ณ ๊ฐ ๋๊ฐ๋ฉด silent ๋งํผ ๊ฒฝ๊ณ ๋ฅผ ๋ฉ์ถค๋๋ค.
gclog_enabled
Default : falseType : BooleanGC ๋ก๊ทธ ๋ชจ๋ํฐ๋ง์ ํ์ฑํํฉ๋๋ค.
7.17. ์ผ๋ฐ ๋ก๊ทธ & GC ๋ก๊ทธ ๋ชจ๋ํฐ๋ง
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 65
![Page 69: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/69.jpg)
gclog_file
Default : NullType : File NameGC ๋ก๊ทธ ํ์ผ๊ฒฝ๋ก๋ฅผ ์ง์ ํฉ๋๋ค.
gclog_check_interval
Default : 2000Type : IntGC ๋ก๊ทธ๋ฅผ ๊ฐ์ํ๋ ์ฃผ๊ธฐ์ ๋๋ค. ๋งค ๊ฐ๊ฒฉ์ผ๋ก ๋ก๊ทธ ํ์ผ์ ๊ธฐ๋ก์ด ์ถ๊ฐ๋์๋์ง ํ์ธํฉ๋๋ค.
gclog_word
Default : Full GCType : word๊ฐ์ํ ํค์๋๋ฅผ ๋ฑ๋กํฉ๋๋ค. ๊ธฐ๋ณธ์ Full GC๊ฐ ๋ฐ์ํ๋ฉด ์ ๋ณด๋ฅผ ์๋ฒ์ ์ ์กํ๊ณ ์ ์ฅํฉ๋๋ค.
7.18. ํ ํด๋ก์ง ๋งตtx_caller_meter_enabled
Default : falseType : Booleanํ ํด๋ก์ง๋งต์์ ์ธ๋ถ ํธ์ถ์ ๋ณด๋ฅผ ํํํฉ๋๋ค. mtrace_enabled=true ์ธ ๊ฒฝ์ฐ ๋์ํฉ๋๋ค.
sql_dbc_meter_enabled
Default : falseType : Booleanํ ํด๋ก์ง๋งต์์ SQL ํธ์ถ์ ๋ณด๋ฅผ ํํํฉ๋๋ค.
httpc_host_meter_enabled
Default : falseType : Booleanํ ํด๋ก์ง๋งต์์ httpc outbound ์ ๋ณด๋ฅผ ํํํฉ๋๋ค.
actx_meter_enabled
Default : falseType : Booleanํ ํด๋ก์ง๋งต์์ ์กํฐ๋ธ ํธ๋์ญ์ ์ํ๋ฅผ ํํํฉ๋๋ค.
7.18. ํ ํด๋ก์ง ๋งต
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 66
![Page 70: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/70.jpg)
Chapter 8. ๋ถ๊ฐ ์ ๋ณด
8.1. ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ณ ์ ์ฉ ์ ์ฐจ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ ์ค์ ์์น
SpringBoot ์์ ์คํฌ๋ฆฝํธ
Tomcat $CATALINA_HOME/bin/catalina.sh(bat)
JBoss 5.0 ์ดํ $JBOSS_HOME/bin/run.conf
JBoss 7.0 ์ด์ EAP6.0์ด์
$JBOSS_HOME/bin/standalone.conf(domain.conf)
WebLogic $WEBLOGIC_HOME/user_projects/domains/์ฌ์ฉ์๋๋ฉ์ธ/bin/startWebLogic.sh(bat)
WebSphere admin console ์ ์1. Server > Server Types > WebSphere application servers > ์๋ฒ ์ ํ2. ์๋ฒ Configurationํญ > Server Infrastructure์ Java and Process Management > Process definition ์ ํ3. Additional Properties์ Java Virtual Machine ์ ํ4. Generic JVM arguments ํธ์ง
Jeus7 $JEUS_HOME/domains/jeus_domain/config.xml
Jeus6 $JEUS_HOME/config/$hostname/JEUSMain.xml
Resin $RESIN_HOME/conf/resin.properties
Jetty watch_jetty.sh(bat)
play2 $PLAY_HOME/framework/build
Liberty ${server.config.dir}/jvm.options
8.1.1. SpringBoot์์ ์คํฌ๋ฆฝํธ jvm ์ต์ ์ -javaagent๋ฅผ ์ถ๊ฐํฉ๋๋ค.
java -javaagent:{whatap.agent.tracer-x.x.x.jar์ full path} -jar {application jar}
8.1.2. Tomcat on Windows ServiceWindows ๊ณ์ด OS์ binary๋ก ์ค์นํ์ฌ SYSTEM ๊ณ์ ์ผ๋ก ์คํํ ๊ฒฝ์ฐ, โjavaagentโ ๋ฐฉ์์ผ๋ก Tomcat์ ์คํํฉ๋๋ค.
โข โConfigure Tomcatโ ํ๋ก๊ทธ๋จ์ ์คํํ์ฌ Java ํญ ์ ํ > Java Options์ -javaagent ์ต์ ์ ์ง์ ํฉ๋๋ค.
8.1. ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ณ ์ ์ฉ ์ ์ฐจ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 67
![Page 71: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/71.jpg)
Figure 19. Configure Tomcat - Java
8.1.3. JBossJVM ์ต์ ์ -javaagent ๋ฐ -Djboss.modules.system.pkgs์ ์ค์ ์ ์ถ๊ฐํฉ๋๋ค.
JBOSS 7.0 ์ด์ EAP 6.0์ด์
-Djboss.modules.system.pkgs=whatap ์ถ๊ฐ
standalone.sh
#!/bin/sh########## WHATAP ############WHATAP_HOME=/home/ec2-user/whatapWHATAP_JAR=`ls ${WHATAP_HOME}/whatap.agent.tracer-*.jar | sort | tail -1`JAVA_OPTS="${JAVA_OPTS} -javaagent:${WHATAP_JAR} -Djboss.modules.system.pkgs=whatap "########## WHATAP ############
8.1.4. WebLogic์ค์ ์์น
$WEBLOGIC_HOME/user_projects/domains/์ฌ์ฉ์๋๋ฉ์ธ/bin/startWebLogic.sh(bat)
โข javaagent ํ๋กํผํฐ ์ค์ ์ ์ถ๊ฐํฉ๋๋ค.
8.1. ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ณ ์ ์ฉ ์ ์ฐจ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 68
![Page 72: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/72.jpg)
Figure 20. startWebLogic.sh
8.1.5. WebSphere1. ์น๋ธ๋ผ์ฐ์ ๋ฅผ ํตํด admin console์ ๋ก๊ทธ์ธ ํฉ๋๋ค.
2. Servers > Server Type > WebSphere application servers ๋ฉ๋ด๋ฅผ ํตํด ์์ด์ ํธ๋ฅผ ์ค์นํ ์๋ฒ๋ฅผ ์ ํํฉ๋๋ค.
8.1. ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ณ ์ ์ฉ ์ ์ฐจ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 69
![Page 73: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/73.jpg)
2. ์ ํ๋ ์๋ฒ Configuration ํญ์ Server Infrastructure์ Java and Process Management > Process definition ๋ฉ๋ด๋ฅผ ์ ํํฉ๋๋ค.
8.1. ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ณ ์ ์ฉ ์ ์ฐจ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 70
![Page 74: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/74.jpg)
3. Additional Properties์ Java Virtual Machine ๋ฉ๋ด๋ฅผ ์ ํํฉ๋๋ค.
4. WEBSHERE์ ์๋น์ค ํฌํธ๋ฅผ ํ์ธํฉ๋๋ค.
5. Configuration ํญ์ Generic JVM arguments์ -javaagent์ -Dwhatap.port๋ฅผ ์ถ๊ฐํฉ๋๋ค.
8.1. ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ณ ์ ์ฉ ์ ์ฐจ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 71
![Page 75: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/75.jpg)
8.1.6. Jeus1. Jeus ์ค์ ํ์ผ์์ JVM ์ต์ ์ ์ค์ ํฉ๋๋ค
์ค์ ํ์ผ ์์น
Jeus7 $JEUS_HOME/domains/jeus_domain/config.xml ์์ jvm-option์ -javaagent์ต์ ์ ์ถ๊ฐํฉ๋๋ค.
Jeus6 $JEUS_HOME/config/$hostname/JEUSMain.xml ์์ command-option์-javaagent ์ต์ ์ ์ถ๊ฐํฉ๋๋ค.
8.1. ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ณ ์ ์ฉ ์ ์ฐจ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 72
![Page 76: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/76.jpg)
Jeus 7 - config.xml
<domain> <servers> <server> <name>server1</name> <jvm-config> <jvm-option> -Xmx1024m -XX:MaxPermSize=128m -javaagent:/whatap/whatap.agent.tracer-0.8.1.jar </jvm-option> </jvm-config> </server> </servers></domain>
Figure 21. Jeus 6 - JEUSMain.xml
2. ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ์ฌ์์ ํฉ๋๋ค.
jdown && jboot
3. ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ ๋ก๊ทธ์ ์์ด์ ํธ ๋ก๊ทธ๋ฅผ ํตํด ์์ด์ ํธ๊ฐ ์ ์์ ์ผ๋ก ๊ธฐ๋ํ์๋์ง, ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์์๋์ง ํ์ธํฉ๋๋ค.
๋ก๊ทธ ํ์ผ ์์น
์์ด์ ํธ $WHATAP_HOME/logs/whatap-{SERVER_NAME}-{DATE}.log
JEUS6 $JEUS_HOME/logs/$NODE_NAME/JeusServer.log
JEUS7 $JEUS_HOME/domains/$HOST_NAME/servers/$NODE_NAME/logs/JeusServer.log
JEUS7
$JEUS_HOME/domains/$HOST_NAME/servers/$NODE_NAME/logs/JeusServer.log
8.1. ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ณ ์ ์ฉ ์ ์ฐจ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 73
![Page 77: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/77.jpg)
4. ์์ด์ ํธ๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ์ ์ข ๋ฅ์ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ์ ์๋น์ค container๋ช ์ ์ธ์ํ๋์ง ํ์ธํฉ๋๋ค.
์ํญ ์ฌ์ดํธ์์ whatap.name๊ณผ whatap.type์ ํ์ธํฉ๋๋ค.service.whatap.io ๋ก๊ทธ์ธ > ํ๋ก์ ํธ ์ ํ > ์๋ฒ ๋ฉ๋ด ์ ํ > ๋๋ณด๊ธฐ > Boot Environment ๋ฉ๋ด ์ ํ์ ํตํด ํ์ธํฉ๋๋ค.
whatap.type์๋ ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ์ ์ข ๋ฅ๊ฐ ๋ช ์๋์ด์ผ ํ๋ฉฐ, whatap.name์ ๋ง์ง๋ง ์์๊ฐ container์ด๋ฆ ์ด์ด์ผ ํฉ๋๋ค.
Figure 22. Boot Environment
8.1.7. JettyJVM ์ต์ ์ -javaagent์ -Dwhatap.port๋ฅผ ์ถ๊ฐํฉ๋๋ค.
8.1. ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ณ ์ ์ฉ ์ ์ฐจ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 74
![Page 78: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/78.jpg)
$JETTY_HOME/bin/jetty.sh ํ์ผ์ JVM ํ์ผ ์ต์ ์ ์ถ๊ฐํฉ๋๋ค.
Figure 23. jetty.sh
๋๋, ์ต์ ์ ์ ์ฉํ์ฌ Jetty๋ฅผ ๊ธฐ๋ํฉ๋๋ค.
Start Jetty without startup shell
$ java -javaagent:/home/vagrant/whatap/whatap.agent.tracer-0.3.0.jar -Dwhatap.port=8080 -jar start.jar &
8.1.8. Resin1. Resin ์ค์ ํ์ผ์์ JVM ์ต์ ์ ์ค์ ํฉ๋๋ค.
์ค์ ํ์ผ ์์น
Resin 4.x $RESIN_HOME/conf/resin.properties ์์ jvm-arg๋ฅผ ์ถ๊ฐํ์ฌ -javaagent์ต์ ์ ์ค์ ํฉ๋๋ค.
Resin4.x
(์ค๋ต)<resin xmlns="http://caucho.com/ns/resin"> <cluster id="web-tier"> <server-default> <jvm-arg>-Xmx1024m -XX:MaxPermSize=128m -javaagent:/whatap/whatap.agent.tracer-#.#.#.jar</jvm-arg> </server-default> ... </cluster></resin>(์ค๋ต)
2. ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ฅผ ์ฌ์์ ํฉ๋๋ค.
3. ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ ๋ก๊ทธ์ ์์ด์ ํธ ๋ก๊ทธ๋ฅผ ํตํด ์์ด์ ํธ๊ฐ ์ ์์ ์ผ๋ก ๊ธฐ๋ ๋์๋์ง ์๋ฌ๊ฐ ๋ฐ์ํ์ง ์์๋์ง ํ์ธํฉ๋๋ค.
๋ก๊ทธ ํ์ผ ์์น
์์ด์ ํธ $WHATAP_HOME/logs/whatap-{SERVER_NAME}-{DATE}.log
RESIN4.x $RESIN_HOME/log/jvm-app-#.log
8.1.9. Play$PLAY_HOME/framework/build ์ ์์ด์ ํธ ์ต์ ์ ์ค์ ํฉ๋๋ค. ๋ณ๋ ์ฌ์ฉํ๋ ์์/์ค์ง ์คํฌ๋ฆฝํธ๊ฐ ์๋ค๋ฉด ๊ทธ๊ณณ์ ์ ์ฉํฉ๋๋ค.
8.1. ์ ํ๋ฆฌ์ผ์ด์ ์๋ฒ๋ณ ์ ์ฉ ์ ์ฐจ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 75
![Page 79: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/79.jpg)
$PLAY_HOME/framework/build
#! /usr/bin/env sh
########## WHATAP START ############WHATAP_HOME=/apps/whatapWHATAP_JAR=`ls ${WHATAP_HOME}/whatap.agent.tracer-*.jar | sort | tail -1`JAVA_OPTS="${JAVA_OPTS} -Dwhatap.play2=2.2.6 -javaagent:${WHATAP_JAR} " โ ########## WHATAP END ############
if [ -z "${PLAY_VERSION}" ]; then PLAY_VERSION="2.2.6"
(์ค๋ต)
โ Play๋ ๊ธฐ๋ณธ ์ค์ ์ด์ธ -Dwhatap.play2=2.2.6 ์ต์ ์ด ์ถ๊ฐ๋์ด์ผ ํฉ๋๋ค.
8.1.10. Liberty${server.config.dir}/jvm.options ์ ์์ด์ ํธ ์ต์ ์ ์ค์ ํฉ๋๋ค. ํ์ผ์ด ์๋ ๊ฒฝ์ฐ ์ ๊ท๋ก ์์ฑ ํฉ๋๋ค.
/wasliberty/usr/servers/defaultServer/jvm.options
-javaagent:/app/whatap/whatap.agent.tracer-1.6.2.jar-Dorg.osgi.framework.bootdelegation=whatap.* โ
โ OSGI ํ๋ ์์ํฌ๋ฅผ ์ฌ์ฉํ๋ฏ๋ก ์ด๋ฅผ ์ํ ์ค์ ์ ์ถ๊ฐ ํฉ๋๋ค.
8.2. ํธํ์ฑ ๊ฒ์ฆํ
8.2.1. WASJava ๋ฒ์ ๋ณ๋ก ๋ค์ํ WAS์์ ์ํญ ์์ด์ ํธ ํธํ์ฑ ํ ์คํธ๋ฅผ ์ํํ ๊ฒฐ๊ณผ์ ๋๋ค.
ํ์๋์ง ์์ ๋ฒ์ ์ [email protected] ๋ก ๋ฌธ์ ๋ฐ๋๋๋ค.
Tomcat
WAS Ver. java se6 (jdk1.6.0) java se7 (jdk1.7.0_80) java se8 (jdk1.8.0_91)
tomcat6 ok ok ok
tomcat7 ok ok ok
tomcat8 not ok ok ok
tomcat9 not ok not ok ok
WAS Ver. open jdk6 (1.6.0_45) open jdk7 (1.7.0_80) open jdk8 (1.8.0_91)
tomcat6 ok ok ok
tomcat7 ok ok ok
tomcat8 not ok ok ok
tomcat9 not ok not ok ok
8.2. ํธํ์ฑ ๊ฒ์ฆํ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 76
![Page 80: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/80.jpg)
WAS Ver. ibm-java-x86_64-60 ibm-java-x86_64-71 ibm-java-x86_64-80
tomcat6 ok ok ok
tomcat7 ok ok ok
tomcat8 not ok ok ok
tomcat9 not ok not ok ok
Jeus
WAS Ver. java se6 (jdk1.6.0) java se7 (jdk1.7.0_80) java se8 (jdk1.8.0_91)
jeus6 ok ok not ok
jeus7 ok ok not ok
WAS Ver. open jdk6 (1.6.0_45) open jdk7 (1.7.0_80) open jdk8 (1.8.0_91)
jeus6 ok ok not ok
jeus7 ok ok not ok
WAS Ver. ibm-java-x86_64-60 ibm-java-x86_64-71 ibm-java-x86_64-80
jeus6 ok ok not ok
jeus7 ok ok ok
WebLogic
์ ๋ฐ์ดํธ ์์
WebSphere
WAS Ver. ibm-java-x86_64-60
8.5.5.10 ok
JBOSS
JDK 6 ์ด์ ๋ฒ์ ์์ ์ง์๋๋ JBOSS Comunity, EAP, Wildfly์ ๋ชจ๋ ๋ฒ์ ์ ์ง์ ํฉ๋๋ค.
WAS Ver. java se6 (jdk1.6.0) java se7 (jdk1.7.0_80) java se8 (jdk1.8.0_91)
jboss EAP 7.0 (standalone) not ok not ok ok
jboss EAP 6.1.1 (standalone) not ok ok not ok
jboss EAP 6.2 (standalone) not ok ok ok
jboss EAP 6.3 (standalone) not ok ok ok
jboss EAP 6.4 (standalone) not ok ok ok
jboss EAP 7.0 (domain) not ok not ok ok
jboss AS 5.1.0 (default) ok ok ok
8.2. ํธํ์ฑ ๊ฒ์ฆํ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 77
![Page 81: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/81.jpg)
WAS Ver. open jdk6 (1.6.0_45) open jdk7 (1.7.0_80) open jdk8 (1.8.0_91)
jboss EAP 7.0 (standalone) not ok not ok ok
jboss EAP 6.1.1 (standalone) not ok ok not ok
jboss EAP 6.2 (standalone) not ok ok ok
jboss EAP 6.3 (standalone) not ok ok ok
jboss EAP 6.4 (standalone) not ok ok ok
jboss EAP 7.0 (domain) not ok not ok ok
jboss AS 5.1.0 (default) ok ok ok
WAS Ver. ibm-java-x86_64-60 ibm-java-x86_64-71 ibm-java-x86_64-80
jboss EAP 7.0 (standalone) not ok not ok ok
jboss EAP 6.1.1 (standalone) not ok ok not ok
jboss EAP 6.2 (standalone) not ok ok ok
jboss EAP 6.3 (standalone) not ok ok ok
jboss EAP 6.4 (standalone) not ok ok ok
jboss EAP 7.0 (domain)
jboss AS 5.1.0 (default) ok ok ok
Jetty
WAS Ver. java se6 (jdk1.6.0) java se7 (jdk1.7.0_80) java se8 (jdk1.8.0_91)
Jetty 8.1.21 not ok ok ok
Jetty 9.2.18 not ok ok ok
Jetty 9.3.12 not ok not ok ok
WAS Ver. ibm-java-x86_64-60 ibm-java-x86_64-71 ibm-java-x86_64-80
Jetty 8.1.21 not ok ok ok
Jetty 9.2.18 not ok ok ok
Jetty 9.3.12 not ok not ok ok
8.2.2. DataSource์ํญ ์์ด์ ํธ๊ฐ WAS๊ฐ ์ ๊ณตํ๋ Connection pool์ ์ฌ์ฉํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ DB ํธ๋์ญ์ ํ๋กํ์ผ๋ง ๊ธฐ๋ฅ ์ฌ๋ถ์ ๋ํด ๊ฒ์ฆํ ๊ฒฐ๊ณผ์ ๋๋ค.
Tomcat
DB JDBC Driver ํ์ผ๋ช JDBC Ver. JDK Ver. ํธํ์ฑ
Mysql mysql-connector-java-5.1.39-bin.jar 5.1.39 JDK 1.7.0_80 ok
MariaDB mariadb-java-client-1.4.6.jar 1.4.6 JDK 1.7.0_80 ok
PostgreSQL postgresql-9.4.1209.jre7.jar 9.4.1209 JDK 1.7.0_80 ok
8.2. ํธํ์ฑ ๊ฒ์ฆํ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 78
![Page 82: Java Agent Guide - WhaTap Inc](https://reader033.vdocuments.site/reader033/viewer/2022042603/6262bd1ec508764f962e8c0a/html5/thumbnails/82.jpg)
AWS aurora mysql-connector-java-5.1.39-bin.jar 5.1.39 JDK 1.7.0_80 ok
Oracle ojdbc6-11.2.0.2.0.jar 11.2.0.2.0 JDK 1.7.0_80 ok
DB2 db2jcc.jar, db2jcc_license_cu.jar 1.4.2 JDK 1.7.0_80 ok
Jeus
DB JDBC Driver ํ์ผ๋ช JDBC Ver. JDK Ver. ํธํ์ฑ
Mysql mysql-connector-java-5.1.39-bin.jar 5.1.39 JDK 1.7.0_80 ok
MariaDB mariadb-java-client-1.4.6.jar 1.4.6 JDK 1.7.0_80 ok
PostgreSQL postgresql-9.4.1209.jre7.jar 9.4.1209 JDK 1.7.0_80 ok
AWS aurora mysql-connector-java-5.1.39-bin.jar 5.1.39 JDK 1.7.0_80 ok
Oracle ojdbc6-11.2.0.2.0.jar 11.2.0.2.0 JDK 1.7.0_80 ok
DB2 db2jcc.jar, db2jcc_license_cu.jar 1.4.2 JDK 1.7.0_80 ok
WebLogic
DB JDK Ver. ํธํ์ฑ
Mysql JDK 1.8.0_91 ok
WebSphere
DB JDBC Driver ํ์ผ๋ช JDBC Ver. JDK Ver. ํธํ์ฑ
Mysql mysql-connector-java-5.1.39-bin.jar 5.1.39 JDK 1.7.0_80 ok
Oracle ojdbc6-11.2.0.2.0.jar 11.2.0.2.0 JDK 1.7.0_80 ok
JBoss
DB JDBC Driver ํ์ผ๋ช JDBC Ver. JDK Ver. ํธํ์ฑ
Mysql mysql-connector-java-5.1.39-bin.jar 5.1.39 JDK 1.7.0_80 ok
MariaDB mariadb-java-client-1.4.6.jar 1.4.6 JDK 1.7.0_80 ok
PostgreSQL postgresql-9.4.1209.jre7.jar 9.4.1209 JDK 1.7.0_80 ok
AWS aurora mysql-connector-java-5.1.39-bin.jar 5.1.39 JDK 1.7.0_80 ok
Oracle ojdbc6-11.2.0.2.0.jar 11.2.0.2.0 JDK 1.7.0_80 ok
DB2 db2jcc.jar, db2jcc_license_cu.jar 1.4.2 JDK 1.7.0_80 ok
Jetty
DB JDBC Driver ํ์ผ๋ช JDBC Ver. JDK Ver. ํธํ์ฑ
Mysql mysql-connector-java-5.1.39-bin.jar 5.1.39 JDK 1.7.0_80 ok
Oracle ojdbc6-11.2.0.2.0.jar 11.2.0.2.0 JDK 1.7.0_80 ok
8.2. ํธํ์ฑ ๊ฒ์ฆํ
Copyright โ 2019 WhaTap Labs Inc. All rights reserved. 79