You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Prometheus是否支持监控统计指定HTTP端点的访问次数?

Prometheus统计API访问次数方案解答

Prometheus完全支持按分钟粒度统计指定API端点的实际访问次数,你之前了解的blackbox exporter确实仅用于主动探测端点可用性、响应延迟、证书有效性等黑盒健康指标,不具备统计真实业务访问量的能力,属于工具选型不匹配。Prometheus生态下有多种成熟方案可以实现需求,按改造成本从低到高排序如下:

  • 无代码侵入的日志转换方案:如果你已经在写访问日志,不需要改动现有业务代码,部署mtail或者promtail组件,配置简单的解析规则实时读取访问日志,将每条请求对应的API路径、状态码等字段转换为Prometheus的Counter类型指标,对外暴露/metrics端点供Prometheus拉取即可。后续用PromQL的increase(your_request_total_metric[1m])语句就能直接算出每个端点每分钟的访问次数。
  • 网关/代理层采集方案:在API服务前置一层Nginx反向代理或者开源API网关,部署对应的Prometheus exporter(比如nginx-prometheus-exporter),代理层会自动统计所有经过的请求的路径、状态、响应时间等指标,直接暴露为Prometheus标准指标格式,业务侧完全不需要改代码。
  • 业务代码埋点方案(最推荐,长期维护成本最低):根据你API服务使用的开发语言,引入官方维护的Prometheus client依赖,在服务内初始化一个名为http_api_requests_total的Counter计数器,给指标添加path(API路径)、status(响应状态码)标签,每次请求处理完成后对对应标签的计数器累加1,同时在服务上暴露一个/metricsHTTP端点供Prometheus定期拉取。这种方案统计精度最高,还可以按需扩展自定义业务维度(比如请求来源、用户类型等)。

以上所有方案采集的指标,都可以直接对接Grafana,配置分钟粒度的折线图、柱状图等可视化面板,还可以配置访问量突增/突降的告警规则。

如果不想使用Prometheus生态,也可以选择以下开源工具满足需求:

  • ELK栈:通过Logstash或者Filebeat采集所有服务的访问日志存入Elasticsearch,在Kibana中按照API路径维度做分钟级的聚合统计,直接生成可视化图表,优势是可以保留全量原始日志,支持后续更灵活的多维度检索分析,缺点是存储资源占用较高。
  • Grafana Loki:轻量型日志聚合系统,和Grafana、Prometheus适配性极强,采集访问日志后通过LogQL语句即可快速完成路径维度的访问量统计,存储成本远低于ELK栈,适合中小规模服务使用。

内容的提问来源于stack exchange,提问作者cr001

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 18:48:24