跳到主要内容

Jaeger

# badger 持久存储
docker run -it --rm \
-v $PWD/data:/badger \
-e SPAN_STORAGE_TYPE=badger \
-e BADGER_EPHEMERAL=false \
-e BADGER_DIRECTORY_VALUE=/badger/data \
-e BADGER_DIRECTORY_KEY=/badger/key \
-e COLLECTOR_ZIPKIN_HTTP_PORT=9411 \
-p5775:5775/udp -p6831:6831/udp -p6832:6832/udp \
-p5778:5778 -p16686:16686 -p14268:14268 -p9411:9411 \
jaegertracing/all-in-one:latest

组件

  • collector - span -> 存储
  • ingester - kafka -> 存储
  • agent - sidecar
  • query - api, ui

agent

  • 不一定需要运行 - 但推荐
  • sidecar 角色 - 负责与 其它组件交互
portprotocolfunction
6831UDPjaeger.thrift compact
6832UDPjaeger.thrift binary - Node.js Jaeger client
5778HTTPserve configs, sampling strategies
5775UDPzipkin.thrift compact - 2016 早期 客户端
14271HTTP管理 - 健康检查 / , 指标 /metrics
docker run --rm \
-p6831:6831/udp \
-p6832:6832/udp \
-p5778:5778/tcp \
-p5775:5775/udp \
jaegertracing/jaeger-agent:1.25

collector

  • 无状态
  • 与存储后端交互 - 写入到存储
  • SPAN_STORAGE_TYPE
    • cassandra, elasticsearch, kafka, grpc-plugin, badger, memory
    • 支持多个 - 逗号分隔 - 查询只会用第一个
    • 大型生产推荐 es
  • 存储插件 - 基于 unix-socket grpc
portprotocolfunction
14250gRPCjaeger-agent send spans - model.proto
14268HTTPspans in jaeger.thrift binary
9411HTTPZipkin spans in Thrift, JSON, Proto (disabled by default)
14269HTTP管理 - 健康检查 / , 指标 /metrics

ingester

  • kafka -> 其他后端存储 - es 或 cassandra
  • 管理端口 14270

query

  • UI
PortProtocolFunction
16685gRPCgRPC QueryService
16686HTTP/api/*, UI /
16687HTTP管理端口