在启用OpenTracing并启动它们时,我有一些运行jaeger的应用程序。
首先,我使用命令启动Jaeger收集器,运行-d -e COLLECTOR_ZIPKIN_HTTP_PORT=9411 -p 5775:5775/udp -p 6831:6831/udp -p 6832:6832/udp -p 5778 -p 16686:16686 -p 14268:14268 -p 9411:9411
然后启动像user- start.sh user -apiserver=localhost:9900 -configfile=conf/figation.json -traceroption enabled=true这样的应用程序,然后它们作为已启用的服务http://localhost:16686/api/services变得可见。
问题是,如果我杀死运行jaeger收集器- systemctl停靠器的Docker,然后重新启动docker和jaegertracing/all-in-one,服务就不再在http://localhost:16686/api/services上运行。
在没有jaeger收集器的情况下,Jaeger客户会独自死亡吗?在启动Jaeger客户端之前,Jaeger收集器需要运行吗?如果是这样的话,我如何才能刷新Jaeger OpenTracing使用的内存,这样我的主机就不会耗尽内存?
我在RegisterRoutes的https://github.com/jaegertracing/jaeger/blob/master/cmd/query/app/handler.go方法中找不到任何清晰的API
发布于 2018-10-09 13:19:28
问题是,如果我杀死运行jaeger收集器- systemctl停靠器的Docker,然后重新启动docker和jaegertracing/all-in-one,服务就不再在http://localhost:16686/api/services上运行。
那是因为你在使用内存存储。如果停止并启动容器,存储将被重置,因此,您将有效地丢失数据。为了生产目的,您应该使用一个备份存储,比如Cassandra或Elasticsearch。
在启动Jaeger客户端之前,Jaeger收集器需要运行吗?
没有,但是当收集器不可用时,客户端报告的跨度可能会被丢弃。请注意,默认情况下,客户端将向代理发送跨度,并且不会直接与收集器联系。因此,如果代理不可用,spans也可能会被丢弃。
如何才能刷新Jaeger OpenTracing使用的内存,这样我的主机就不会耗尽内存?
使用配置选项--memory.max-traces。使用此选项,一旦达到此限制,旧的跟踪将被新的跟踪覆盖。
https://stackoverflow.com/questions/50906213
复制相似问题