auto_trade_sys/docs/推荐系统日志和运行状态检查.md
薇薇安 9fe028d704 a
2026-01-27 10:36:56 +08:00

6.8 KiB
Raw Permalink Blame History

推荐系统日志和运行状态检查

问题描述

  1. 感觉没有推荐了:推荐系统可能没有正常运行
  2. recommendations_bot.log 是不是没用了:需要确认日志文件位置
  3. 推荐系统输出的日志在哪:需要确认日志路径
  4. recommendations-viewer 需要调整吗:需要检查前端是否需要调整

推荐系统日志配置

1. 日志文件位置

代码位置trading_system/recommendations_main.py

日志文件

  • 默认:recommendations_bot.log(项目根目录)
  • 可通过环境变量 RECOMMEND_LOG_FILE 覆盖

日志输出

  1. 文件日志recommendations_bot.log(项目根目录)
  2. 控制台输出stdout如果通过supervisor运行会被supervisor捕获
  3. Redis日志写入Redis用于前端日志监控service="recommendations"

2. Supervisor配置

当前情况

  • supervisor_account.py 只处理交易账户的配置(auto_sys_acc1, auto_sys_acc2等)
  • 推荐服务没有自动生成supervisor配置

推荐服务可能的运行方式

  1. 手动运行python -m trading_system.recommendations_main
  2. Supervisor手动配置需要手动创建supervisor配置文件
  3. 未运行:推荐服务可能没有启动

检查推荐系统运行状态

1. 检查进程

# 检查推荐服务进程
ps aux | grep recommendations_main

# 检查supervisor管理的推荐服务
supervisorctl status | grep recommend

2. 检查日志文件

# 检查项目根目录的日志文件
ls -lh /www/wwwroot/autosys_new/recommendations_bot.log

# 查看日志内容
tail -f /www/wwwroot/autosys_new/recommendations_bot.log

# 检查supervisor日志如果通过supervisor运行
# 需要找到推荐服务的supervisor配置查看stdout_logfile和stderr_logfile

3. 检查Redis中的推荐数据

# 检查Redis中的推荐数据
redis-cli
> KEYS recommendations:*
> GET recommendations:snapshot
> HGETALL recommendations:realtime

4. 检查API接口

# 检查推荐API是否返回数据
curl http://asapi.deepx1.com/api/recommendations?type=realtime

推荐系统配置

1. 环境变量

推荐系统支持以下环境变量:

  • RECOMMEND_SCAN_INTERVAL_SEC扫描间隔默认60秒
  • RECOMMEND_MIN_SIGNAL_STRENGTH最小信号强度默认5
  • RECOMMEND_MAX_RECOMMENDATIONS最大推荐数量默认60
  • RECOMMEND_MIN_QUALITY_SCORE最小质量分数默认0.0
  • RECOMMEND_SCAN_CACHE_NAMESPACE:缓存命名空间(默认"recommend"
  • RECOMMEND_LOG_FILE:日志文件路径(默认"recommendations_bot.log"

2. Supervisor配置如果需要

如果需要通过supervisor管理推荐服务需要手动创建配置文件

[program:auto_recommend]
directory=/www/wwwroot/autosys_new
command=/www/wwwroot/autosys_new/trading_system/.venv/bin/python -m trading_system.recommendations_main
autostart=true
autorestart=unexpected
exitcodes=0,2
startsecs=0
stopasgroup=true
killasgroup=true
stopsignal=TERM
environment=PYTHONUNBUFFERED="1",PYTHONPATH="/www/wwwroot/autosys_new"
stdout_logfile=/www/wwwroot/autosys_new/logs/recommendations.out.log
stderr_logfile=/www/wwwroot/autosys_new/logs/recommendations.err.log
stdout_logfile_maxbytes=20MB
stdout_logfile_backups=5
stderr_logfile_maxbytes=20MB
stderr_logfile_backups=5

recommendations-viewer 检查

1. API接口

文件recommendations-viewer/src/services/api.js

接口/api/recommendations?type=realtime

检查

  • API接口是否正确
  • 是否返回数据
  • 前端是否能正常显示

2. 是否需要调整

当前实现

  • 每10秒静默更新价格
  • 使用实时推荐type=realtime
  • 从Redis读取推荐数据

如果推荐系统没有运行

  • 前端会显示"没有推荐"或"加载失败"
  • 需要确保推荐服务正常运行

解决方案

方案1检查推荐服务是否运行

# 1. 检查进程
ps aux | grep recommendations_main

# 2. 如果没有运行,手动启动
cd /www/wwwroot/autosys_new
source trading_system/.venv/bin/activate
python -m trading_system.recommendations_main

# 3. 或者通过supervisor启动如果已配置
supervisorctl start auto_recommend

方案2检查日志文件

# 1. 检查日志文件是否存在
ls -lh /www/wwwroot/autosys_new/recommendations_bot.log

# 2. 查看日志内容
tail -f /www/wwwroot/autosys_new/recommendations_bot.log

# 3. 如果日志文件不存在,可能是:
#    - 推荐服务没有运行
#    - 日志文件路径配置错误
#    - 权限问题

方案3检查Redis数据

# 1. 连接Redis
redis-cli

# 2. 检查推荐数据
KEYS recommendations:*
GET recommendations:snapshot
HGETALL recommendations:realtime

# 3. 如果没有数据,说明推荐服务没有生成推荐

方案4检查API接口

# 1. 检查API是否返回数据
curl http://asapi.deepx1.com/api/recommendations?type=realtime

# 2. 如果返回空数组,说明:
#    - 推荐服务没有运行
#    - 推荐服务运行但没有生成推荐
#    - Redis中没有推荐数据

推荐系统日志位置总结

1. 文件日志

  • 位置/www/wwwroot/autosys_new/recommendations_bot.log
  • 说明:如果推荐服务运行,日志会写入这个文件

2. Supervisor日志如果通过supervisor运行

  • 位置根据supervisor配置的 stdout_logfilestderr_logfile
  • 说明如果推荐服务通过supervisor运行日志会写入supervisor配置的日志文件

3. Redis日志

  • 位置Redisservice="recommendations"
  • 说明:用于前端日志监控

下一步操作

  1. 检查推荐服务是否运行

    ps aux | grep recommendations_main
    
  2. 检查日志文件

    tail -f /www/wwwroot/autosys_new/recommendations_bot.log
    
  3. 检查Redis数据

    redis-cli
    > KEYS recommendations:*
    
  4. 检查API接口

    curl http://asapi.deepx1.com/api/recommendations?type=realtime
    
  5. 如果推荐服务没有运行,启动它

    # 手动启动
    python -m trading_system.recommendations_main
    
    # 或通过supervisor启动如果已配置
    supervisorctl start auto_recommend
    

recommendations-viewer 是否需要调整

当前情况

  • 前端代码看起来正常
  • 如果推荐系统正常运行,前端应该能正常显示推荐

如果需要调整

  • 检查API接口是否正确
  • 检查前端是否能正常获取数据
  • 检查前端显示逻辑是否正确

建议

  • 先确保推荐服务正常运行
  • 然后检查前端是否能正常显示推荐
  • 如果前端有问题,再进行调整