# ui-manager-server **Repository Path**: mr_yanghw/ui-manager-server ## Basic Information - **Project Name**: ui-manager-server - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-28 - **Last Updated**: 2026-02-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AI691SERVER AI转录项目服务端仓库 ## 项目简介 本项目是一个基于 Spring Boot 的 AI 转录服务端,支持语音转文字功能,集成日志收集和监控系统。 ## 快速开始 ### 环境要求 - Java 8+ - Maven 3.6+ - Linux/macOS/Windows ### 启动应用 ```bash # 开发环境 ./start.sh # 生产环境 ./start_prod.sh # 停止应用 ./stop.sh ``` ## 日志管理 本项目采用 Filebeat + VictoriaLogs 的日志收集方案,将应用日志发送到 VictoriaLogs 进行统一管理。 ### 日志文件 应用会生成以下日志文件: - `logs/ai-meeting-server.json` - JSON 格式日志(供 Filebeat 收集) - `logs/app.log` - 所有日志(文本格式) - `logs/info.log` - 信息级别日志 - `logs/error.log` - 错误日志 ### Filebeat 配置 项目为不同环境提供了专门的 Filebeat 配置文件: #### 本地开发环境 (`filebeat-victoria-logs-local.yml`) - **日志路径**: `/Users/yixia/yixia/java_ht/AI691SERVER/logs/ai-meeting-server.json` - **VictoriaLogs 地址**: `192.168.51.113:9428` - **特点**: - 调试级别日志 - 较小的批量大小 (500) - 单个工作进程 - 启用详细日志输出 #### 测试环境 (`filebeat-victoria-logs-test.yml`) - **日志路径**: `/app/logs/ai-meeting-server.json` - **VictoriaLogs 地址**: `victoria-logs-test.internal:9428` - **特点**: - 中等批量大小 (800) - 2个工作进程 - Info 级别日志 - 适中的性能优化 #### 生产环境 (`filebeat-victoria-logs-prod.yml`) - **日志路径**: `/app/logs/ai-meeting-server.json` - **VictoriaLogs 地址**: `victoria-logs-prod.internal:9428` - **特点**: - 大批量处理 (1500) - 4个工作进程 - SSL 加密传输 - Warn 级别日志 - 启用监控 - 高压缩比 (6) ### 快速部署 Filebeat #### 1. 安装 Filebeat ```bash # 运行安装脚本(推荐) ./setup-filebeat.sh ``` 该脚本会: - 自动检测操作系统架构 - 下载对应版本的 Filebeat - 复制所有环境的配置文件 - 测试配置有效性 #### 2. 启动指定环境 ```bash # 本地环境(默认) ./filebeat.sh local -d # 测试环境 ./filebeat.sh test -d # 生产环境 ./filebeat.sh prod -d ``` #### 3. 停止 Filebeat ```bash # 停止特定环境 ./stop-filebeat.sh local ./stop-filebeat.sh test ./stop-filebeat.sh prod # 停止所有环境 ./stop-filebeat.sh all ``` ### 手动安装 Filebeat 如果需要手动安装: #### Linux ```bash wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.11.0-linux-x86_64.tar.gz tar -xzf filebeat-8.11.0-linux-x86_64.tar.gz cd filebeat-8.11.0-linux-x86_64/ ``` #### macOS ```bash # Intel Mac curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.11.0-darwin-x86_64.tar.gz tar -xzf filebeat-8.11.0-darwin-x86_64.tar.gz cd filebeat-8.11.0-darwin-x86_64/ # Apple Silicon (M1/M2) curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.11.0-darwin-arm64.tar.gz tar -xzf filebeat-8.11.0-darwin-arm64.tar.gz cd filebeat-8.11.0-darwin-arm64/ ``` ### 验证配置 ```bash # 检查配置文件 ./filebeat test config -c filebeat-victoria-logs-local.yml # 检查输出连接 ./filebeat test output -c filebeat-victoria-logs-local.yml ``` ## 监控和维护 ### 日志查看 1. **应用日志:** ```bash tail -f logs/ai-meeting-server.json ``` 2. **Filebeat 日志:** ```bash # 本地环境 tail -f logs/filebeat-local.log # 测试环境 tail -f /app/logs/filebeat-test.log # 生产环境 tail -f /app/logs/filebeat-prod.log ``` 3. **VictoriaLogs UI:** - 本地开发: http://192.168.51.113:9428/select/log ### 性能监控 ```bash # 检查 Filebeat 状态 curl -X GET "localhost:5066/stats?pretty" # 检查输出状态 curl -X GET "localhost:5066/stats/output?pretty" ``` ## 故障排除 ### 常见问题 1. **Filebeat 无法连接 VictoriaLogs:** - 检查 IP 地址和端口 - 确认 VictoriaLogs 服务运行正常 - 检查防火墙设置 2. **日志文件权限问题:** ```bash chmod 644 logs/ai-meeting-server.json ``` 3. **JSON 解析错误:** - 检查日志文件格式 - 查看 Filebeat 错误日志 ### 调试命令 ```bash # 启用详细日志 ./filebeat -e -d "*" -c filebeat-victoria-logs-local.yml # 检查进程 ps aux | grep filebeat # 停止进程 kill ``` ## 部署注意事项 ### 本地开发 1. 确保 VictoriaLogs 服务正在运行 2. 检查日志文件路径是否正确 3. 使用调试模式排查问题 ### 测试环境 1. 确保 `/app/logs` 目录存在且有权限 2. 配置正确的内网地址 3. 检查防火墙规则 ### 生产环境 1. 配置 SSL 证书路径 2. 确保日志目录权限正确 3. 配置监控和告警 4. 考虑使用 systemd 或 docker 进行服务管理 ## 环境变量配置 建议通过环境变量来动态配置不同环境的参数: ```bash export FILEBEAT_ENV=local export VICTORIA_LOGS_HOST=192.168.51.113:9428 export LOG_PATH=/Users/yixia/yixia/java_ht/AI691SERVER/logs ``` ## 日志收集优势 使用 Filebeat 收集日志相比直接 REST API 发送的优势: 1. **性能更好** - 异步批量发送,不阻塞应用 2. **可靠性更高** - 本地缓存,网络故障时不丢失日志 3. **资源消耗低** - 应用无需维护 HTTP 连接 4. **配置灵活** - 支持多种输出源和过滤规则 5. **监控能力** - Filebeat 自带监控和健康检查 ## 备份和恢复 定期备份配置文件和日志: ```bash # 备份配置 tar -czf filebeat-configs-$(date +%Y%m%d).tar.gz filebeat-victoria-logs-*.yml # 备份日志 tar -czf filebeat-logs-$(date +%Y%m%d).tar.gz logs/filebeat/ ``` ## 项目结构 ``` AI691SERVER/ ├── src/ # 源代码 ├── logs/ # 日志文件 ├── filebeat-*/ # Filebeat 二进制文件 ├── filebeat-config/ # Filebeat 配置文件和脚本目录 │ ├── filebeat-victoria-logs-*.yml # 环境配置文件 │ ├── install-filebeat-manual.sh # 安装脚本 │ ├── start-filebeat-env.sh # 环境启动脚本 │ └── stop-filebeat.sh # 停止脚本 ├── setup-filebeat.sh # Filebeat 安装快捷脚本 ├── filebeat.sh # Filebeat 启动快捷脚本 ├── stop-filebeat.sh # Filebeat 停止快捷脚本 ├── start.sh # 应用启动脚本 ├── stop.sh # 应用停止脚本 └── README.md # 项目文档 ``` ## 开发指南 ### 日志配置 日志配置位于 `src/main/resources/logback-spring.xml`,支持多种输出格式: - 控制台输出(开发调试) - 文件输出(本地存储) - JSON 格式输出(Filebeat 收集) ### API 接口 具体接口文档请参考代码中的 API 注释。 ## 联系方式 如有问题或建议,请联系开发团队。