jaeger 简介
Jaeger 是由 Uber Technologies 作为开源项目发布的分布式追踪平台。使用 Jaeger,您可以:
- 监控和排查分布式工作流程
- 识别性能瓶颈
- 追踪根本原因
- 分析服务依赖关系
Uber 发布了一篇博文Uber的分布式追踪演进,在其中他们解释了 Jaeger 所做的架构选择的历史和原因。Jaeger 的创建者 Yuri Shkuro还出版了一本名为《精通分布式追踪》的书,深入讲解了Jaeger设计和操作的许多方面,以及分布式追踪的一般知识。
准备
- Kubernetes
- Helm
- Kubeapps(Optional)
安装
需要修改的 value
collector:
extraPorts:
- name: "otlp-grpc"
port: 4317
targetPort: 4317
- name: "otlp-http"
port: 4318
targePort: 4318
这里只增加两个端口用于接收 otlp 格式的请求
jaeger各端口的含义
| Port | Protocol | Component | Function |
|---|---|---|---|
| 6831 | UDP | agent | jaeger.thrift over Thrift-compact protocol (used by most SDKs) |
| 6832 | UDP | agent | accept jaeger.thrift over Thrift-binary protocol (used by Node.js SDK) |
| 5775 | UDP | agent | (deprecated) accept zipkin.thrift over compact Thrift protocol (used by legacy clients only) |
| 5778 | HTTP | agent | serve configs (sampling, etc.) |
| 16686 | HTTP | query | serve frontend |
| 4317 | HTTP | collector | accept OpenTelemetry Protocol (OTLP) over gRPC |
| 4318 | HTTP | collector | accept OpenTelemetry Protocol (OTLP) over HTTP |
| 14268 | HTTP | collector | accept jaeger.thrift directly from clients |
| 14250 | HTTP | collector | accept model.proto |
| 9411 | HTTP | collector | Zipkin compatible endpoint (optional) |
执行安装
helm install jaeger -n jaeger --create-namespace bitnami/jaeger -f values.yaml
等待所有容器运行成功
kubectl get svc -n jaeger jaeger-collector
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
jaeger-collector ClusterIP 10.152.183.73 <none> 14250/TCP,14268/TCP,9411/TCP,14269/TCP,4317/TCP,4318/TCP 1m
打开浏览器访问 https://10.152.183.73:16686
需要更换为你本地看到真正 ip