#!/bin/bash # 查看实时采集的数据 echo "════════════════════════════════════════════════════════════════" echo " 📡 实时数据监控 " echo "════════════════════════════════════════════════════════════════" echo "" # 获取当前价格 echo "📊 当前 BTC 价格:" docker compose exec ingestion python3 -c " import redis, orjson r = redis.Redis(host='redis', port=6379, decode_responses=False) messages = r.xrevrange('binance:raw:kline:5m', count=1) if messages: msg_id, fields = messages[0] data = orjson.loads(fields[b'data']) k = data['k'] print(f\" \${float(k['c']):>12,.2f} (最新)\") print(f\" \${float(k['h']):>12,.2f} (5分钟最高)\") print(f\" \${float(k['l']):>12,.2f} (5分钟最低)\") print(f\" 成交量: {float(k['v']):.2f} BTC\") else: print(' 数据加载中...') " 2>/dev/null echo "" echo "─────────────────────────────────────────────────────────────────" echo "" # 数据流状态 echo "📈 数据流状态:" for stream in "binance:raw:kline:5m" "binance:raw:kline:15m" "binance:raw:kline:1h" "binance:raw:trade" "binance:raw:depth:20"; do count=$(docker exec tradus-redis redis-cli XLEN $stream) name=$(echo $stream | cut -d: -f3-) printf " %-15s: %'6d 条消息\n" "$name" "$count" done echo "" echo "─────────────────────────────────────────────────────────────────" echo "" # 服务状态 echo "🚀 服务状态:" docker compose ps | grep -E "(tradus-redis|tradus-ingestion)" | awk '{print " "$1": "$6}' echo "" echo "════════════════════════════════════════════════════════════════"