arbitrage-engine/docs/OPS_CONNECTIONS.md

3.5 KiB
Raw Permalink Blame History

运维连接手册(本地 PostgreSQL + GCE

本手册记录项目线上关键连接信息:

  • 怎么连线上服务器;
  • 怎么连服务器本地数据库(当前生产数据源);
  • 线上项目目录和常用排查命令。

0. 固定信息

  • GCP Project ID: gen-lang-client-0835616737
  • 线上 VM: instance-20260221-064508
  • Zone: asia-northeast1-b
  • 线上项目目录: /home/fzq1228/Projects/arbitrage-engine
  • 线上数据库(服务器本地 PostgreSQL
    • Host: 127.0.0.1
    • Port: 5432
    • DB: arb_engine
    • User: arb
    • Password: arb_engine_2026

1. 连接线上服务器GCE

1.1 先确认账号和项目

gcloud auth list --filter=status:ACTIVE --format='value(account)'
gcloud config get-value project

如需切项目:

gcloud config set project gen-lang-client-0835616737

1.2 SSH推荐 IAP

gcloud compute ssh instance-20260221-064508 \
  --zone asia-northeast1-b \
  --project gen-lang-client-0835616737 \
  --tunnel-through-iap

快速连通性测试:

gcloud compute ssh instance-20260221-064508 \
  --zone asia-northeast1-b \
  --project gen-lang-client-0835616737 \
  --tunnel-through-iap \
  --command "hostname; whoami; uptime; pwd"

2. 连接服务器本地数据库(当前生产)

2.1 在服务器内直接 psql

sudo -u fzq1228 bash -lc "export PGPASSWORD=arb_engine_2026; psql -h 127.0.0.1 -U arb -d arb_engine -c 'SELECT now();'"

进入交互式:

sudo -u fzq1228 bash -lc "export PGPASSWORD=arb_engine_2026; psql -h 127.0.0.1 -U arb -d arb_engine"

2.2 从本机临时连SSH Tunnel

如果需要在本机 SQL 客户端查看:

# 本机开隧道
 gcloud compute ssh instance-20260221-064508 \
  --zone asia-northeast1-b \
  --project gen-lang-client-0835616737 \
  --tunnel-through-iap \
  -- -N -L 9432:127.0.0.1:5432

新开终端连本地映射端口:

PGPASSWORD=arb_engine_2026 psql -h 127.0.0.1 -p 9432 -U arb -d arb_engine -c "SELECT 1;"

3. 线上项目目录与运行状态

  • Repo root: /home/fzq1228/Projects/arbitrage-engine
  • Backend: /home/fzq1228/Projects/arbitrage-engine/backend
  • Frontend: /home/fzq1228/Projects/arbitrage-engine/frontend
  • 运行用户:fzq1228
  • 进程管理:pm2

常用检查:

cd /home/fzq1228/Projects/arbitrage-engine
pm2 list
pm2 logs --lines 100

重点进程:

  • signal-engine
  • paper-monitor
  • arb-api
  • agg-collector
  • market-collector
  • liq-collector
  • position-sync
  • risk-guard

4. 版本同步

查看服务器分支和提交:

sudo git -c safe.directory=/home/fzq1228/Projects/arbitrage-engine \
  -C /home/fzq1228/Projects/arbitrage-engine rev-parse --abbrev-ref HEAD
sudo git -c safe.directory=/home/fzq1228/Projects/arbitrage-engine \
  -C /home/fzq1228/Projects/arbitrage-engine log --oneline -1

服务器拉代码:

cd /home/fzq1228/Projects/arbitrage-engine
git pull origin codex/codex_dev

5. 常见故障排查

  • API 正常但策略不出信号:
    • signal-engine 日志;
    • 检查 strategies.status='running'
    • 检查 signal_indicators 最近 5 分钟是否持续写入。
  • 有信号但不开仓:
    • paper_trades 是否达到 max_positions
    • flip_threshold/entry_score 是否过高;
    • paper_monitorsignal_engine 日志是否有拒绝原因。
  • 数据断流:
    • 检查 agg_trades 最新 time_ms
    • 检查 agg-collectormarket-collectorliq-collector 进程。