跳到主要内容
版本:3.0.0

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 耗时
  • 当前并发请求数

接入后怎么验收

建议至少做这几项:

  1. 本地打开 /metrics,确认有文本格式指标输出
  2. 压几个业务接口,确认数值会变化
  3. 在 Prometheus 中确认目标状态是 UP
  4. 在 Grafana 中验证面板能正常显示

常见问题

/metrics 访问是 404

优先检查:

  • Prometheus 是否同时放进了 ServicesMiddlewares
  • 当前运行的是否是最新构建或最新启动实例

指标有了,但链路没有

这是正常的,因为 Prometheus 只负责指标。如果还要看调用链,需要继续接 OpenTelemetry