2023. 5. 19. 10:06ใ์ธํ๋ฐ/์คํ๋ง ๋ถํธ - ํต์ฌ ์๋ฆฌ์ ํ์ฉ
์คํ๋ง & ํ๋ก๋ฉํ ์ฐ์ค (์ค์น, ์ค์ , ๊ธฐ๋ณธ ๊ธฐ๋ฅ) (tistory.com)
์ ๋ฒ ๊ธ์์ ํ๋ก๋ฉํ ์ฐ์ค๋ฅผ ์ค์นํ๊ณ ์คํ๋ง๊ณผ ์ฐ๋ํด์ ๋ฉํธ๋ฆญ์ ์์งํ๊ณ ๋ณด๊ดํ๋ ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ดค๋ค.
ํ๋ก๋ฉํ ์ฐ์ค๋ ๋ฉํธ๋ฆญ์ ์์งํ๊ณ ๋ณด๊ดํ๋ DB๋ก ํ๋ก๋ฉํ ์ฐ์ค๋ฅผ ์คํ๋ง๊ณผ ์ฐ๋ํ๊ธฐ ์ํด์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ค์ ์ ํตํด ํ๋ก๋ฉํ ์ฐ์ค ํฌ๋งท์ ๋ง๊ฒ ๋ฉํธ๋ฆญ์ ๋ง๋ค๊ณ , ํ๋ก๋ฉํ ์ฐ์ค๊ฐ ์ด ๋ฉํธ๋ฆญ์ ์ฃผ๊ธฐ์ ์ผ๋ก ์์งํ๋๋ก ์ค์ ํด์ฃผ๋ฉด ๋๋ค.
ํ๋ก๋ฉํ ์ฐ์ค๊ฐ DB๋ผ๋ฉด ์ด์ ๊ทธ๋ผํ๋๋ ์ด DB์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์์ ์ฌ์ฉ์๊ฐ ๋ณด๊ธฐ ํธํ๊ฒ ๋ณด์ฌ์ฃผ๋ ๋์๋ณด๋์ด๋ค.
1๏ธโฃ ๊ทธ๋ผํ๋ ์ค์น
Download Grafana | Grafana Labs
์์ ๋งํฌ๋ฅผ ํ๊ณ ๋ค์ด๊ฐ์ ์์ ์๊ฒ ๋ง๋ OS ๋ฅผ ์ ํํด์ ๋ค์ด๋ก๋ ํด์ฃผ๋ฉด ๋๋ค.
๊ทธ ํ ์์ถ์ ํ๊ณ ๊ทธ ํด๋์์ bin ํด๋๋ก ์ด๋ํด์ grafana-server.exe๋ฅผ ์คํํด์ฃผ๋ฉด๋๋ค.
(์คํํ๋ ค๊ณ ํ๋ฉด window์ pc ๋ณดํธ ํ๋ฉด ๊ฒฝ๊ณ ์ฐฝ์ด ๋ฐ๊ฑด๋ฐ '์ถ๊ฐ์ ๋ณด' ํด๋ฆญ ํ ๋ค์ ์คํํด์ฃผ๋ฉด ๋๋ค.
์คํํ ๋ค์์ localhost:3000์ผ๋ก ๋ค์ด๊ฐ๋ฉด
์ฒ์์ ๋ก๊ทธ์ธ ํ๋ฉด์ด ๋ฐ๊ฑด๋ฐ id: admin, pwd : admin ์ผ๋ก ๋ค์ด๊ฐ๋ฉด ๋๋ค
(์ฐ์ต์ด๋๊น ๊ทธ๋ฅ ๋น๋ฐ๋ฒํธ ๋ค์ ์ค์ ํ๋ผ๊ณ ํ ๋ skipํ๋ค)
๊ทธ ๋ค์์ ๋ฉ์ธ ํ๋ฉด์ด ๋ณด์ด๋ฉด ์ค์น ์ฑ๊ณต์ด๋ค.
2๏ธโฃ ๊ทธ๋ผํ๋ ์ฐ๋
๊ทธ๋ผํ๋๋ ํ๋ก๋ฉํ ์ฐ์ค๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ณ ๋ณด์ฌ์ฃผ๋ ์ญํ ์ ํ๋ค.
๋์ ๋ฐฉ์์ ์๊ฐํด๋ณด๋ฉด
1. ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ง์ดํฌ๋ก๋ฏธํฐ๊ฐ ํ๋ก๋ฉํ ์ฐ์ค ํฌ๋งท์ ๋ง์ถ์ด ๋ฉํธ๋ฆญ์ ์ธก์ ํ๋ค.
2. ํ๋ก๋ฉํ ์ฐ์ค๊ฐ ๋ฉํธ๋ฆญ์ ์ง์์ ์ผ๋ก ์์งํด์ ์ ์ฅํ๋ค.
3. ๊ทธ๋ผํ๋๊ฐ ํ๋ก๋ฉํ ์ฐ์ค๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฅผ ์กฐํํด์ ๋์๋ณด๋๋ก ๋ณด์ฌ์ค๋ค.
๊ทธ๋ผํ๋๊ฐ ๋์๋ณด๋๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด์๋ ๊ทธ๋ผ ๋ฐ์ดํฐ๊ฐ ํ์ํ๋ฐ ๋จผ์ ๊ทธ๋ผํ๋๊ฐ ํ๋ก๋ฉํ ์ฐ์ค๋ฅผ ๋ฐ์ดํฐ์์ค๋ก ์ฌ์ฉํด์ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ด์์ผ ํ๋ค.
ํ๋ก๋ฉํ ์ฐ์ค ๋ฐ์ดํฐ ์์ค ์ถ๊ฐ
- ์ผ์ชฝ์ Configuration ์ ๋ฒํผ์ ํด๋ฆญํ๊ณ Data sources ๋ฅผ ์ ํํ๋ค.
๊ทธ๋ฌ๋ฉด ์์ ํ๋ฉด์ ๋ณผ ์ ์๋๋ฐ Add data source ๋ฅผ ์ ํํ๋ค.
์ฐ๋ฆฌ๋ Data Source๋ฅผ ํ๋ก๋ฉํ ์ฐ์ค ์ฌ์ฉํ๊ธฐ๋ก ํ์ผ๋ฏ๋ก ํ๋ก๋ฉํ ์ฐ์ค๋ฅผ ์ ํํ๋ค.
ํ๋ก๋ฉํ ์ฐ์ค ๋ฐ์ดํฐ ์์ค ์ค์ ์ผ๋ก๋ url์ http://localhost:9090 (ํ๋ก๋ฉํ ์ฐ์ค url ์ ์ ๋ ฅํด์ฃผ๋ฉด ๋๋ค.)
์ง๊ธ์ ๋ ๊ณ ์น ๋ถ๋ถ์ด ์๊ธฐ ๋๋ฌธ์ ๊ทธ๋๋ก ๋๊ณ Save & test ์ ํํ๊ณ ๋๋ฉด ์ค์ ์ด ์๋ฃ๋๋ค.
3๏ธโฃ ๊ทธ๋ผํ๋ ๋์๋ณด๋ ๋ง๋ค๊ธฐ
๊ทธ๋ผํ๋ ๋์๋ณด๋๋ฅผ ๋ง๋ค๊ธฐ ์ํด์๋ ์ฐ์ ์ ํ๋ฆฌ์ผ์ด์ , ํ๋ก๋ฉํ ์ฐ์ค ,๊ทธ๋ผํ๋ ๋ชจ๋ ์คํ๋๊ณ ์๋ ์ํ์ฌ์ผ ํ๋ค. (๋น์ฐํ ์๊ธฐ๊ธด ํจ)
* ๋์๋ณด๋ ๋ง๋ค๊ธฐ
์ผ์ชฝ์ New -> New Dashboard ์ ํ
์ฐ์ธก ์๋จ์ Save dashboard๋ฅผ ์ ํ
name : hello dashboard
ํ๊ณ ์ ์ฅ ๋๋ฅด๋ฉด ๋์๋ณด๋๊ฐ ์ ์ฅ๋๋ค.
์ผ์ชฝ ๋ฉ๋ด์์ Dashboards๋ฅผ ํด๋ฆญํ๊ณ ๋ณด๋ฉด
์์์ ์ ์ฅํ๋ ๋์๋ณด๋๊ฐ ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
* ํจ๋ ๋ง๋ค๊ธฐ
์ด์ ์๋ก ๋ง๋ ๋์๋ณด๋์ ํจ๋์ ์ถ๊ฐํ ๊ฑด๋ฐ Add a new panel ๋ฉ๋ด ์ ํํ๋ค.
๊ทธ๋ฌ๋ฉด ์ด๋ฐ ๊ธฐ๋ณธ ํ๋ฉด์ ํ์ธํ ์ ์๋๋ฐ ์ฌ๊ธฐ์ Builder ํญ์์ Code ํญ์ผ๋ก ๋ฐ๊ฟ์ฃผ๊ณ
Enter a PromQL query... ์ด ๋ถ๋ถ์ ๋ฉํธ๋ฆญ์ ์ ๋ ฅํด์ ๊ทธ๋ํ๋ฅผ ๋ง๋ค ์ ์๋ค.
* CPU ์ฌ์ฉ๋ ๊ทธ๋ํ ๋ง๋ค๊ธฐ
Enter a PromQL query... ์ด๋ผ๋ ๋ถ๋ถ์ system_cpu_usage(์์คํ ์ CPU ์ฌ์ฉ๋) , process_cpu_usage(JVM ํ๋ก์ธ์ค CPU ์ฌ์ฉ๋) ๋ฅผ ์ ๋ ฅํ๊ณ Run quries ๋ฒํผ์ ์ ํํ๋ฉด ๋๋ค.
๊ทธ๋ํ์ ์ด๋ฆ์ ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด Options ๋ฅผ ์ ํํ๊ณ Legend๋ฅผ ์ ํํ๊ณ Custom์ผ๋ก ๋ฐ๊ฟ์ค ๋ค์์ ๊ฐ๊ฐ system cpu, process cpu๋ฅผ ์ ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
๊ทธ๋ฆฌ๊ณ Save -> Apply ํด์ฃผ๋ฉด ๋์๋ณด๋์ ์๋ก์ด ํจ๋์ด ์ถ๊ฐ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
* ๋์คํฌ ์ฌ์ฉ๋ ์ถ๊ฐํ๊ธฐ
์์ ๊ฐ์ด ํจ๋์ ์ถ๊ฐํด์ฃผ๊ณ ,
Title : ๋์คํฌ ์ฌ์ฉ๋
PromQL
- disk_total_bytes
: ์ ์ฒด ์ฉ๋
- disk_total_bytes - disk_free_bytes
: ์ฌ์ฉ ์ฉ๋ (์ ์ฒด ๋์คํฌ ์ฉ๋ - ๋จ์ ๋์คํฌ ์ฉ๋)
๊ทธ๋ํ ๋ฐ์ดํฐ ์ฌ์ด์ฆ ๋ณ๊ฒฝ
์ค๋ฅธ์ชฝ ์ต์ ์ฐฝ์ ๋ฐ์ผ๋ก ๋ด๋ฆฌ๋ค ๋ณด๋ฉด Standard-options -> Unit -> Data -> bytes(SI) ๋ฅผ ์ ํํด์ฃผ๋ฉด GB, TB ๋จ์๋ก ์ฝ๊ธฐ ํธํ๊ฒ ๋ฐ๋๋ค.
์ต์๊ฐ ๋ณ๊ฒฝ
Standard options -> Min ์ 0์ผ๋ก ์ ํํด์ฃผ๋ฉด ๊ทธ๋ํ๊ฐ 0๋ถํฐ ์์ํ๋๋ก ๋ฐ๋๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก Save -> Apply ํด์ฃผ๋ฉด ๋์๋ณด๋์ ์๋ก์ด ํจ๋์ด ์ถ๊ฐ๋๋ค.
4๏ธโฃ ๊ณต์ ๋์๋ณด๋
์์์ ๋์๋ณด๋๋ฅผ ๋ง๋ ๊ฒ์ฒ๋ผ ๋ฉํธ๋ฆญ์ ํ๋ํ๋ ์ถ๊ฐํด์ ๋์๋ณด๋๋ฅผ ๋ง๋ค ์ ์๋๋ฐ..
์ด๋ ๊ฒ ํ๋ํ๋ ๋ค ๋ง๋๋ ๊ฒ๋ ํ๋ค๊ธด ํ๋ค... ๐
๋ฐ๋ผ์ ๊ทธ๋ผํ๋๋ ์ด๋ฏธ ๋ง๋ค์ด์ง ๋์๋ณด๋๋ฅผ ๊ฐ์ ธ์์ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํด์ค๋ค.
์ ๋งํฌ๋ฅผ ํ๊ณ ๋ค์ด๊ฐ๋ฉด ๋ค๋ฅธ ์ฌ๋๋ค์ด ๋ง๋ ๋์๋ณด๋๊ฐ ๊ณต๊ฐ๋์ด ์๊ณ ์ด๋ฅผ ๊ฐ์ ธ์์ ์ฌ์ฉํ ์ ์๋ค!!
๊ฒ์์ฐฝ์ spring์ด๋ผ๊ณ ์น๋ฉด ๋ค์ํ ๋์๋ณด๋๋ฅผ ํ์ธํ ์ ์๋ค.
* ์คํ๋ง ๋ถํธ ์์คํ ๋ชจ๋ํฐ ๋์๋ณด๋
๋จผ์ Spring boot System monitor ๋์๋ณด๋๋ฅผ ๋ถ๋ฌ์์ ์ฌ์ฉํด๋ณผ ๊ฒ์ด๋ค.
์ ํ๋ฉด์์ Copy ID to clipboard๋ฅผ ํด๋ฆญํด์ ID๋ฅผ ๋ณต์ฌํด์ค๋ค.
๊ทธ๋ผํ๋ ๋์๋ณด๋ ํ๋ฉด์์ New -> Import ๋ฅผ ํ ๋ค์
๋ณต์ฌํ ID๋ฅผ ์ ๋ ฅํด์ค ๋ค์ Load ํด์ฃผ๋ฉด ๋๋ค.
๋์๋ณด๋๋ฅผ ํ์ธํด๋ณด๋ฉด ๊ฑฐ์ ๋๋ถ๋ถ์ ๋ฉํธ๋ฆญ์ด ๋์๋ณด๋์ ํํ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
์ฌ๊ธฐ์ ๋์๋ณด๋๋ฅผ ์์ ํ๊ณ ์ถ์ผ๋ฉด ์ค๋ฅธ์ชฝ ์๋จ์ ์ค์ ๋ฒํผ์ ์ ํํ ๋ค์ Make editable ์ ํํด์ฃผ๋ฉด ๋๋ค.
* Jetty ํต๊ณ -> Tomcat ํต๊ณ
๋ถ๋ฌ์จ ๋์๋ณด๋์์๋ Jetty๋ผ๋ ์น ์๋ฒ๋ฅผ ๊ธฐ์ค์ผ๋ก ํต๊ณ๋ฅผ ์์งํ๊ณ ์๊ธฐ ๋๋ฌธ์ ํฐ์บฃ์ผ๋ก ์์ ํด์ค์ผ ํ๋ค.
- Thread Config Max ํจ๋ ์ค์ ๋ณ๊ฒฝ
๊ธฐ์กด jetty_threads_config_max -> tomcat_threads_config_max_threads๋ก ๋ณ๊ฒฝํด์ค๋ค.
- Thread ํจ๋ ์ค์ ๋ณ๊ฒฝ
jetty_threads_current -> tomcat_threads_current_threads ๋ก ๋ณ๊ฒฝ
jetty_threads_busy -> tomcat_threads_busy_threads๋ก ๋ณ๊ฒฝ
jetty_threads_idle ์ ๊ฑฐ
jetty_threads_jobs ์ ๊ฑฐ
๋ค์ Save -> Apply ํด์ฃผ๋ฉด ์ถ๊ฐ๋ ๋์๋ณด๋๋ฅผ ํ์ธํ ์ ์๋ค.
* JVM(Micrometer) ๋์๋ณด๋
์๊น์ ๋์ผํ๊ฒ id ๋ณต์ฌํด์ฃผ๊ณ ๋์๋ณด๋์์ import ํด์ค๋ค.
์ด๋ ๊ฒ ๋ฏธ๋ฆฌ ์ ๋ง๋ค์ด์ง ๋์๋ณด๋๋ฅผ ํ์ฉํ๋ฉด ์ข ๋ ํธ๋ฆฌํ๊ฒ ๋ชจ๋ํฐ๋ง ํ๊ฒฝ์ ๊ตฌ์ฑํ ์ ์๋ค!