8.3 KiB
8.3 KiB
Flask 提示词大师 - 监控和日志系统使用指南
快速开始
1. 启动监控系统
方法一:使用批处理脚本(推荐)
# 双击运行或在命令行执行
start_monitor.bat
方法二:直接使用Python
# 激活虚拟环境
.venv\Scripts\Activate.ps1
# 启动监控管理器
python monitor_manager.py
2. 基本操作
启动后,您将看到交互式界面,可以输入以下命令:
start- 启动持续监控stop- 停止监控status- 检查服务状态logs- 管理日志文件report- 生成监控报告dashboard- 显示完整仪表板quit- 退出监控系统
详细功能说明
1. 服务状态监控
检查服务状态
# 使用监控管理器
python monitor_manager.py status
# 直接使用监控脚本
python simple_monitor.py check
输出示例:
🔍 检查服务状态...
✅ 服务运行正常
服务运行正常
启动持续监控
# 在交互式界面中输入
start
# 或直接运行
python simple_monitor.py
功能特点:
- 每30秒自动检查服务健康状态
- 监控响应时间,超过2秒发出警告
- 自动检测错误日志
- 生成监控报告
2. 日志管理
查看日志统计
# 使用监控管理器
python monitor_manager.py logs stats
# 直接使用日志管理器
python log_manager.py stats
输出示例:
日志统计信息:
总文件数: 2
总大小: 0.00MB
当前日志文件:
app.log: 0.00MB
simple_service.log: 0.00MB
日志轮转
# 使用监控管理器
python monitor_manager.py logs rotate
# 直接使用日志管理器
python log_manager.py rotate
功能说明:
- 自动检测超过10MB的日志文件
- 将大文件移动到归档目录
- 自动压缩归档文件(gzip格式)
清理旧日志
# 使用监控管理器
python monitor_manager.py logs cleanup
# 直接使用日志管理器
python log_manager.py cleanup
功能说明:
- 自动删除30天前的归档日志
- 释放磁盘空间
- 保持日志目录整洁
3. 监控报告
生成监控报告
# 使用监控管理器
python monitor_manager.py report
# 直接使用监控脚本
python simple_monitor.py report
报告内容:
- 监控运行时间
- 总请求数和成功率
- 平均响应时间
- 最后检查时间
显示完整仪表板
python monitor_manager.py dashboard
仪表板包含:
- 服务状态检查
- 日志统计信息
- 监控报告摘要
配置文件说明
1. 监控配置
监控间隔
文件: simple_monitor.py
参数: monitor_interval = 30
说明: 健康检查的执行间隔(秒)
响应时间阈值
文件: simple_monitor.py
参数: 在 check_health 方法中设置
说明: 超过此时间会发出警告(默认2秒)
2. 日志配置
日志轮转阈值
文件: log_manager.py
参数: max_file_size = 10 * 1024 * 1024
说明: 日志文件超过10MB自动轮转
日志保留时间
文件: log_manager.py
参数: retention_days = 30
说明: 归档日志保留30天
日志压缩
文件: log_manager.py
参数: compress_files = True
说明: 启用gzip压缩归档文件
自动化配置
1. Windows 定时任务
创建监控任务
# 每天上午9点运行监控
schtasks /create /tn "FlaskMonitor" /tr "python D:\wxxcx\aitsc\simple_monitor.py" /sc daily /st 09:00
# 每天凌晨2点维护日志
schtasks /create /tn "FlaskLogMaintenance" /tr "python D:\wxxcx\aitsc\log_manager.py" /sc daily /st 02:00
管理定时任务
# 查看任务
schtasks /query /tn "FlaskMonitor"
# 删除任务
schtasks /delete /tn "FlaskMonitor" /f
2. 服务集成
与Windows服务集成
可以将监控脚本集成到现有的Windows服务中:
- 修改
simple_windows_service.py - 在服务启动时自动启动监控
- 在服务停止时自动停止监控
与Docker集成
如果使用Docker部署:
- 将监控脚本添加到Dockerfile
- 配置日志卷挂载
- 使用Docker的健康检查机制
故障排除
1. 常见问题
问题:监控显示服务异常
可能原因:
- 应用服务未启动
- 端口配置错误
- 网络连接问题
解决方法:
# 检查服务是否运行
curl http://localhost:5000/health
# 检查端口占用
netstat -an | findstr :5000
# 重启应用服务
python simple_windows_service.py start
问题:日志文件编码错误
可能原因:
- 日志文件包含非UTF-8字符
- 系统编码设置问题
解决方法:
# 清理损坏的日志文件
del logs\app.log
# 重新启动服务生成新日志
python simple_windows_service.py restart
问题:监控脚本无法启动
可能原因:
- 虚拟环境未激活
- 依赖包未安装
- Python路径问题
解决方法:
# 激活虚拟环境
.venv\Scripts\Activate.ps1
# 安装依赖
pip install -r requirements.txt
# 检查Python路径
python -c "import sys; print(sys.path)"
2. 调试方法
查看监控日志
# 实时查看监控日志
tail -f logs/monitor.log
# 查看最近的监控日志
type logs\monitor.log
查看日志管理日志
# 实时查看日志管理日志
tail -f logs/log_manager.log
# 查看最近的日志管理日志
type logs\log_manager.log
手动测试健康检查
# 使用curl测试
curl http://localhost:5000/health
# 使用PowerShell测试
Invoke-WebRequest -Uri http://localhost:5000/health
性能优化
1. 监控性能优化
调整监控间隔
- 生产环境:30-60秒
- 开发环境:10-30秒
- 调试环境:5-10秒
优化响应时间阈值
- 根据实际性能调整警告阈值
- 考虑网络延迟和服务器负载
2. 日志性能优化
日志轮转策略
- 根据磁盘空间调整轮转阈值
- 考虑日志写入频率
压缩策略
- 启用压缩减少存储空间
- 平衡压缩时间和存储空间
扩展功能
1. 告警系统
邮件告警
可以扩展监控脚本,添加邮件告警功能:
import smtplib
from email.mime.text import MIMEText
def send_alert(subject, message):
# 配置邮件服务器
# 发送告警邮件
pass
短信告警
可以集成短信服务提供商的API:
def send_sms_alert(message):
# 调用短信API
# 发送告警短信
pass
2. 监控面板
Web监控面板
可以开发一个Web界面来显示监控数据:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/monitor')
def monitor_dashboard():
# 读取监控报告
# 渲染监控面板
return render_template('monitor.html')
集成Grafana
可以将监控数据发送到Grafana进行可视化:
def send_to_grafana(metrics):
# 发送指标到Grafana
# 配置数据源和面板
pass
最佳实践
1. 监控最佳实践
- 设置合理的监控间隔:避免过于频繁的检查
- 配置适当的告警阈值:避免误报和漏报
- 定期检查监控日志:及时发现和解决问题
- 备份监控配置:确保配置的可恢复性
2. 日志最佳实践
- 定期清理旧日志:避免磁盘空间不足
- 监控日志文件大小:及时进行轮转
- 保留重要日志:确保问题可追溯
- 配置日志级别:根据环境调整日志详细程度
3. 运维最佳实践
- 自动化部署监控:将监控系统集成到部署流程
- 定期更新监控脚本:保持功能的最新性
- 建立监控文档:记录监控配置和操作流程
- 培训运维人员:确保团队能够有效使用监控系统
总结
通过本指南,您应该能够:
- 快速启动监控系统:使用提供的脚本和命令
- 有效管理日志文件:轮转、清理、压缩日志
- 生成监控报告:了解服务运行状态
- 解决常见问题:使用故障排除方法
- 优化系统性能:根据实际需求调整配置
- 扩展监控功能:添加告警和可视化功能
这套监控和日志系统为Flask提示词大师项目提供了完整的运维支持,确保服务的稳定运行和问题的及时发现。