0

我有一个使用 OpenTracing 的 Spring Boot 应用程序,我想将其数据推送到 Prometheus,因此我可以通过 Grafana 查询所有指标(如本教程https://www.hawkular.org/blog/2017/06/26/ opentracing-appmetrics.html)。

问题是,我还没有找到任何一致的解决方案来做到这一点,到目前为止我发现的所有示例都已过时、不推荐使用或缺少文档。

理想情况下,我正在寻找一些返回 io.opentracing.Tracer 实例的解决方案,类似于 Jaeger 所做的:

        Tracer tracer = new JaegerTracer.Builder("couchbase")
            .withReporter(new RemoteReporter.Builder()
                    .withSender(new UdpSender(AGENT_HOST, 6831, 0))
                    .build())
            .withSampler(new ConstSampler(true))
            .withScopeManager(new AutoFinishScopeManager())
            .withMetricsFactory(metricsFactory)
            .build();

最好的

4

1 回答 1

2

请注意,跟踪数据(跨度)与“指标”不同,尽管在某些情况下可能存在一些重叠。我推荐以下关于每个目的的博客文章,包括日志记录:

https://peter.bourgon.org/blog/2017/02/21/metrics-tracing-and-logging.html

也就是说,您链接的博客文章中提到了 OpenTracing 库,称为opentracing-contrib/java-metrics。它允许您选择特定的跨度并将它们记录为数据点(指标)。它用作具体跟踪器的装饰器,因此,您的跨度将到达像 Jaeger 这样的具体后端,此外,还可以根据配置的跨度创建数据点。然后通过Micrometer报告数据点,可以将其配置为以 Prometheus 格式公开此数据。

问题是,我还没有找到任何一致的解决方案来做到这一点,到目前为止我发现的所有示例都已过时、不推荐使用或缺少文档。

请在存储库上打开一个java-metrics包含您所面临问题的问题。

于 2019-01-25T14:16:32.120 回答