监控
本指南介绍 Palpo 服务器的监控策略,以确保可靠性和性能。
关键监控指标
服务器健康
应用指标
数据库指标
日志配置
基本日志
在 palpo.toml 中配置日志:
结构化日志
对于生产环境,使用 JSON 格式便于解析:
日志输出:
日志轮转
使用 logrotate 管理日志文件:
健康检查
HTTP 健康端点
检查服务器健康:
Systemd 健康检查
Docker 健康检查
Prometheus 指标
暴露指标
Palpo 可以暴露 Prometheus 兼容的指标。在配置中启用:
常见指标
Prometheus 配置
Grafana 仪表板
关键面板
- 请求速率 - 每秒请求数
- 响应时间 - p50、p95、p99 延迟
- 错误率 - 4xx 和 5xx 响应
- 活跃用户 - 并发连接用户
- 联邦健康 - 队列大小和投递率
- 资源使用 - CPU、内存、磁盘
示例仪表板 JSON
告警
告警示例
高错误率:
响应时间过慢:
联邦队列增长:
磁盘空间不足:
外部监控
可用性监控服务
从外部监控服务器可用性:
- UptimeRobot
- Pingdom
- StatusCake
- Better Uptime
监控端点:
联邦测试器
测试联邦连通性:
通过监控排查问题
CPU 使用率过高
- 检查数据库中的慢查询
- 审查活跃请求
- 检查联邦问题
- 检查失控进程
内存泄漏
- 长期监控内存
- 检查连接池是否增长
- 审查长时间运行的操作
- 如需要,考虑计划重启
响应缓慢
- 检查数据库查询时间
- 审查磁盘 I/O
- 检查网络延迟
- 检查锁争用
联邦问题
- 监控联邦队列大小
- 检查目标服务器健康状况
- 查看错误日志了解具体故障
- 通过 Admin API 重置有问题的连接
最佳实践
- 在问题发生前设置告警 - 不要等用户报告问题
- 监控趋势,而不仅仅是阈值 - 逐渐增加可能表明正在发展的问题
- 保留历史数据 - 对容量规划和调试很有用
- 记录监控设置 - 以便他人理解和维护
- 测试告警 - 确保它们在预期时触发
- 准备运维手册 - 记录常见告警的响应程序