์๋น์ค ํจํด ์๋ ๋ฐ๊ฒฌ ๊ฐ์ด๋
๋คํธ์ํฌ/DB ์ ์ ํ ๋ ๋ฉํธ๋ฆฌ(netstat, DB ์ปค๋ฅ์ )์์ ์ค์ ๋ก ๊ด์ฐฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ยทํ๋ก์ธ์ค ๋ชฉ๋ก์ ๋ณด์ฌ์ฃผ๊ณ , ํด๋ฆญ ํ ๋ฒ์ผ๋ก Normal Service ํจํด์ผ๋ก ๋ฑ๋กํ๊ฑฐ๋ ํด์ ํ ์ ์๋ ๊ด๋ฆฌ์ ํ๋ฉด์ ๋๋ค.
๐ ๊ฐ์
์๋น์ค ํจํด ์๋ ๋ฐ๊ฒฌ(Auto-Discovery) ํ์ด์ง๋ giipAgent๊ฐ ์์งํ ๋คํธ์ํฌ ์ฐ๊ฒฐ(netstat)๊ณผ DB ์ปค๋ฅ์ (db_connections) ํ ๋ ๋ฉํธ๋ฆฌ์์ ์ค์ ๋ก ๊ด์ฐฐ๋ ํ๋ก๊ทธ๋จ/ํ๋ก์ธ์ค ์ด๋ฆ์ ์ง๊ณํด ๋ณด์ฌ์ค๋๋ค. ์ด๋ฏธ Normal Service Patterns ํ์ด์ง์ ๋ฑ๋ก๋ ํจํด์ธ์ง ์ฌ๋ถ๋ฅผ ํ์ํ๋ฉฐ, ๋ฏธ๋ฑ๋ก ํญ๋ชฉ์ ๋ฒํผ ํ ๋ฒ์ผ๋ก ํจํด์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ์ด ํ๋ฉด์์ ํ์ฑํํ ํจํด์ Network Topology(sql3d) ํ๋ฉด์์ ํด๋น ํด๋ผ์ด์ธํธ๋ฅผ **Cyan(ํ๋์)**์ผ๋ก ํ์ํ๋ ๋ฐ ์ฐ์ ๋๋ค.
โ ๏ธ ์ด ํ๋ฉด์ ๊ด๋ฆฌ์ ์ ์ฉ์ ๋๋ค. ์ ๊ทผํ๋ ค๋ฉด **
uLevel >= 50**์ด ํ์ํฉ๋๋ค(์ฝ๋์ ์ง์ ์ง์ ๋ prop ๋ชจ๋ ๊ฐ). ๊ทธ ๋ฏธ๋ง ์ฌ์ฉ์๋ ํ์ผ๋ก ๋ฆฌ๋ค์ด๋ ํธ๋ฉ๋๋ค.
๐ ํ๋ฉด ๊ตฌ์ฑ
1. ์๋จ ํค๋
- ํ์ด์ง ์ ๋ชฉ: "โจ Auto-Discovery: Service Patterns".
- ์๋ด ๋ฌธ๊ตฌ: ๋ฐ๊ฒฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ ์ธํ๋ผ์ ๋คํธ์ํฌ/DB ์ฐ๊ฒฐ์์ ์์ผ๋ฉฐ, Enable์ ๋๋ฅด๋ฉด Normal Service ํจํด์ผ๋ก ์ถ๊ฐ๋๋ค๋ ์ค๋ช .
2. ๋ช ๋ น ๋ฐ
| ์์ | ์ค๋ช |
|---|---|
| ๐ Refresh ๋ฒํผ | ๋ฐ๊ฒฌ ๋ชฉ๋ก์ ์๋ฒ์์ ๋ค์ ๋ถ๋ฌ์ต๋๋ค. |
| ๊ฒ์์ฐฝ | pattern_value(์ ํ๋ฆฌ์ผ์ด์
/ํ๋ก์ธ์ค ์ด๋ฆ) ๊ธฐ์ค์ผ๋ก ๋ชฉ๋ก์ ์ค์๊ฐ ํํฐ๋งํฉ๋๋ค. |
| ๐ Manage Patterns ๋ฒํผ | /admin/service-patterns ํ์ด์ง๋ก ์ด๋ํด ๋ฑ๋ก๋ ํจํด์ ์ง์ ๊ด๋ฆฌํฉ๋๋ค. |
3. ๋ฐ๊ฒฌ ๋ชฉ๋ก ํ
| ์ปฌ๋ผ | ์ค๋ช |
|---|---|
| Application/Process | ๊ด์ฐฐ๋ ํ๋ก๊ทธ๋จ๋ช (program) ๋๋ ํ๋ก์ธ์ค๋ช (process) |
| Type | program(DB ์ปค๋ฅ์
์์ ๊ด์ฐฐ) ๋๋ process(netstat์์ ๊ด์ฐฐ) ๋ฐฐ์ง |
| Seen Count | ๊ด์ฐฐ๋ ํ์(occurrence_count) |
| Status | โ Pattern(์ด๋ฏธ ๋ฑ๋ก๋จ) ๋๋ Not enabled(๋ฏธ๋ฑ๋ก) |
| Action | ๋ฏธ๋ฑ๋ก์ด๋ฉด Enable, ๋ฑ๋ก๋จ์ด๋ฉด Disable ๋ฒํผ |
ํ ํ๋จ์ ์ ์ฒด ๋ฐ๊ฒฌ ๊ฑด์์ ๊ทธ์ค ํ์ฑํ(๋ฑ๋ก)๋ ๊ฑด์๊ฐ ํ์๋ฉ๋๋ค.
๐ ๏ธ ํจํด ํ์ฑํ/๋นํ์ฑํ ๋ฐฉ๋ฒ
- ๋ชฉ๋ก์์ ์ํ๋ ์ ํ๋ฆฌ์ผ์ด์ /ํ๋ก์ธ์ค๋ฅผ ์ฐพ์ต๋๋ค(๊ฒ์์ฐฝ์ผ๋ก ์ขํ๊ธฐ ๊ฐ๋ฅ).
- ๋ฏธ๋ฑ๋ก(Not enabled) ํญ๋ชฉ์ด๋ฉด Enable ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค โ ํ์ฌ ํ๋ก์ ํธ(csn) ๋ฒ์์ Normal Service ํจํด์ผ๋ก ์ฆ์ ์ถ๊ฐ๋ฉ๋๋ค.
- ์ด๋ฏธ ๋ฑ๋ก๋จ(โ Pattern) ํญ๋ชฉ์ด๋ฉด Disable ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค โ ํด๋น ํจํด์ ๋นํ์ฑํ(soft delete)ํฉ๋๋ค.
- ์ฒ๋ฆฌ ์ค์๋ ๋ชจ๋ Enable/Disable ๋ฒํผ์ด ์ ์ ๋นํ์ฑํ๋๋ฉฐ, ์๋ฃ๋๋ฉด ์๋จ์ ์ฑ๊ณต ๋ฉ์์ง๊ฐ ๋จ๊ณ ๋ชฉ๋ก์ด ์๋์ผ๋ก ์๋ก๊ณ ์นจ๋ฉ๋๋ค.
- ์กฐ๊ฑด: Disable์ ์ด ํ๋ฉด์์ ๋ฑ๋ก๋(๊ฐ์ csn ์์ ) ํจํด์๋ง ๊ฐ๋ฅํฉ๋๋ค. ๊ธ๋ก๋ฒ ํจํด(csn=0)์ด๋ ๋ค๋ฅธ ํ๋ก์ ํธ ์์ ํจํด์ Manage Patterns ํ์ด์ง์ ๊ถํ ๊ท์น์ ๋ฐ๋ฆ ๋๋ค.
๐ก ์ฐธ๊ณ
- ๋ฐ๊ฒฌ ๋ฐ์ดํฐ๋ ์ต๊ทผ 30๋ถ ์ด๋ด์ ์์ง๋
tKVS(netstat/db_connections) ๋ ์ฝ๋๋ฅผ ์ฐ์ ์ฌ์ฉํฉ๋๋ค. ์ต๊ทผ 30๋ถ๊ฐ ์์ง๋ ๋ฐ์ดํฐ๊ฐ ์ ํ ์์ผ๋ฉด(์: ์ ๊ท ํ๋ก์ ํธ, ์์ด์ ํธ ๋ฏธ์ค์น, ํ ์คํธ ํ๊ฒฝ) ์๊ฐ ์ ํ ์์ด ๊ฐ์ฅ ์ต๊ทผ 50๊ฑด์ ๋์ ๋ณด์ฌ์ค๋๋ค(ํด๋ฐฑ). - ๋ชฉ๋ก์๋
unknown,System,Idle๋ฑ ์๋ฏธ ์๋ ๊ฐ์ ์ ์ธ๋ฉ๋๋ค. - ๋ฐ๊ฒฌ ๋ชฉ๋ก์ ๋์ csn์ ์ํ ์๋ฒ(
tLSvr.CSn)์์ ์์ง๋ ๋ฐ์ดํฐ๋ง ์ง๊ณํฉ๋๋ค. ์๋ฒ์ giipAgent๊ฐ ์ค์น๋์ด netstat/DB ์ปค๋ฅ์ ํ ๋ ๋ฉํธ๋ฆฌ๋ฅผ ์ ์กํ๊ณ ์์ด์ผ ์ด ๋ชฉ๋ก์ ํญ๋ชฉ์ด ๋ํ๋ฉ๋๋ค. - Enable/Disable์ giipfaw(Azure Function) โ SQL Server ๊ฒฝ์ ๋ก ์ฆ์ ๋ฐ์๋๋ฉฐ, ์๋ฃ ํ ๋ชฉ๋ก์ด ์๋ ์๋ก๊ณ ์นจ๋ฉ๋๋ค.
API ์ฐธ์กฐ
์ด ํ์ด์ง๋ ์ธ ๊ฐ์ ๋์คํจ์น ์ปค๋งจ๋(fetchAzureCommand ๊ฒฝ์ )๋ก ๋ฐฑ์๋์ ํต์ ํฉ๋๋ค. ๋ณ๋ API ๊ฐ์ด๋๊ฐ ์์ผ๋ฏ๋ก ํต์ฌ์ ์ฌ๊ธฐ์ ๊ธฐ์ ํฉ๋๋ค.
| ์ปค๋งจ๋ | ์ฉ๋ | ์ฃผ์ ํ๋ผ๋ฏธํฐ |
|---|---|---|
Net3dServicePatternDiscovery | tKVS netstat/db_connections์์ ๋ฐ๊ฒฌ๋ ํ๋ก๊ทธ๋จ/ํ๋ก์ธ์ค ๋ชฉ๋ก ์กฐํ(๋ฑ๋ก ์ฌ๋ถ ํฌํจ) | csn |
Net3dServicePatternPut | ๋ฐ๊ฒฌ๋ ํญ๋ชฉ์ Normal Service ํจํด์ผ๋ก ๋ฑ๋ก(ํ์ฑํ) | csn, nspId(์ ๊ท๋ 0), pattern_type, pattern_value, display_name |
Net3dServicePatternDelete | ๋ฑ๋ก๋ ํจํด์ ๋นํ์ฑํ(soft delete) | csn, nspId |
- ์ธ ์ปค๋งจ๋ ๋ชจ๋
RstVal์ํ ํ๋๋ฅผ ํฌํจํด ์๋ตํ ์ ์์ต๋๋ค.RstVal = 200์ ์ฑ๊ณต,RstVal = 401์ ์ธ์ฆ ์คํจ(์ธ์ ๋ง๋ฃ),RstVal = 403์ ํด๋น ํ๋ก์ ํธ์ ๋ํ ๊ถํ ์์์ ๋ปํฉ๋๋ค. Net3dServicePatternDiscovery์ ์ ์ ์๋ต์pattern_value,pattern_type,occurrence_count,is_registered,nspIdํ๋๋ฅผ ๊ฐ์ง ํ์ ๋ฐฐ์ด์ ๋๋ค. ๊ฒฐ๊ณผ๊ฐ 1๊ฑด๋ฟ์ด๋ฉด ๋ฐฑ์๋(PowerShellConvertTo-Json) ํน์ฑ์ ๋ฐฐ์ด์ด ์๋ ๋จ์ผ ๊ฐ์ฒด๋ก ์ฌ ์ ์์ผ๋ฏ๋ก, ํด๋ผ์ด์ธํธ๋ ์ด๋ฅผ ์ ๊ทํํด ์ฒ๋ฆฌํฉ๋๋ค.
๋ฌธ์ ํด๊ฒฐ
| ์ฆ์ | ์์ธ | ํด๊ฒฐ |
|---|---|---|
| ์ ์ ์ฆ์ ํ์ผ๋ก ํ๊น | uLevel์ด 50 ๋ฏธ๋ง | ๊ด๋ฆฌ์ ๊ณ์ (๋ ๋ฒจ 50+)์ผ๋ก ๋ก๊ทธ์ธํ์ธ์. |
| "Unexpected token '<' ... is not valid JSON" ์ค๋ฅ | (2026-08-07 ์ด์ ๋ฒ์ ) ํ๋ฐํธ๊ฐ ์กด์ฌํ์ง ์๋ Next.js API ๋ผ์ฐํธ(/api/service-patterns/discovery)๋ฅผ ํธ์ถํ๋ ๊ฒฐํจ โ giip-issue #938์์ fetchAzureCommand ์ง์ ํธ์ถ๋ก ์์ ๋จ | ์ต์ ๋ฐฐํฌ์์๋ ๋ฐ์ํ์ง ์์ต๋๋ค. ์ฌ์ ํ ๋ณด์ธ๋ค๋ฉด ๋ฐฐํฌ๊ฐ ์ต์ ์ธ์ง ํ์ธํ์ธ์. |
| "Unauthorized" ์ค๋ฅ ๋ฉ์์ง | ์ธ์ ํ ํฐ ๋ง๋ฃ ๋๋ ์์ | ๋ค์ ๋ก๊ทธ์ธํ ๋ค ์๋ก๊ณ ์นจ์ ๋๋ฅด์ธ์. |
| "No applications discovered yet." | ๋์ ํ๋ก์ ํธ(csn) ์๋ฒ์์ ์ต๊ทผ netstat/DB ์ปค๋ฅ์ ํ ๋ ๋ฉํธ๋ฆฌ๊ฐ ์์ง๋์ง ์์ | ์๋ฒ์ giipAgent๊ฐ ์ค์นยท์คํ ์ค์ธ์ง ํ์ธํ๊ณ , ๋ฐ์ดํฐ ์์ง ํ ๋ค์ ์๋ํ์ธ์. |
| ๋ชฉ๋ก์ ์ ํญ๋ชฉ์ด ์ ๋ณด์ | ์ต๊ทผ 30๋ถ ๋ฐ์ดํฐ๊ฐ ์์ด ํด๋ฐฑ(์ต์ 50๊ฑด)๋ง ํ์ ์ค | ์ ์ ๋์์ ๋๋ค. ์ต๊ทผ 30๋ถ ๋ด ๋ฐ์ดํฐ๊ฐ ์์ด๋ฉด ๊ทธ ๋ฒ์๋ก ์ ํ๋ฉ๋๋ค. |
| ์๋จ ๊ฐ์ด๋ ๋ฒํผ(๐)์ด ์ ๋ณด์ | ๊ฐ์ด๋ ๋งคํ ๋๋ฝ(๊ตฌ๋ฒ์ ๋ฐฐํฌ) | ์ด ๊ฐ์ด๋๊ฐ ๋ฐฐํฌยท์ธ๋ฑ์ฑ๋๋ฉด ํ์๋ฉ๋๋ค. |
๋ฒ์ : 1.0
์ต์ข
์์ : 2026-08-07
์์ค ํ์ผ: giipv3/public/help/service-patterns-discovery.ko.md