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

如何在Prometheus记录HTTP端点状态码起止时间并在Grafana展示?

能否在Prometheus中体现HTTP状态码切换时间并在Grafana展示?

完全可以实现,具体步骤和说明如下:

1. 确保Blackbox-exporter采集到状态码指标

Blackbox-exporter默认会输出probe_http_status_code指标,这是一个gauge类型的指标,会记录每次HTTP探测返回的状态码,且带有精确的探测时间戳,能完整反映状态码的变化过程。

2. 配置Prometheus正确抓取指标

在Prometheus的scrape_configs中添加Blackbox-exporter的抓取任务,核心是设置合理的抓取间隔:

  • 为精准捕捉7:00-7:05、20:00-20:10这类短时长异常窗口,建议抓取间隔小于异常时段长度(比如设置为30秒或1分钟),避免错过状态切换的时间点。
  • 示例配置片段:
scrape_configs:
  - job_name: 'blackbox_http'
    metrics_path: /probe
    params:
      module: [http_2xx] # 对应Blackbox-exporter中定义的HTTP探测模块
    static_configs:
      - targets: ['目标HTTP端点的URL']
    relabel_configs:
      - source_labels: [__address__]
        target_label: __param_target
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: 'blackbox-exporter的地址:端口' # 例如localhost:9115

3. 在Grafana中展示状态码切换时间

使用Grafana的时间范围图表(如Graph面板)即可直观展示:

  • 编写PromQL查询:probe_http_status_code{job="blackbox_http", instance="目标HTTP端点"}
  • 图表会以折线或散点形式呈现状态码随时间的变化,状态码切换的时间点会清晰显示(比如从200跃升至500,再回落至200的节点)
  • 可添加阈值线增强可读性:比如设置200为绿色正常线,400+、500+为红色异常线,快速区分正常与异常时段
  • 若需要更突出的标记,还可以通过Grafana的Annotations功能,基于状态码变化的条件自动生成标注点

注意事项

  • 抓取间隔是关键:如果间隔过长(比如10分钟),会直接错过短时间的异常状态,导致无法记录状态切换的时间点
  • probe_http_status_code是实时记录每次探测结果的指标,只要抓取配置合理,就能完整还原状态码的时间线变化

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 00:42:03