Prometheus
这页对应 3.x 里的指标监控接入方式,核心组件是 Prometheus 指标监控(Aegis.Prometheus)。
先看 Prometheus 在框架里的职责
当前这层能力主要负责两件事:
- 暴露
/metrics采集端点 - 自动统计基础 HTTP 指标
如果你要的是:
- 指标、计数、耗时、并发量:看
Prometheus - 调用链、Span、OTLP:看 OpenTelemetry
最小接入方式
1. 启用组件
{
"Components": {
"Services": [
"Prometheus"
],
"Middlewares": [
"Prometheus"
]
}
}
2. 启动应用后访问指标端点
http://localhost:5000/metrics
默认会带出哪些指标
当前默认至少包含这些 HTTP 维度:
| 指标 | 说明 |
|---|---|
| 请求总数 | 看接口访问量 |
| 请求耗时 | 看接口响应时间 |
| 处理中请求数 | 看接口并发状态 |
最常见的使用方式
Prometheus 的使用重点通常不在业务代码里,而是在观测系统配置里。
Prometheus 抓取配置示例
scrape_configs:
- job_name: "aegis-api"
static_configs:
- targets: ["127.0.0.1:5000"]
metrics_path: /metrics
搭配 Grafana 使用
接通后,最先做的几张图通常是:
- 接口请求次数
- 接口平均耗时
- 接口 P95 / P99 耗时
- 当前并发请求数
接入后怎么验收
建议至少做这几项:
- 本地打开
/metrics,确认有文本格式指标输出 - 压几个业务接口,确认数值会变化
- 在 Prometheus 中确认目标状态是
UP - 在 Grafana 中验证面板能正常显示
常见问题
/metrics 访问是 404
优先检查:
Prometheus是否同时放进了Services和Middlewares- 当前运行的是否是最新构建或最新启动实例
指标有了,但链路没有
这是正常的,因为 Prometheus 只负责指标。如果还要看调用链,需要继续接 OpenTelemetry。