DOCS/docs/guide/log-api-guide.md
happybell80 b756c9a616 docs: 51124 서버로 서비스 이전에 따른 문서 업데이트
- server-architecture.md:
  - skill-email, skill-news를 51124 서버로 이동
  - ChromaDB 추가
  - 51123 서버는 로그 저장(/mnt/hdd/logs/) 역할 명시

- log-api-guide.md:
  - skill-news 서비스 추가
  - 서비스 위치 정보 업데이트

- emergency-manual.md:
  - skill 서비스 재시작 방법 추가
  - 로그 정리 경로 명시

51124 서버로 모든 로빙 및 스킬 서비스 이전 반영
2025-07-29 19:06:56 +09:00

3.0 KiB

로그 API 사용 가이드

개요

이 문서는 로컬 개발자와 51124 서버에서 로빙 서비스들의 로그를 조회하는 방법을 안내합니다.

API 엔드포인트

  • URL: https://ro-being.com/admin/logs/{service}
  • 메소드: GET
  • 인증: Bearer Token (JWT)

사용 단계

1. 로그인하여 토큰 발급

# 로그인 요청
curl -X POST https://ro-being.com/admin/login \
  -H "Content-Type: application/json" \
  -d '{"password": "19800508"}'

# 응답 예시
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "token_type": "bearer"
}

2. 로그 조회

# 토큰을 환경변수에 저장
export TOKEN="발급받은_토큰"

# 로그 조회 (최근 50줄)
curl -H "Authorization: Bearer $TOKEN" \
  https://ro-being.com/admin/logs/rb10508_test

# 특정 라인 수 지정 (예: 100줄)
curl -H "Authorization: Bearer $TOKEN" \
  https://ro-being.com/admin/logs/rb10508_test?lines=100

사용 가능한 서비스명

  • rb10508_test - 로빙 테스트 서비스 (51124 서버)
  • rb8001 - 로빙 메인 서비스 (51124 서버)
  • rb10408 - 로빙 서비스 (51124 서버)
  • skill-email - 이메일 스킬 서비스 (51124 서버)
  • skill-news - 뉴스 스킬 서비스 (51124 서버)
  • frontend-base - 관리자 대시보드 (51123 서버)

응답 형식

{
  "logs": [
    "2025-07-28T02:10:12.932703068Z INFO: Log message 1",
    "2025-07-28T02:10:13.033248022Z INFO: Log message 2"
  ],
  "service": "rb10508_test",
  "container_name": "rb10508_test",
  "total_lines": 50
}

실제 사용 예시

로컬 개발자용 (bash)

#!/bin/bash
# log-viewer.sh

# 1. 로그인
RESPONSE=$(curl -s -X POST https://ro-being.com/admin/login \
  -H "Content-Type: application/json" \
  -d '{"password": "19800508"}')

TOKEN=$(echo $RESPONSE | python3 -c "import sys, json; print(json.load(sys.stdin)['access_token'])")

# 2. 로그 조회
SERVICE=${1:-rb10508_test}
LINES=${2:-50}

curl -s -H "Authorization: Bearer $TOKEN" \
  "https://ro-being.com/admin/logs/$SERVICE?lines=$LINES" | \
  python3 -m json.tool

Python 예시

import requests
import json

# 로그인
login_response = requests.post(
    'https://ro-being.com/admin/login',
    json={'password': '19800508'}
)
token = login_response.json()['access_token']

# 로그 조회
headers = {'Authorization': f'Bearer {token}'}
logs_response = requests.get(
    'https://ro-being.com/admin/logs/rb10508_test?lines=100',
    headers=headers
)

logs_data = logs_response.json()
for log in logs_data['logs']:
    print(log)

주의사항

  1. 토큰은 24시간 후 만료됩니다
  2. 한 번에 최대 1000줄까지 조회 가능합니다
  3. 컨테이너가 중지된 경우 로그를 조회할 수 없습니다

문제 해결

  • 401 Unauthorized: 토큰이 만료되었거나 잘못되었습니다. 다시 로그인하세요.
  • 404 Not Found: 서비스명이 잘못되었거나 컨테이너가 존재하지 않습니다.
  • 500 Internal Server Error: 서버 문제입니다. 서버팀에 문의하세요.