grafana仪表板如何过滤Zipkin(跟踪、探索)指标?

mto*_*mto 6 zipkin grafana prometheus open-telemetry

我想问一下关于 zipkin 和 grafana 仪表板的问题。我使用官方的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
Run Code Online (Sandbox Code Playgroud)

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

我们可以通过普罗米修斯指标浏览器来做到这一点吗?或者,为了按指标进行过滤,我们应该在grafana仪表板上使用数据存储(例如elasticsearch、mysql等)吗?太感谢了。 在此输入图像描述在此输入图像描述在此输入图像描述

Jan*_*raj 1

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

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

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