繁体   English   中英

如何在 Prometheus/Grafana 中显示成功和失败的 HTTP 调用`/status`?

[英]How to display successful and failed HTTP calls to `/status` in Prometheus/Grafana?

这是一个关于 serverfault 的问题,但我没有得到答案https://serverfault.com/questions/1024285/is-it-possible-to-display-successful-queries-of-an-arbitrary-endpoint-in -prometh ,我在这里看到了与prometheus相关的问题,没有任何抱怨......所以试试我的运气:)

我们有节点以简单的 GET 形式提供状态端点:

GET /status

如果一切正常,它只返回简单的 200,否则返回错误代码。 没有返回正文或其他数据。

我想通过 Prometheus 在 Grafana 中显示它,但我没有成功。 基本上是每个成功status调用的指标,也可能是失败状态调用的指标。

/etc/prometheus/prometheus.yml配置为调用端点:

  - job_name: 'status'
    scrape_interval: 60s
    metrics_path: /status
    static_configs:
      - targets: ['<IP1>:12345']
      - targets: ['<IP2>:12345']

我在普罗米修斯(因此也不是在格拉法纳)中看不到与此调用相关的任何内容。 例如promhttp_metric_handler_requests_total是空的(或者至少不是这个工作) - 我想这是因为端点实际上没有返回任何数据。

是否可以在 Grafana 仪表板中显示成功状态调用的历史记录,或者至少显示当前(或最后)状态?

您编写的配置基本上是为了抓取已经在 /status 路径中公开的指标; 我认为它不会满足您的要求。

如果您刚刚关注该端点的健康状况,一种简单的方法是使用 Prometheus Blackbox 导出器 -

https://github.com/prometheus/blackbox_exporter

这将测试端点,然后公开一个指标。

您需要根据您的选择将其作为服务/docker 容器运行,然后

然后在您的 Prometheus 配置中; 您可以编写 static 作业来获取该指标。

- job_name: 'blackbox'
  metrics_path: /probe
  params:
    module: [http_2xx]  # Look for a HTTP 200 response.
  static_configs:
    - targets:
      - <HOST URL/IP - you want to check>
  relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: <Blackbox Host/IP:PORT>

然后你可以在 Grafana 中使用这个指标。

它应该可以使用名称 - “probe_success”

对于记录:

我最终编写了自己的导出器。 它查询所需的端点,并将结果以 prometheus 格式写入配置为被服务器抓取的端口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM