[环境建置,Elasticsearch 需要先建置,Collector 组件会将资讯存入 Elasticsearch中
query:
container_name: jaeger_query
image: jaegertracing/jaeger-query
environment:
- SPAN_STORAGE_TYPE=elasticsearch
- ES_SERVER_URLS=http://192.168.101.129:3001
- ES_TAGS_AS_FIELDS_ALL=true
- LOG_LEVEL=debug
collector:
container_name: jaeger_collector
image: jaegertracing/jaeger-opentelemetry-collector
environment:
- SPAN_STORAGE_TYPE=elasticsearch
- LOG_LEVEL=debug
command: [
"--es.server-urls=http://192.168.101.129:3001",
"--es.num-shards=3",
"--es.num-replicas=0"
]
agent:
container_name: jaeger_agent
image: jaegertracing/jaeger-opentelemetry-agent
command: ["--reporter.grpc.host-port=jaeger_collector:14250", "--log-level=debug"]
导入 OoenTelemetry
一般运行 Spring boot 是用 java –jar file.jar
,而 Opentelemetry 提供自动配置的 Jar 可参考 opentelemetry-java-instrumentation,最後透过 javaagent
导入 java -javaagent:opentelemetry-javaagent-all.jar –jar file.jar
。为了与 jaeger 进行交互,需配置以下
当中 Service 是 OTEL_RESOURCE_ATTRIBUTES 所设置的 service.name
上图有一个时间轴,而每个圈圈表示一个 trace。每个 trace 所需时间都不一样,因此可藉由此时间轴观察花费时间最大的 trace 并进行观察有无优化可能,当中 Sort 选项也可选择排序方式。
将每个 Span 展开後,基本上都会存在着 Tages 和 Process 的资讯。Tages 是每个 Span 的补充字段以 key:value 显示,相对的 Process 偏向对系统层面的补充字段。当过程中有错误时,将会以 Logs 栏位呈现错误的堆叠。
使用 Trace Graph 观察,结果如下更加直观清楚知道调用过程。每个不同的呈现其细节都不一样。
在 Jaeger 上还有很多东西可以使用。透过 opentelemetry 规范,可让不断扩展的服务,利於追踪并查明其可能故障或性能降低的地方。与日志比较,日志储存成本高,在做除错时没适当的搜寻格式,每个服务同时打印日志时,这除错过程更加艰辛,日志不会有上下文关系。
<<: day9: CSS style 规划 - CSS in JS(emotion 使用 - 3)
>>: [Day 13] 第一主餐 pt.6-叮咚,有您的包裹
不罗嗦! 直接上图 基本上要先在odoo原生的Xml找到你要放置新栏位的位置, 然後使用xpath语...
ES6开始支援解构语法,可以拆解某个资料结构,并指定给变数。 例如: let arr = [ 1, ...
阿呜~第23天了,再撑一个星期~XDD" ▉A.18 Compliance 遵循性 所有的...
关於Hoisting很像是变数被拉升到上层 提升变数不会赋值 var a = 2 LHS conso...
陈述式(Statement) JavaScript 语句类型,用於命令执行指定一系列操作,最大的特徵...