使用 Grafana / Prometheus / Tempo 检索 HTTP 请求统计信息

问题描述 投票:0回答:1

我正在尝试监视部署在多个 Kubernetes 部署上的 java 应用程序。 到目前为止我已经成功发货了

  • 使用 Promtail 登录 Loki
  • 使用运算符向 Prometheus 提供 Kubernetes 指标
  • 通过应用程序检测获取应用程序 JVM 指标
  • 使用开放式遥测 Java 代理跟踪数据

缺少的是有关 HTTP 请求的数据(每分钟请求计数、4xx/5xx 错误数量、端点最耗时的请求……),无法在 Grafana 仪表板上显示。

我无法触及应用程序代码,并且检测不会公开 HTTP 请求指标。所以我在 Prometheus 中没有这些数据。

最自然的方法似乎是对 Tempo 上存储的跟踪进行一些聚合,但很难理解跟踪中存储了哪些数据,而且在查询 Tempo 数据时,我什至无法按持续时间对请求进行排序。简而言之,Tempo 在聚合数据形成仪表板时似乎并不配合。

什么工具适合这项工作?我愿意改变我的监控架构,因为我还想将跟踪与日志相关联(我猜这只能通过将跟踪 ID 注入日志来完成),而这在我当前的设置中似乎不可能。

如果问题看起来含糊不清,我很抱歉。我是监控新手,只是想弄清楚。

prometheus grafana monitoring open-telemetry distributed-tracing
1个回答
0
投票

因此您无法触及应用程序代码,但依赖的服务 Uris 是否列在外部配置中?

如果是这种情况,您可以设置 nginx 或 envoy 之类的东西作为入口/出口代理,并使其负责监控 http 响应代码、通话持续时间等。

© www.soinside.com 2019 - 2024. All rights reserved.