145 lines
3.5 KiB
Markdown
145 lines
3.5 KiB
Markdown
# 运维连接手册(本地 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 先确认账号和项目
|
||
|
||
```bash
|
||
gcloud auth list --filter=status:ACTIVE --format='value(account)'
|
||
gcloud config get-value project
|
||
```
|
||
|
||
如需切项目:
|
||
|
||
```bash
|
||
gcloud config set project gen-lang-client-0835616737
|
||
```
|
||
|
||
### 1.2 SSH(推荐 IAP)
|
||
|
||
```bash
|
||
gcloud compute ssh instance-20260221-064508 \
|
||
--zone asia-northeast1-b \
|
||
--project gen-lang-client-0835616737 \
|
||
--tunnel-through-iap
|
||
```
|
||
|
||
快速连通性测试:
|
||
|
||
```bash
|
||
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
|
||
|
||
```bash
|
||
sudo -u fzq1228 bash -lc "export PGPASSWORD=arb_engine_2026; psql -h 127.0.0.1 -U arb -d arb_engine -c 'SELECT now();'"
|
||
```
|
||
|
||
进入交互式:
|
||
|
||
```bash
|
||
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 客户端查看:
|
||
|
||
```bash
|
||
# 本机开隧道
|
||
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
|
||
```
|
||
|
||
新开终端连本地映射端口:
|
||
|
||
```bash
|
||
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`
|
||
|
||
常用检查:
|
||
|
||
```bash
|
||
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. 版本同步
|
||
|
||
查看服务器分支和提交:
|
||
|
||
```bash
|
||
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
|
||
```
|
||
|
||
服务器拉代码:
|
||
|
||
```bash
|
||
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_monitor` 和 `signal_engine` 日志是否有拒绝原因。
|
||
- 数据断流:
|
||
- 检查 `agg_trades` 最新 `time_ms`;
|
||
- 检查 `agg-collector`、`market-collector`、`liq-collector` 进程。
|