Prometheus 监控
Pingora 内置对 Prometheus 的支持,可以实时导出服务器指标,便于性能监控、容量规划和故障排查。
启用 Prometheus
在配置文件中添加 metrics 配置:
metrics:
enable: true
listen: "127.0.0.1:9090"
`
enable:是否启用指标导出listen:Prometheus 拉取指标的地址和端口
可用指标示例
Pingora 导出的指标包括:
| 指标名称 | 说明 |
|---|---|
pingora_requests_total |
总请求数 |
pingora_request_duration_seconds |
请求处理耗时(秒) |
pingora_active_connections |
当前活跃连接数 |
pingora_upstream_errors_total |
上游请求错误数 |
pingora_rate_limiter_hits_total |
限流命中次数 |
访问指标
启用后,可以在浏览器访问:
http://127.0.0.1:9090/metrics
Prometheus 将定期抓取这些指标进行存储与分析。
配置 Prometheus 采集
在 Prometheus 配置文件 prometheus.yml 中添加 scrape 配置:
scrape_configs:
- job_name: 'pingora'
static_configs:
- targets: ['127.0.0.1:9090']
然后重启 Prometheus,开始采集 Pingora 指标。
可视化与告警
- Grafana:将 Prometheus 数据可视化,绘制请求量、延迟、错误率等面板;
- 告警规则:根据指标设置阈值,当异常发生时触发告警。
监控最佳实践
- 采集重要指标:请求数、延迟、错误率、活跃连接数等;
- 定期检查指标:确保采集正常,及时发现性能瓶颈;
- 结合日志:指标异常时对照日志排查问题;
- 适度采集:过于频繁的抓取可能增加 CPU 开销。
启用 Prometheus 监控后,你可以实时掌握 Pingora 的运行状态,为服务稳定性和容量规划提供可靠数据支撑。
相关内容
- 高级主题 (WIP) 探索 Pingora 的高级特性,包括内部机制、异步运行时、线程模型和自定义扩展。
- 后台服务 学习如何在 Pingora 中配置和运行后台服务,包括定时任务、异步执行和守护进程管理。
- 异步上下文中的阻塞代码 学习如何在 Pingora 异步运行时中处理阻塞代码,确保高并发请求环境下的性能和稳定性。
- 构建 HTTP 代理 学习如何使用 Pingora 构建 HTTP 代理服务,包括基本请求转发、上游配置和自定义过滤器。
- 配置文件 了解 Pingora 的配置文件结构、主要参数及其作用,学习如何为不同场景编写高效、清晰的配置。
- 连接池与复用 学习如何在 Pingora 中使用连接池和连接复用,提高代理服务的性能和资源利用率。