# 故障排查命令

## 服务状态

```bash
kubectl -n game-platform get pods -o wide
kubectl -n game-platform describe pod <pod-name>
kubectl -n game-platform logs deploy/merchant-gateway --tail=200
```

## 健康检查

```bash
curl http://127.0.0.1:8080/health
curl http://127.0.0.1:8080/ready
```

## Redpanda/Kafka 检查

```bash
rpk cluster info
rpk topic list
rpk topic consume order.ingest --num 5
```

## PostgreSQL 检查

```bash
psql -h 127.0.0.1 -U game -d order_db -c "select status, count(*) from bet_orders group by status;"
psql -h 127.0.0.1 -U game -d wallet_db -c "select count(*) from wallet_ledger;"
```

## ClickHouse 检查

```bash
clickhouse-client --query "select count(*) from game_dw.dwd_bet_orders where event_date=today()"
```

## 订单超时排查

```sql
select bet_order_id, status, display_status, updated_at
from bet_orders
where bet_order_id = '<订单号>';

select *
from order_timeout_tasks
where bet_order_id = '<订单号>'
order by next_retry_at desc;
```

## 判断原则

- 如果钱包账本已扣款成功但前端超时，不能直接退款，先查订单状态和补偿任务。
- 如果回调失败，优先查 callback-service 重试记录，不要改资金流水。
- 如果统计缺数据，优先查 warehouse-writer 和 ClickHouse，不要压交易库补大查询。
