Search
moon
sun
πŸ“

v1

πŸ”Œ WebSocket μ—°κ²° κ·œμΉ™

Base URL

wss://your-domain.com/api/ws
Plain Text
볡사
ν”„λ‘œν† μ½œ
β€’
개발 ν™˜κ²½: ws:// (λΉ„μ•”ν˜Έν™”)
β€’
ν”„λ‘œλ•μ…˜: wss:// (TLS μ•”ν˜Έν™”, ν•„μˆ˜)

인증 방식

Query Parameter 방식 (ꢌμž₯)
wss://your-domain.com/api/ws/logs?token=Bearer_xxx
Plain Text
볡사
Initial Message 방식 (λŒ€μ•ˆ)
ws.onopen = () => { ws.send(JSON.stringify({ type: 'auth', token: 'Bearer_xxx' })); };
JavaScript
볡사

μ—°κ²° 수λͺ… μ£ΌκΈ°

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ μ—°κ²° μ‹œλ„ β”‚ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” 인증 μ‹€νŒ¨ β”‚ 인증 확인 │──────────────► μ—°κ²° κ±°λΆ€ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β”‚ 인증 성곡 β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ μ—°κ²° 성곡 │◄──┐ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β–Ό β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ 데이터 μˆ˜μ‹  β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β–Ό β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ μ—°κ²° μœ μ§€? β”‚β”€β”€β”€β”˜ Yes β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β”‚ No β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ μ—°κ²° μ’…λ£Œ β”‚ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ μž¬μ—°κ²° μ‹œλ„ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
Plain Text
볡사

πŸ“ μ‹€μ‹œκ°„ 둜그 슀트리밍

Endpoint

wss://your-domain.com/api/ws/services/{service_name}/logs
Plain Text
볡사

Path Parameters

νŒŒλΌλ―Έν„°
νƒ€μž…
ν•„μˆ˜
μ„€λͺ…
μ˜ˆμ‹œ
service_name
string
βœ…
μ„œλΉ„μŠ€λͺ…
"user-service"

Query Parameters

νŒŒλΌλ―Έν„°
νƒ€μž…
ν•„μˆ˜
μ„€λͺ…
κΈ°λ³Έκ°’
token
string
βœ…
인증 토큰
-
level
string
❌
둜그 레벨 ν•„ν„°
"error"
search
string
❌
λ©”μ‹œμ§€ 검색어
-

둜그 레벨 ν•„ν„°

레벨
μ„€λͺ…
μ‚¬μš© μ˜ˆμ‹œ
error
μ—λŸ¬ 둜그만
μž₯μ•  λͺ¨λ‹ˆν„°λ§ (κΈ°λ³Έκ°’)
warning
경고 둜그만
잠재적 문제 좔적
info
정보 둜그만
일반 λ™μž‘ 확인
debug
디버그 둜그만
개발/디버깅 μš©λ„
all
λͺ¨λ“  레벨
전체 둜그 슀트림
μ—°κ²° μ˜ˆμ‹œ
// μ—λŸ¬ 둜그만 μˆ˜μ‹  const errorWs = new WebSocket( 'wss://your-domain.com/api/ws/services/user-service/logs?token=Bearer_xxx&level=error' ); // λͺ¨λ“  둜그 μˆ˜μ‹  const allWs = new WebSocket( 'wss://your-domain.com/api/ws/services/user-service/logs?token=Bearer_xxx&level=all' ); // νŠΉμ • ν‚€μ›Œλ“œ 포함 둜그만 μˆ˜μ‹  const searchWs = new WebSocket( 'wss://your-domain.com/api/ws/services/user-service/logs?token=Bearer_xxx&search=database' );
JavaScript
볡사

λ©”μ‹œμ§€ 포맷

기본 ꡬ쑰
{ "type": "log", "service_name": "user-service", "timestamp": "2025-11-07T10:35:22.999Z", "data": { "log_id": "log_123abc", "level": "error", "message": "Database connection failed", "trace_id": "trace_abc123", "span_id": "span_002", "attributes": { "error.type": "ConnectionError", "database.host": "db-primary", "retry_count": 3 } } }
JSON
볡사
ν•„λ“œ μ„€λͺ…
ν•„λ“œ
νƒ€μž…
μ„€λͺ…
type
string
λ©”μ‹œμ§€ νƒ€μž… (항상 "log")
service_name
string
둜그λ₯Ό μƒμ„±ν•œ μ„œλΉ„μŠ€λͺ…
timestamp
string
둜그 λ°œμƒ μ‹œκ°„ (ISO 8601)
data.log_id
string
둜그 고유 ID
data.level
string
둜그 레벨
data.message
string
둜그 λ©”μ‹œμ§€
data.trace_id
string
μ—°κ΄€λœ 트레이슀 ID (μ˜΅μ…˜)
data.span_id
string
μ—°κ΄€λœ 슀팬 ID (μ˜΅μ…˜)
data.attributes
object
μΆ”κ°€ 메타데이터

πŸ”” μ‹€μ‹œκ°„ μ•Œλ¦Ό

Endpoint

wss://your-domain.com/api/ws/notifications
Plain Text
볡사

Query Parameters

νŒŒλΌλ―Έν„°
νƒ€μž…
ν•„μˆ˜
μ„€λͺ…
token
string
βœ…
인증 토큰
service
string
❌
νŠΉμ • μ„œλΉ„μŠ€λ§Œ ꡬ독
μ—°κ²° μ˜ˆμ‹œ
// λͺ¨λ“  μ„œλΉ„μŠ€μ˜ μ•Œλ¦Ό μˆ˜μ‹  const notificationWs = new WebSocket( 'wss://your-domain.com/api/ws/notifications?token=Bearer_xxx' ); // νŠΉμ • μ„œλΉ„μŠ€μ˜ μ•Œλ¦Όλ§Œ μˆ˜μ‹  const serviceNotificationWs = new WebSocket( 'wss://your-domain.com/api/ws/notifications?token=Bearer_xxx&service=user-service' );
JavaScript
볡사

μ•Œλ¦Ό μœ ν˜•

μœ ν˜•
μ„€λͺ…
심각도
error_spike
μ—λŸ¬μœ¨ 급증
critical
latency_spike
λ ˆμ΄ν„΄μ‹œ 급증
warning
service_down
μ„œλΉ„μŠ€ λ‹€μš΄
critical
deployment
μƒˆ 배포 μ™„λ£Œ
info
error_new
μƒˆλ‘œμš΄ μ—λŸ¬ λ°œμƒ
warning
threshold_exceeded
μž„κ³„κ°’ 초과
warning

λ©”μ‹œμ§€ 포맷

기본 ꡬ쑰
{ "type": "notification", "notification_id": "notif_abc123", "timestamp": "2025-11-07T10:35:22.123Z", "data": { "notification_type": "error_spike", "severity": "critical", "title": "μ—λŸ¬μœ¨ 급증 감지", "message": "user-service의 μ—λŸ¬μœ¨μ΄ 5%λ₯Ό μ΄ˆκ³Όν–ˆμŠ΅λ‹ˆλ‹€ (ν˜„μž¬: 12.3%)", "service_name": "user-service", "metadata": { "current_error_rate": 12.3, "threshold": 5.0, "affected_endpoints": [ "GET /api/users/:id", "POST /api/orders" ] }, "action_url": "/services/user-service/errors" } }
JSON
볡사

μ°Έκ³ 

πŸ”§ μ—°κ²° 관리
UI μ—…λ°μ΄νŠΈ μ „λž΅(둜그 μŠ€νŠΈλ¦¬λ°μ— λŒ€ν•΄)
μ•Œλ¦Όμ²˜λ¦¬ μ°Έκ³  λ‚΄μš©
⚠️ μ—λŸ¬ 처리
πŸ’» κ΅¬ν˜„ μ˜ˆμ‹œ