【问题标题】:How grafana dashboard filter Zipkin (tracing, Explore) metrics?grafana dashboard如何过滤Zipkin(tracing,Explore)指标?
【发布时间】:2021-12-01 16:00:31
【问题描述】:

我想问一下带有 grafana 仪表板的 zipkin。 我使用官方的docker-compose安装了带有grafana的zipkin(但存储是elasticsearch。因为当我使用mysql时,会发生访问错误。es不会发生) https://github.com/openzipkin-attic/docker-zipkin#elasticsearch

顺便说一句,我正在使用 zipkin 来收集 nodejs 应用程序的 graphQL 执行时间。 (使用 Opentelemetry 库,例如 HttpInstrumentation、ExpressInstrumentation 和 GraphQLInstrumentation) 我想在某些图形图表上显示哪些 graphQL 查询很慢。

我尝试将下面的 prometheus 指标浏览器与 grafana 仪表板一起使用。

zipkin_collector_messages_total
zipkin_collector_bytes_total
zipkin_collector_spans_total
zipkin_collector_spans_dropped_total
zipkin_collector_messages_dropped_total

但看起来他们无法过滤 grafana 仪表板上的任何指标标签...(因为就上述控制器而言,我们只能使用“实例、作业、传输”标签)

我们可以通过 prometheus 指标浏览器来做到这一点吗?或者,对于按指标进行过滤,我们应该在 grafana 仪表板上使用数据存储(例如弹性搜索、mysql 等)吗? 太感谢了。

【问题讨论】:

  • 我的后端应用是由node.js制作的

标签: prometheus grafana zipkin open-telemetry


【解决方案1】:

您需要区分跟踪和指标。您在 Prometheus 中保存的指标只是来自跟踪的聚合数据 - 看起来它们没有您需要的维度。

正确配置您的 OTEL 收集器(使用 spanmetricsprocessor 处理器 - 仍然不稳定的处理器! - 根据您的需要自定义 dimension 配置 - 例如 graphl.query - 抱歉,我真的不知道您的标签,所以这是盲目猜测) 并将指标导出到 prometheus。然后,您将在 prometheus 中获得针对您的用例有用维度的指标,您可以对其进行过滤/分组。

但我会直接使用 Zipkin UI 并按最短持续时间(最终 + 标记)进行过滤,以找到持续时间/延迟最长的跟踪/查询。

【讨论】:

  • 这是一个简短的说明,感谢您给我非常有礼貌的细节。我会看看和探索。
  • 我正在寻找我们如何实现这一点。请问,这个处理器不仅可以被 Golang 项目使用吗?我找不到另一种语言解决方案。 (目前我们使用node.js)
  • @mto 当然,收集器可以是独立的应用程序,并且 nodejs 检测将跟踪发送到该收集器,该收集器根据跟踪计算指标
  • Jan Garaj,感谢您的回答。哦,我明白了。我试图实现它,但这次通过 node.js 对我来说很难(看起来没有示例)....我认为在弹性搜索上使用 Kibana 仪表板与 zipkin 而不是 Grafana 来查看排名相对容易。我切换到技术栈。
  • 在 Grafana 中进行跟踪可能是一项挑战。恕我直言,Grafana AWS X-Ray 插件是最成熟的 atm,因为它还提供Trace Statistics 模式。
猜你喜欢
  • 1970-01-01
  • 2020-09-08
  • 1970-01-01
  • 2018-05-07
  • 1970-01-01
  • 2021-07-09
  • 2022-08-15
  • 2021-05-30
  • 2022-06-24
相关资源
最近更新 更多