功能

Jaeger用于监视和诊断基于微服务的分布式系统,包括:

  • 分布式上下文传播

  • 分布式事务监控

  • 根本原因分析

  • 服务依赖性分析

  • 性能/延迟优化

高可扩展性

Jaeger后端的设计没有单点故障,可以根据业务需求进行扩展。 例如,Uber上任何给定安装的Jaeger通常每天要处理数十亿个spans。

对OpenTracing的原生支持

Jaeger后端,Web UI和工具库已完全设计为支持OpenTracing标准。

  • 通过span reference将traces表示为有向无环图

  • 支持强类型span标签和结构化日志

  • 通过baggage支持通用的分布式上下文传播机制

多个存储后端

Jaeger支持两个流行的开源NoSQL数据库作为跟踪存储后端: Cassandra 3.4+和Elasticsearch 5.x/6.x/7.x。 正在进行使用其他数据库的社区实验,例如ScyllaDB,InfluxDB,Amazon DynamoDB。Jaeger也提供 带有用于测试设置的简单内存存储。

现代Web UI

Jaeger Web UI是使用流行的开源框架(如React)以Javascript实现的。 v1.0中发布了一些性能改进,以允许UI有效处理大量数据,并显示成千上万跨度的跟踪

云原生部署

Jaeger后端作为Docker 镜像的集合进行分发。二进制文件支持各种配置方法, 包括命令行选项,环境变量和多种格式(yaml,toml等)的配置文件。 Kubernetes operator,Kubernetes模板协助部署到Kubernetes集群。 和helm chat

可观察性

默认情况下,所有Jaeger后端组件都公开Prometheus指标(还支持其他指标后端)。 使用结构化日志库zap将日志写到标准输出。

与Zipkin的向后兼容性

尽管我们建议使用OpenTracing API来对应用程序进行检测并绑定到Jaeger客户端库,以便从其他地方无法获得的高级功能中受益 如果您的组织已经使用Zipkin库对工具进行了投资, 则不必重写所有代码.Jaeger通过在HTTP上接受Zipkin格式(Thrift,JSON v1/v2和Protobuf)的spans来提供与Zipkin的向后兼容性。 从Zipkin后端切换只是将流量从Zipkin库路由到Jaeger后端的问题

Last updated