giip
SES Proposal
3 min read

์„œ๋น„์Šค ํŒจํ„ด ์ž๋™ ๋ฐœ๊ฒฌ ๊ฐ€์ด๋“œ

๋„คํŠธ์›Œํฌ/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)
Typeprogram(DB ์ปค๋„ฅ์…˜์—์„œ ๊ด€์ฐฐ) ๋˜๋Š” process(netstat์—์„œ ๊ด€์ฐฐ) ๋ฐฐ์ง€
Seen Count๊ด€์ฐฐ๋œ ํšŸ์ˆ˜(occurrence_count)
Statusโœ… Pattern(์ด๋ฏธ ๋“ฑ๋ก๋จ) ๋˜๋Š” Not enabled(๋ฏธ๋“ฑ๋ก)
Action๋ฏธ๋“ฑ๋ก์ด๋ฉด Enable, ๋“ฑ๋ก๋จ์ด๋ฉด Disable ๋ฒ„ํŠผ

ํ‘œ ํ•˜๋‹จ์— ์ „์ฒด ๋ฐœ๊ฒฌ ๊ฑด์ˆ˜์™€ ๊ทธ์ค‘ ํ™œ์„ฑํ™”(๋“ฑ๋ก)๋œ ๊ฑด์ˆ˜๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

๐Ÿ› ๏ธ ํŒจํ„ด ํ™œ์„ฑํ™”/๋น„ํ™œ์„ฑํ™” ๋ฐฉ๋ฒ•

  1. ๋ชฉ๋ก์—์„œ ์›ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜/ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค(๊ฒ€์ƒ‰์ฐฝ์œผ๋กœ ์ขํžˆ๊ธฐ ๊ฐ€๋Šฅ).
  2. ๋ฏธ๋“ฑ๋ก(Not enabled) ํ•ญ๋ชฉ์ด๋ฉด Enable ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค โ€” ํ˜„์žฌ ํ”„๋กœ์ ํŠธ(csn) ๋ฒ”์œ„์˜ Normal Service ํŒจํ„ด์œผ๋กœ ์ฆ‰์‹œ ์ถ”๊ฐ€๋ฉ๋‹ˆ๋‹ค.
  3. ์ด๋ฏธ ๋“ฑ๋ก๋จ(โœ… Pattern) ํ•ญ๋ชฉ์ด๋ฉด Disable ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค โ€” ํ•ด๋‹น ํŒจํ„ด์„ ๋น„ํ™œ์„ฑํ™”(soft delete)ํ•ฉ๋‹ˆ๋‹ค.
  4. ์ฒ˜๋ฆฌ ์ค‘์—๋Š” ๋ชจ๋“  Enable/Disable ๋ฒ„ํŠผ์ด ์ž ์‹œ ๋น„ํ™œ์„ฑํ™”๋˜๋ฉฐ, ์™„๋ฃŒ๋˜๋ฉด ์ƒ๋‹จ์— ์„ฑ๊ณต ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ๊ณ  ๋ชฉ๋ก์ด ์ž๋™์œผ๋กœ ์ƒˆ๋กœ๊ณ ์นจ๋ฉ๋‹ˆ๋‹ค.
  5. ์กฐ๊ฑด: 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 ๊ฐ€์ด๋“œ๊ฐ€ ์—†์œผ๋ฏ€๋กœ ํ•ต์‹ฌ์„ ์—ฌ๊ธฐ์— ๊ธฐ์ˆ ํ•ฉ๋‹ˆ๋‹ค.

์ปค๋งจ๋“œ์šฉ๋„์ฃผ์š” ํŒŒ๋ผ๋ฏธํ„ฐ
Net3dServicePatternDiscoverytKVS 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๊ฑด๋ฟ์ด๋ฉด ๋ฐฑ์—”๋“œ(PowerShell ConvertTo-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