GMC Infra Dashboard

System Ready
Update: 2026-03-08 05:27:17

Notification Center

×
Loading recent alerts...

GMC Admin Panel

Infrastructure Guide 개요 ×

현재 운영 구조는 3대 서버 + 임시 s4 기준으로 봅니다. s3(devbox)는 GCP 보안 모니터링 이슈로 중지 상태일 수 있고, 지원 답변 후 복구되면 s4(gmc-devbox2)는 삭제 대상입니다. 제어 전에 서버 카드와 프로젝트 탭으로 범위를 먼저 확인하세요.

SERVER 1 · 마스터 / 퍼블릭 엣지

Hostnamegmc-master-server
위치us-west1-b · 136.109.235.47
역할대시보드, Traefik 공용 인그레스, 공유 인프라, Web3 Payout edge, Scutum Maestro 운영
주요 런타임monitor, traefik, maestro-web/worker, web3-payout-engine, portainer, shared postgres/redis, homepage
운영 메모이 서버를 건드리면 public route와 dashboard 자체에 영향이 갈 수 있습니다.

SERVER 3 · 데브박스 / 멀티 프로젝트

Hostnamegmc-devbox
위치asia-northeast3-a · 34.47.112.73
역할여러 프로젝트가 섞여 있는 devbox, 일부 prod 런타임과 실험성 스택 공존
주요 런타임Aegis, Maestro, Scutum/OKX, Web3 simulation, 각종 dev stack
운영 메모원격 개발 devbox입니다. GCP 보안 모니터링 이슈로 중지된 기간에는 직접 복구 시도보다 지원 답변을 먼저 확인하세요. bulk stop/start 전에는 prod/dev 여부를 먼저 확인합니다.

SERVER 4 · 임시 개발서버 (n2d-highmem-4 · 32GB · AMD)

Hostnamegmc-devbox2
위치asia-northeast3-a · 34.22.64.35 (내부: 10.178.0.18)
역할임시 개발서버. gmc-devbox(s3) TERMINATED/중지 기간 동안 운영
소스코드~/workspace/aegis_martin-pro · ~/workspace/scutum_maestro
Claude CodeSSH 호스트: danielkwon@gmc-devbox2.asia-northeast3-a.gmc-master-infra
운영 메모s3 복구 전까지의 임시 서버입니다. s3가 풀리면 작업자에게 이관 상태를 확인한 뒤 삭제하세요 (비용 절감). gcloud compute instances delete gmc-devbox2 --zone=asia-northeast3-a --project=gmc-master-infra

공용 라우팅 / 접근

DashboardHTTPS monitor.nanoplanc.com → s1 :5002
Public Edges1 Traefik → :80 / :443
Scutum/OKXHTTPS scutumbots.nanoplanc.com → s3 host proxy → localhost:5001
Scutum MaestroHTTPS scutum.nanoplanc.com → s1 Traefik → maestro-web
Admin Toolss1 Portainer :9000 / :9443 (관리용)

작업자 전달용 접속 정보입니다. 호스트/계정/명령까지만 안내하고, 개인키/비밀번호/토큰은 이 화면에 넣지 않는 기준을 유지합니다.

서버별 SSH 접속

⚠️ 2026-04-20 보안 정책 변경
s3 해킹 사고 이후 모든 서버의 직접 SSH(IP:22) 접속이 차단됐습니다.
GCP IAP 터널(--tunnel-through-iap)을 통한 접속만 허용합니다. 아래 gcloud 명령어를 사용하세요.
작업자에게 포트를 열어달라고 요청하지 말고, GCP IAM 계정 추가를 요청하세요.
이번 대시보드 변경은 접속 방식 변경이 아닙니다.
Claude Code, Codex, 기존 프로젝트 작업자는 아래 IAP 기반 gcloud/SSH 호스트 명령을 그대로 사용합니다.
s1 SSH⚠️ 직접 SSH 불가 포트 22 차단됨 — IAP 터널 사용 필수
s1 gcloudgcloud compute ssh gmc-master-server --zone=us-west1-b --project=gmc-master-infra --tunnel-through-iap
s2 gcloudgcloud compute ssh scutum-main-server --zone=asia-northeast3-a --project=scutum-maestro --tunnel-through-iap
s3 SSH⚠️ 직접 SSH 불가 포트 22 차단됨 — IAP 터널 사용 필수
s3 gcloudgcloud compute ssh gmc-devbox --zone=asia-northeast3-a --project=gmc-master-infra --tunnel-through-iap
s4 SSH⚠️ 직접 SSH 불가 포트 22 차단됨 — IAP 터널 사용 필수
s4 gcloudgcloud compute ssh gmc-devbox2 --zone=asia-northeast3-a --project=gmc-master-infra --tunnel-through-iap
s4 Claude CodeSSH 호스트: danielkwon@gmc-devbox2.asia-northeast3-a.gmc-master-infra · Identity: ~/.ssh/google_compute_engine

IAP 포트 포워딩 (로컬 개발)

사용법특정 포트를 로컬에서 접근할 때 — 서버에서 포트를 열 필요 없음
s1 포워딩gcloud compute ssh gmc-master-server --zone=us-west1-b --project=gmc-master-infra --tunnel-through-iap -- -L 로컬포트:localhost:서버포트 -N
s3 포워딩gcloud compute ssh gmc-devbox --zone=asia-northeast3-a --project=gmc-master-infra --tunnel-through-iap -- -L 로컬포트:localhost:서버포트 -N
s4 포워딩gcloud compute ssh gmc-devbox2 --zone=asia-northeast3-a --project=gmc-master-infra --tunnel-through-iap -- -L 로컬포트:localhost:서버포트 -N
예시-L 8085:localhost:8085 -N → 브라우저에서 localhost:8085 접근

작업자 GCP 접근 권한 추가 방법

IAM 추가GCP 콘솔 → IAM → 구성원 추가 → roles/iap.tunnelResourceAccessor 부여
프로젝트gmc-master-infra (s1, s3) / scutum-maestro (s2)
인증작업자가 gcloud auth login 후 위 gcloud 명령어 사용 가능
전달 원칙
접속 주소와 사용자 계정만 공유합니다.
개인 SSH 키, 콘솔 비밀번호, Telegram 토큰, 각 프로젝트 secret은 이 가이드에 넣지 않습니다.

s3(devbox)에서 검증한 프로젝트를 s1(master/public edge)에 올릴 때는 개발 실행 기준이 아니라 운영 배치 기준으로 다시 체크해야 합니다. Scutum Maestro 배포는 맥 로컬에서 make push-prod 또는 s3에서 배포 스크립트 사용.

s3 → s1 배치 체크리스트

배치 판단이 프로젝트가 public route 대상인지, s1이 맞는지 먼저 판단합니다.
도메인외부 공개가 필요하면 domain, Traefik label, TLS entrypoint를 같이 준비합니다.
포트s3의 임시 포트나 localhost 바인딩을 그대로 옮기지 말고, s1에서는 Traefik 뒤에 둘지 host port를 열지 결정합니다.
환경값env 파일 위치, secret, DB/Redis 연결 대상, callback URL을 운영 기준으로 다시 맞춥니다.
데이터volume, uploads, sqlite, local file cache가 있으면 먼저 백업/이전 여부를 확정합니다.
자동기동restart policy, 서버 재부팅 후 자동기동, healthcheck 유무를 확인합니다.
검증배포 후에는 container running/healthy, domain 200, 로그인/헬스체크, dashboard 표시까지 봅니다.

인프라 대시보드 배포

배포 위치s1: /home/danielkwon/gmc-monitor
기본 방식서버에서 파일 백업 → bash generate_dashboard.sh 검증 → docker compose -f docker-compose.yml up -d --build gmc-monitor 실행
로컬 5002IAP 포워딩으로 서버 로컬 5002를 확인해야 하면 sudo systemctl restart gmc-monitor.service 후 확인합니다.
주의현재 운영은 서버 기준 배포입니다. GitHub PR 흐름으로 바꾸려면 Claude/Codex 작업자 가이드와 배포 절차를 먼저 같이 갱신합니다.
확인docker ps, https://monitor.nanoplanc.com/dashboard, 정적 파일 200 응답을 확인합니다.
실무 팁
s3에서는 dev 프록시나 로컬 전용 설정으로 돌아가던 서비스가 많습니다.
s1에 올릴 때는 “컨테이너가 뜬다”보다 “도메인/헬스/TLS/자동기동이 운영 기준에 맞다”를 더 중요하게 봐야 합니다.

운영 원칙

서버 카드는 머신 상태(CPU/MEM/DSK/APP)를 보고, 아래 표는 컨테이너 인벤토리를 봅니다.
선택 프로젝트 중지/시작은 현재 보이는 서버 + 현재 선택한 프로젝트 범위에만 적용됩니다.
알림 패널은 최근 incident 피드이지 전체 로그 저장소가 아닙니다.
s3(devbox)는 원격 개발 서버라 SSH가 먼저 끊겨도 VM과 일부 웹 서비스는 살아 있을 수 있습니다. 현재처럼 GCP 보안 모니터링으로 중지된 경우에는 지원 답변을 먼저 확인하고, 임시 s4 사용 범위를 작업자에게 명확히 공유하세요.

작업자 전달용 체크

  • s1 작업 전에는 public route 영향 여부를 먼저 전달합니다.
  • s3 작업 전에는 dev/prod 혼재 여부, GCP 중지/복구 상태, SSH 민감도를 같이 공유합니다.
  • s4는 s3 복구 전까지의 임시 서버입니다. s3가 풀리면 작업자 이관 상태 확인 후 삭제합니다.
  • 모든 서버 접속은 IAP 터널(--tunnel-through-iap) 필수. 직접 IP:22 SSH는 차단됨. 포트 오픈 요청 대신 GCP IAM 계정 추가를 요청하세요.
  • 새 프로젝트를 s1에 올릴 때는 도메인, env, volume, healthcheck, restart policy를 한 묶음으로 전달합니다.

:root에 정의된 CSS 디자인 토큰입니다. 색상, 타이포그래피, 반경, 그림자를 일관되게 유지합니다.

Surface

--surface-base
#0d1117
--surface-raised
#161b27
--surface-overlay
#1c2235
--surface-sunken
#0a0d14

Border · Text

--border-subtle
#2a3347
--border-muted
#3d4f6b
--text-primary
#e6edf3
--text-secondary
#b0bec5
--text-muted
#7a8fa8
--text-soft
#96a8bb

Semantic Colors

--color-success
#3dba70
--color-success-light
#5dd68d
--color-danger
#ef4444
--color-danger-soft
#f87171
--color-info
#60a5fa
--color-info-alt
#3b82f6
--color-primary
#6366f1
--color-warning
#f59e0b

Brand · Group Colors

--group-gmc
GMC Core
--group-aegis
Aegis
--group-airdropper
Airdropper
--group-maestro
Maestro
--group-scutum
Scutum/OKX
--group-viguard
Viguard
--group-web3
Web3 Payout
--group-infra
인프라

Typography Scale

--text-xlServer Monitor20px
--text-lg컨테이너 상태16px
--text-mdmaestro-worker · Running14px
--text-baseAPI: python3 dashboard_server.py13px
--text-captionMEM · CPU · DSK 레이블12px
--text-sm배지 · 버튼 서브텍스트11px
--text-xs알림 카운터 · 메타정보10px

Border Radius

--radius-sm6px
--radius-md8px
--radius-lg12px
--radius-xl16px
--radius-pill999px

Shadows

--shadow-card
0 2px 8px rgba(0,0,0,0.4)
--shadow-elevated
0 8px 24px rgba(0,0,0,0.5)
--shadow-panel
0 20px 60px rgba(0,0,0,0.7)

서버 이력 ×

최근 작업/재부팅/자동복구 이력을 불러오는 중...

Dashboard Settings

×
공백으로 두면 현재 토큰 유지.
기기 지원 여부 확인 중...
아이폰은 Safari에서 이 페이지를 연 뒤 공유 버튼 → 홈 화면에 추가 후, 홈 화면 앱에서 푸시를 켤 수 있습니다.
gmc-master-server
Master Server #1
● RUNNING
136.109.235.47 · us-west1-b
40Running
0Stopped
40Total
CPU4코어/12.8%
MEM15.6GB/38.0%
DSK80%
APP정상
UP-
Click to filter this server
scutum-main-server
Limitech Server #2
● RUNNING
34.50.49.231 · asia-northeast3-a
-Running
-Stopped
-Total
CPU대기 중
MEM대기 중
DSK대기 중
APP정상
UP-
Click to filter this server
gmc-devbox
Dev Server #3
● RUNNING
34.47.112.73 · asia-northeast3-a
19Running
31Stopped
50Total
CPU4코어/95.8%
MEM15.6GB/63.3%
DSK57%
APP정상
UP-
Click to filter this server
gmc-devbox2
Dev Server #4 (임시)
● RUNNING
34.22.64.35 · asia-northeast3-a
-Running
-Stopped
-Total
CPU-
MEM-
DSK-
APP-
UP-
Click to filter this server

Incidents auto-worker 감지 이슈

심각도 제목 환경 상태 감지 시각 처리
로딩 중...
컨테이너 상태

gmc-master-server1번 운영서버

필터 / 전체
컨테이너상태CPU가동 시간제어
maestro-web healthy 17 minutes
maestro-worker running 17 minutes
airdropper-v2-web running About an hour
airdropper-v2-api healthy About an hour
aegis_frontend_green running About an hour
aegis_spot_worker_green running About an hour
aegis_backend_green running About an hour
airdropper-v2-worker running 2 hours
airdropper-v2-postgres healthy 2 hours
maestro-dev-web healthy 7 hours
maestro-dev-worker running 8 hours
maestro-scheduler running 12 hours
maestro-coach running 12 hours
maestro-dev-mysql healthy 23 hours
maestro-mysql healthy 23 hours
aegis_futures_worker_green running 28 hours
maestro-dev-coach running 22 hours
scutumbots-prod-app-1 healthy 2 days
scutumbots-prod-worker-1 running 2 days
maestro-dev-scheduler running 2 days
maestro-redis healthy 2 days
traefik running 5 hours
maestro-dev-redis healthy 2 days
aegis_frontend_dev running 4 days
web3-payout-engine-api-1 healthy 4 days
web3-payout-engine-worker-1 running 3 days
web3-payout-engine-watcher-1 running 4 days
web3-payout-engine-beat-1 running 4 days
scutumbots-mysql-prod-1 healthy 4 days
scutumbots-redis-prod-1 healthy 4 days
aegis_spot_worker_dev running 4 days
aegis_backend_dev running 4 days
aegis_futures_worker_dev running 4 days
web3-payout-engine-frontend-1 running 4 days
web3-payout-engine-certbot-1 running 4 days
web3-payout-engine-db-1 healthy 4 days
web3-payout-engine-redis-1 healthy 4 days
portainer running 4 days
shared-redis running 4 days
shared-postgres running 4 days

scutum-main-serverLimitech 서버

필터 / 전체
컨테이너상태CPU가동 시간제어

gmc-devbox3번 개발서버

필터 / 전체
컨테이너상태CPU가동 시간제어
aegis_backend_dev running 59 minutes
aegis_futures_worker_dev running 59 minutes
aegis_spot_worker_dev running 59 minutes
aegis_frontend_dev running 59 minutes
aegis_backend running 3 hours
aegis_spot_worker healthy 6 hours
aegis_futures_worker healthy 6 hours
aegis_frontend running 3 hours
ohlc-get stopped Exited 34 hours ago
coin-rank stopped Exited 34 hours ago
gmc-trading-rs healthy 34 hours
gmc-point-rs healthy 34 hours
gmc-admin-rs healthy 34 hours
gmc-oauth2-as healthy 34 hours
maestro-web stopped Exited 34 hours ago
maestro-worker stopped Exited 34 hours ago
maestro-redis stopped Exited 34 hours ago
maestro-mysql stopped Exited 34 hours ago
gmc-mms-rs healthy 34 hours
gmc-exchangeapi-rs healthy 34 hours
gmc-gap-rs healthy 34 hours
recursing_goldstine stopped Exited 3 days ago
exciting_cerf stopped Exited 3 days ago
scutum-okx-prod-worker-1 stopped Exited 34 hours ago
scutum-okx-prod-app-1 stopped Exited 34 hours ago
scutum-okx-redis-prod-1 stopped Exited 34 hours ago
scutum-okx-mysql-prod-1 stopped Exited 34 hours ago
web3-payout-engine-simulation_hybrid-1 stopped Exited 3 hours ago
web3-payout-engine-simulation_payout-1 stopped Exited 3 hours ago
web3-payout-engine-watcher-1 stopped Exited 3 hours ago
web3-payout-engine-frontend-1 stopped Exited 47 hours ago
web3-payout-engine-worker_default-1 stopped Exited 3 hours ago
web3-payout-engine-worker_health-1 stopped Exited 3 hours ago
web3-payout-engine-watchdog-1 stopped Exited 3 hours ago
web3-payout-engine-beat-1 stopped Exited 3 hours ago
web3-payout-engine-api-1 stopped Exited 3 hours ago
web3-payout-engine-worker_payout-1 stopped Exited 3 hours ago
web3-payout-engine-redis-1 stopped Exited 3 hours ago
web3-payout-engine-certbot-1 stopped Exited 3 hours ago
web3-payout-engine-db-1 stopped Exited 3 hours ago
aegis_postgres healthy 34 hours
aegis_redis healthy 34 hours
hedgeflow_frontend_1 stopped Exited 3 days ago
hedgeflow_bot_1 stopped Exited 3 days ago
hedgeflow_backend_1 stopped Exited 3 days ago
maestro-coach stopped Exited 34 hours ago
maestro-scheduler stopped Exited 34 hours ago
gmc-postgres healthy 34 hours
gmc-postgres-bootstrap stopped Exited 2 days ago
gmc-redis healthy 34 hours

gmc-devbox24번 임시 개발서버 (n2d-highmem-4 · 32GB)

필터 / 전체
컨테이너상태CPU가동 시간제어

📁 파일 브라우저

준비
이름 크기 수정일 권한