6.8 KiB
6.8 KiB
推荐系统日志和运行状态检查
问题描述
- 感觉没有推荐了:推荐系统可能没有正常运行
- recommendations_bot.log 是不是没用了:需要确认日志文件位置
- 推荐系统输出的日志在哪:需要确认日志路径
- recommendations-viewer 需要调整吗:需要检查前端是否需要调整
推荐系统日志配置
1. 日志文件位置
代码位置:trading_system/recommendations_main.py
日志文件:
- 默认:
recommendations_bot.log(项目根目录) - 可通过环境变量
RECOMMEND_LOG_FILE覆盖
日志输出:
- 文件日志:
recommendations_bot.log(项目根目录) - 控制台输出:stdout(如果通过supervisor运行,会被supervisor捕获)
- Redis日志:写入Redis(用于前端日志监控,service="recommendations")
2. Supervisor配置
当前情况:
supervisor_account.py只处理交易账户的配置(auto_sys_acc1,auto_sys_acc2等)- 推荐服务没有自动生成supervisor配置
推荐服务可能的运行方式:
- 手动运行:
python -m trading_system.recommendations_main - Supervisor手动配置:需要手动创建supervisor配置文件
- 未运行:推荐服务可能没有启动
检查推荐系统运行状态
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_logfile和stderr_logfile - 说明:如果推荐服务通过supervisor运行,日志会写入supervisor配置的日志文件
3. Redis日志
- 位置:Redis(service="recommendations")
- 说明:用于前端日志监控
下一步操作
-
检查推荐服务是否运行:
ps aux | grep recommendations_main -
检查日志文件:
tail -f /www/wwwroot/autosys_new/recommendations_bot.log -
检查Redis数据:
redis-cli > KEYS recommendations:* -
检查API接口:
curl http://asapi.deepx1.com/api/recommendations?type=realtime -
如果推荐服务没有运行,启动它:
# 手动启动 python -m trading_system.recommendations_main # 或通过supervisor启动(如果已配置) supervisorctl start auto_recommend
recommendations-viewer 是否需要调整
当前情况:
- 前端代码看起来正常
- 如果推荐系统正常运行,前端应该能正常显示推荐
如果需要调整:
- 检查API接口是否正确
- 检查前端是否能正常获取数据
- 检查前端显示逻辑是否正确
建议:
- 先确保推荐服务正常运行
- 然后检查前端是否能正常显示推荐
- 如果前端有问题,再进行调整