Files
CODE_ASSISTANT/5_django_backend/deploy/phoenix

Phoenix(Arize) — 도커 없이 -12 에 올리는 LLM 관측 서버

Langfuse 대신 쓰는 이유: -12 는 "컨테이너 안의 컨테이너"가 막혀 있어(CapEff a80425fb, unshare 불가) 도커를 못 씀. Phoenix 는 pip 패키지 하나 = 파이썬 프로세스 하나. 저장은 SQLite 파일(기본). 트레이스·트리·토큰·세션·사용자·평가 다 됨. 백엔드는 PHOENIX_HOST 만 주면 같은 OTLP span 을 여기로 보냄(apps/gateway/langfuse.py, OpenInference 속성 동봉).

1. 패키지 반입 (인터넷 되는 PC, 도커로 리눅스·py3.12 용 wheel 받음)

docker run --rm -v "$env:USERPROFILE\Desktop\phoenix-wheels:/out" python:3.12-slim-bookworm bash -c "pip download -q -d /out 'arize-phoenix[pg]'"
Compress-Archive "$env:USERPROFILE\Desktop\phoenix-wheels" "$env:USERPROFILE\Desktop\phoenix-wheels.zip"   # 확장자 .txt 로 바꿔 메일

2. -12 에서 설치·기동

cd /www && unzip -oq phoenix-wheels.zip && mkdir -p /www/phoenix && cd /www/phoenix
python3 -m venv .venv && .venv/bin/pip install --no-index --find-links /www/phoenix-wheels 'arize-phoenix[pg]'
bash /www/abap-ito/code-assistant/5_django_backend/deploy/phoenix/run.sh      # nohup 으로 8915 에 뜸. 재부팅 후에도 이걸로
curl -s http://127.0.0.1:8915/healthz

run.sh 가 하는 것: PHOENIX_PORT=8915 PHOENIX_WORKING_DIR=/www/phoenix/dataphoenix serve. 로그 /www/phoenix/phoenix.log. 고객사 PostgreSQL 에 두고 싶으면 run.sh 의 PHOENIX_SQL_DATABASE_URL 주석 풀고 채움(스키마 phoenix).

3. 백엔드 연결

Phoenix 는 protobuf 로만 받아서 백엔드 venv 에 opentelemetry-proto(+protobuf) 가 있어야 함 — wheel 은 같은 묶음에 들어 있음.

  • -12: cd /www/abap-ito/code-assistant/5_django_backend && .venv/bin/pip install --no-index --find-links /www/phoenix-wheels opentelemetry-proto.envPHOENIX_HOST=http://127.0.0.1:8915bash deploy.sh
  • -13: wheel 2개만 따로(otel-proto-wheels.zip, 400KB) → cd /www/abap-ito/abap-specgen/web/BE/code && .venv/bin/pip install --no-index --find-links /www/otel-proto-wheels opentelemetry-protobare/.envPHOENIX_HOST=http://10.196.81.34:8915run.sh restart
  • 웹 UI: 고객사 PC 에서 http://10.196.81.34:8914/phoenix/ — 백엔드(8914)가 중계(apps/gateway/phoenix_proxy.py). 바깥에서 -12 로 오는 포트가 8914 뿐이라(8913/8915 는 다른 서비스) 이렇게 감. 브라우저가 비번 물으면 .envPHOENIX_UI_PASSWORD(아이디 아무거나). 프로젝트 codeassist / abap-specgen 로 나뉨

운영

  • 인증 기본 꺼짐(사내망). 켜려면 run.sh 에 PHOENIX_ENABLE_AUTH=true PHOENIX_SECRET=<랜덤32자> — 첫 로그인 admin@localhost / admin
  • 중지 pkill -f "phoenix serve". 데이터는 /www/phoenix/data/ (SQLite) — 백업은 그 폴더 복사
  • 백엔드는 Phoenix 죽어 있어도 멀쩡(전송 실패는 warning 로그만)