我试图在前端应用程序中跟踪。
我不能使用@opentelemetry/exporter jaeger,因为我认为它是用于节点的。仅限js后端应用程序。
所以我尝试使用@opentelemetry/exporter-collector。
首先,我尝试在浏览器控制台中打印跟踪数据。下面的代码成功打印了跟踪数据。
import { CollectorTraceExporter } from '@opentelemetry/exporter-collector';
import { DocumentLoad } from '@opentelemetry/plugin-document-load';
import { SimpleSpanProcessor, ConsoleSpanExporter } from '@opentelemetry/tracing';
import { WebTracerProvider } from '@opentelemetry/web';
const provider = new WebTracerProvider({ plugins: [new DocumentLoad()] });
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
provider.register();
现在我想把它们转发给杰格。
我正在运行机甲猎人一体机
docker run -d --name jaeger \
-e COLLECTOR_ZIPKIN_HTTP_PORT=9411 \
-p 5775:5775/udp \
-p 6831:6831/udp \
-p 6832:6832/udp \
-p 5778:5778 \
-p 16686:16686 \
-p 14268:14268 \
-p 9411:9411 \
jaegertracing/all-in-one:1.18
基于Jaeger port文档,我可能能够使用这两个端口(如果其他端口工作,那也太好了!):
14250 HTTP collector accept model.proto
9411 HTTP collector Zipkin compatible endpoint (optional)
然后,我进一步找到了有关此端口的更多信息:
Zipkin格式(稳定)
Jaeger Collector还可以接受多种Zipkin数据格式的跨度,即JSON v1/v2和Thrift。收集器需要配置为启用Zipkin HTTP服务器,例如在Zipkin收集器使用的端口9411上。服务器启用两个期望POST请求的endpoint:
/api/v1/spans for submitting spans in Zipkin JSON v1 or Zipkin Thrift format.
/api/v2/spans for submitting spans in Zipkin JSON v2.
我将代码更新为
import { CollectorTraceExporter, CollectorProtocolNode } from '@opentelemetry/exporter-collector';
import { DocumentLoad } from '@opentelemetry/plugin-document-load';
import { SimpleSpanProcessor } from '@opentelemetry/tracing';
import { WebTracerProvider } from '@opentelemetry/web';
const provider = new WebTracerProvider({ plugins: [new DocumentLoad()] });
// The config below currently has issue
const exporter = new CollectorTraceExporter({
serviceName: 'my-service',
protocolNode: CollectorProtocolNode.HTTP_JSON,
url: 'http://localhost:9411/api/v1/spans', // Also tried v2
});
provider.addSpanProcessor(new SimpleSpanProcessor(exporter));
provider.register();
但是,我收到了对v1和v2endpoint的错误请求,没有返回任何响应体
发布http://localhost:9411/api/v1/spans400(错误请求)
发布http://localhost:9411/api/v2/spans400(错误请求)
你知道我怎样才能使请求格式正确吗?谢谢
我认为安德鲁是对的,我应该使用开放遥测收集器。我还从Gitter的Valentin Marchaud和Deniz Gurkaynak那里得到了一些帮助。只需在此处添加链接,以供遇到相同问题的更多人使用:https://gitter.im/open-telemetry/opentelemetry-node?at=5f3aa9481226fc21335ce61a
我的最终工作解决方案发布在https://stackoverflow.com/a/63489195/2000548
问题是,如果您使用opentelem计导出器,则应该使用opentelem计收集器。
此外,我还创建了一个要点,这将帮助您设置请参见
https://gist.github.com/AndrewGrachov/11a18bc7268e43f1a36960d630a0838f
(只需调整值,导出到jaeger all-in-one,而不是单独的cassandra等)
我有一个简单的Java应用程序,我想用Jaeger测试跟踪,但遇到了错误。 Maven依赖- jaeger一体机- 这是代码- 我犯了个错误- 感谢任何帮助!
Jaeger跟踪沙箱演示使用Jaeger作为跟踪服务程序,为Envoy请求跟踪提供能力。这个沙盒与上面描述的前端代理架构非常类似,但有一点不同:在返回请求响应之前,service1对service2进行API调用。这三个容器将被部署在名为envoymesh的虚拟网络中。 所有的请求都通过前端Envoy代理进行路由,该Envoy充当位于envoymesh网络边缘的反向代理角色。通过docker co
问题内容: 说我使用这样的代码: 如何查看已将什么json请求发送到Elasticsearch? 问题答案: 在Elastic4s 1.6.2中,您可以对多个请求使用show typeclass以获得JSON等值。 这很简单。 该方法将呈现JSON输出。它适用于大多数请求类型。 在Elastic4s 5.2.0+中,您可以在客户端上使用该方法。
更新:我已将代码推送到我的回购协议中,以便人们可以查看那里,看看可能出现了什么问题。 编辑:我几乎可以肯定是客户端代码没有向服务器发布任何统计数据,但是下面的指南都没有解释如何启用:是否有我缺少的配置设置? 我一直在关注OpenZipkin和Spring Sleuth的快速启动:我从docker Zipkin使用和Cassandra作为后端运行Zipkin服务器: 我已经创建并运行了Spring
我使用Spring Boot开发了一条Camel路线。现在我想使用Jaeger跟踪路线。我尝试此示例使用组件跟踪路线,但我无法获取Jaeger的踪迹。 我只能在控制台中看到它。我不清楚的一件事是在哪里添加Jaeger URL?任何工作示例都会很有帮助。
我有一个带有Spring Cloud Sleuth、OpenTelemetry instrumentation和OpenTelemetry exporter OTLP的Spring Boot应用程序。 以下是依赖关系的要点: > 引入OpenTelemetry instrumentation libs并提供spring自动配置 用于向apm服务器发送数据 我的中只有基本配置: 通过这个设置,我成功