本文章同时发布於:
文章为自己的经验与夥伴整理的内容,设计没有标准答案,如有可以改进的地方,请告诉我,我会尽我所能的修改,谢谢大家~
大家好,今天要介绍 Istio 的 Jaeger,Jaeger 可以对请求流量进行跟踪,是微服务中复杂请求的追踪方案
启动 K8s 集群,步骤不再赘述,详细介绍可以看DAY23,
要注意的是有利用$ kubectl apply -f
安装了Prometheus
、Grafana
、Grafana
、Jaeger
,
$ minikube start --kubernetes-version v1.16.0
$ istioctl install --set profile=demo
$ kubectl label namespace default istio-injection=enabled
$ kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.7/samples/addons/jaeger.yaml
$ kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.7/samples/addons/prometheus.yaml
$ kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.7/samples/addons/grafana.yaml
$ kubectl apply -f https://raw.githubusercontent.com/istio/istio/release-1.7/samples/addons/Grafana.yaml
$ cd DAY29/helm-digimon
$ helm install . --generate-name
$ minikube tunnel
在 Istio 预设值values.pilot.traceSampling
是设为 1%,意思是 100 个 requests 采样一次,所以我们必须打开网页并将 Create
request 复制起来,利用 bash 打 100 次,进入web.backend.com
之後开启开发者模式
,
并以 for 回圈请求 100 次
$ for i in $(seq 1 100); do {复制的cURL} done
以我来说会如下:
$ for i in $(seq 1 100); do curl 'http://api.backend.com/digimon.Digimon/Create' \
-H 'Connection: keep-alive' \
-H 'Accept: application/grpc-web-text' \
-H 'X-User-Agent: grpc-web-javascript/0.1' \
-H 'X-Grpc-Web: 1' \
-H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36' \
-H 'Content-Type: application/grpc-web-text' \
-H 'Origin: http://web.backend.com' \
-H 'Referer: http://web.backend.com/' \
-H 'Accept-Language: en-US,en;q=0.9,zh-TW;q=0.8,zh;q=0.7' \
--data-binary 'AAAAAAgKBkFndW1vbg==' \
--compressed \
--insecure; done
开启 Jaeger
$ istioctl dashboard jaeger
选取istio-ingressgateway
之後点选搜寻,会发现总共有 100 个追踪,
点选其中一个追踪,会列出此请求在经过了哪些 service,因为 Create
request 本身没有经过不同的 service 所以 dashboard 只显示了一个 service,点选 service 就会在显示此 request 在此 service 上的 tag 状态,
以官方的例子,如果是众多 services,request 在不同 service 走动花费的时间就会如下显示,
<<: 【第 29 个第一次】 没创业也该看看的最小可行性产品 MVP 概念,是人生哲学。
>>: [Day29] 部署网站 - 我与 ASP.NET Core 3 的 30天
在开始正式进入推论统计之前,我们需要熟悉两个基本观念,一个是中央极限定理,一个是假设检定。 这些观念...
前言 首先把之前做的资料库格式搬家,也就是取得每日的股票之交易资讯进入资料库,首先要做的就是建立资料...
“Slept, awoke, slept, awoke, miserable life.” ― f...
如同前面所说,资料模型需要运用到实际环境中才会发挥价值 Initiation 延续之前辅助决策的初始...
图 4-1: 各栏位资料范例 安全签章的要件,我们已经拿到 Nonce 及 HashId 了,接下...