自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在 Linkerd 中獲取應(yīng)用的黃金指標(biāo)

開發(fā)
在本章中,我們將詳細(xì)了解這些指標(biāo),并使用 Emojivoto 示例應(yīng)用程序了解它們的含義。

在本章中,我們將詳細(xì)了解這些指標(biāo),并使用 Emojivoto 示例應(yīng)用程序了解它們的含義。

我們先簡(jiǎn)單了解下服務(wù)健康黃金指標(biāo)的經(jīng)典定義:

  • Latency(延遲)
  • Error rate(錯(cuò)誤率)
  • Traffic volume(流量)
  • Saturation(飽和度)

Linkerd 的價(jià)值不僅僅在于它可以提供這些指標(biāo),畢竟,我們可以非常簡(jiǎn)單地直接檢測(cè)應(yīng)用程序代碼。相反,Linkerd 的價(jià)值在于它可以在整個(gè)應(yīng)用程序中以統(tǒng)一的方式提供這些指標(biāo),并且不需要更改應(yīng)用程序代碼。換句話說,無(wú)論是誰(shuí)編寫的,它使用什么框架,它是用什么語(yǔ)言編寫的,以及它做什么,Linkerd 都可以為你的服務(wù)提供這些指標(biāo)。

接下來(lái)讓我們來(lái)依次檢查下黃金指標(biāo),看看 Linkerd 是如何測(cè)量它們的。

Latency

延遲是響應(yīng)請(qǐng)求所需的時(shí)間,對(duì)于 Linkerd,是通過 Linkerd 代理向應(yīng)用程序發(fā)送請(qǐng)求和接收響應(yīng)之間經(jīng)過的時(shí)間來(lái)進(jìn)行衡量的,因?yàn)樗谡?qǐng)求之間可能會(huì)有很大差異,所以指定時(shí)間段的延遲通常作為統(tǒng)計(jì)分布來(lái)衡量,并報(bào)告為此分布的百分位數(shù)。Linkerd 能夠報(bào)告常用的延遲指標(biāo)例如 p50、p95、p99 和 p999,對(duì)應(yīng)于 50、95、99 和 99.9 的百分位數(shù)。請(qǐng)求的延遲分布,這些被稱為“尾部延遲”,通常是報(bào)告大規(guī)模系統(tǒng)行為的重要指標(biāo)。

Error rate

錯(cuò)誤率是被視為錯(cuò)誤響應(yīng)的百分比,對(duì)于 Linkerd,是通過 HTTP 狀態(tài)碼來(lái)衡量的:2xx? 和 4xx? 響應(yīng)被認(rèn)為是成功的,5xx 響應(yīng)被認(rèn)為是失敗的,當(dāng)然反過來(lái)我們也可以說 Linkerd 報(bào)告的是成功率而不是錯(cuò)誤率。

需要注意雖然 4xx HTTP 響應(yīng)碼對(duì)應(yīng)于各種形式的“未找到您請(qǐng)求的資源”,但這些是服務(wù)器方面的正確響應(yīng),而不是錯(cuò)誤響應(yīng)。因此,Linkerd 認(rèn)為這些請(qǐng)求是成功的,因?yàn)榉?wù)器按照它的要求做了。

Traffic volume

流量是對(duì)系統(tǒng)的需求量度,在 Linkerd 的上下文中,這被測(cè)量為請(qǐng)求率,例如每秒請(qǐng)求數(shù) (RPS)。Linkerd 簡(jiǎn)單地通過計(jì)算它代理到應(yīng)用程序的請(qǐng)求來(lái)計(jì)算這一點(diǎn)。

另外也需要注意由于 Linkerd 可以自動(dòng)重試請(qǐng)求,因此它提供了兩種流量度量:實(shí)際(對(duì)應(yīng)請(qǐng)求,包括重試)和有效(對(duì)應(yīng)不重試的請(qǐng)求)。如果客戶端向中間有 Linkerd 的服務(wù)器發(fā)出請(qǐng)求,則有效計(jì)數(shù)將是客戶端發(fā)出的請(qǐng)求數(shù);實(shí)際計(jì)數(shù)將是服務(wù)器收到的請(qǐng)求數(shù)。

Saturation

飽和度是對(duì)服務(wù)可用的總資源消耗的度量,例如 CPU、內(nèi)存。與其他服務(wù)網(wǎng)格一樣,Linkerd 沒有直接的機(jī)制來(lái)衡量飽和度,但是,延遲通常是一個(gè)很好的近似值。谷歌 SRE 書籍說:

延遲增加通常是飽和的主要指標(biāo),在某個(gè)小窗口(例如一分鐘)內(nèi)測(cè)量你的第 99 個(gè)百分位響應(yīng)時(shí)間可以給出非常早期的飽和信號(hào)。

所以我們這里主要使用另外三個(gè)黃金指標(biāo):成功率、請(qǐng)求率和延遲。

最后一點(diǎn)是,雖然 Linkerd 可以代理任何 TCP 流量,但這些黃金指標(biāo)僅適用于使用 HTTP 或 gRPC 的服務(wù)。這是因?yàn)檫@些指標(biāo)需要第 7 層或協(xié)議級(jí)別的理解才能計(jì)算。一個(gè) HTTP 請(qǐng)求具有成功和不成功請(qǐng)求的概念,任意的 TCP 字節(jié)流不會(huì)。

Linkerd Dashboard 中查看指標(biāo)

上面我們了解了這些指標(biāo),接下來(lái)我們?cè)賮?lái)看看前面部署的 Emojivoto 應(yīng)用。

$ kubectl get pods -n emojivoto
NAME READY STATUS RESTARTS AGE
emoji-696d9d8f95-5vn9w 2/2 Running 2 (5h11m ago) 41h
vote-bot-6d7677bb68-jvxsg 2/2 Running 2 (5h11m ago) 41h
voting-ff4c54b8d-jjpkm 2/2 Running 2 (5h11m ago) 41h
web-5f86686c4d-58p7k 2/2 Running 2 (5h11m ago) 41h

Emojivoto 應(yīng)用是一個(gè) gRPC 服務(wù),一共包含三個(gè)微服務(wù):

  • web:用戶與之交互的前端服務(wù)
  • emoji:提供表情列表的 API 服務(wù)
  • voting:提供為表情投票的 API 服務(wù)

我們已經(jīng)將該應(yīng)用引入到網(wǎng)格中來(lái)了,能夠在 Linkerd 儀表板中查看 Emojivoto? 應(yīng)用的指標(biāo)了,當(dāng)我們打開 Viz 的儀表板的時(shí)候,默認(rèn)會(huì)顯示集群的所有命名空間列表,其中有一個(gè)非常大的區(qū)別是命名空間列表中的 emojivoto? 項(xiàng)目現(xiàn)在在 Meshed 列下顯示為 4/4。

圖片

命名空間列表

單擊 emojivoto 鏈接可查看命名空間的詳細(xì)信息,包括“章魚”圖,顯示服務(wù)如何通過網(wǎng)絡(luò)連接相互關(guān)聯(lián)的。請(qǐng)記住這張圖片,因?yàn)槲覀儗⑹褂?CLI 工具查看相同的信息。

圖片

章魚圖顯示 Emojivoto 服務(wù)之間的連接

此外還可以看到我們上面討論過的黃金指標(biāo):p50、p95 和 p99 延遲、服務(wù)的成功/錯(cuò)誤率以及請(qǐng)求量,即每秒請(qǐng)求數(shù)(RPS)。從成功率一列可以看出其中一項(xiàng)服務(wù)有一些錯(cuò)誤。

圖片

Emojivoto服務(wù)黃金指標(biāo)

該 Deployment 級(jí)別信息是處理應(yīng)用程序請(qǐng)求的所有 Pod 的指標(biāo)的聚合,我們向下滾動(dòng)頁(yè)面的時(shí)候,可以看到每個(gè) Pod 對(duì)應(yīng)的指標(biāo)。我們可以通過增加 web 服務(wù)的副本數(shù)來(lái)進(jìn)行驗(yàn)證。

執(zhí)行下面的命令將 web 服務(wù)增加到兩個(gè)副本:

$ kubectl scale deploy/web -n emojivoto --replicas=2

執(zhí)行此命令后,儀表板將自行更新,Web 應(yīng)用將在 Meshed 列下顯示為 2/2,此外,你將在 Pod 部分下看到另一個(gè) Web pod。

圖片

Emojivoto web 增加到兩個(gè)副本

圖片

更新 Pods 副本后的 Emojivoto web

通過觀察 Deployments 和 Pods 部分的數(shù)據(jù),可以看到 Deployments 中的指標(biāo)數(shù)據(jù)的確就是 Pods 的指標(biāo)聚合數(shù)據(jù)。最后我們?cè)賮?lái)看看 Linkerd 提供的 TCP 級(jí)別的指標(biāo),在 emojivoto 命名空間的頁(yè)面底部,會(huì)顯示 TCP 連接數(shù)以及每個(gè) Pod 讀取和寫入的字節(jié)數(shù)。

圖片

Emojivoto Pods的TCP指標(biāo)

TCP 的指標(biāo)比 7 層的指標(biāo)會(huì)更少,例如在任意 TCP 字節(jié)流中沒有請(qǐng)求的概念。盡管如此,這些指標(biāo)在調(diào)試應(yīng)用程序的連接級(jí)別問題時(shí)仍然很有用。

接下來(lái)我們將繼續(xù)探索儀表板并查看讓我們實(shí)時(shí)查看流量的 Tap 功能。

到目前為止,我們已經(jīng)可以使用儀表板來(lái)獲取 Emojivoto? 應(yīng)用程序中服務(wù)的聚合性能指標(biāo)了。現(xiàn)在讓我們使用儀表板通過 Linkerd 提供的 tap 功能實(shí)時(shí)查看流量。

在儀表板中,我們可以看到 voting? 服務(wù)的成功率低于 100%,讓我們使用 tap 功能來(lái)查看對(duì)服務(wù)的請(qǐng)求,來(lái)嘗試弄清楚發(fā)生了什么。

圖片

voting服務(wù)的成功率

單擊 emojivoto? 應(yīng)用的 voting? 鏈接可以深入了解詳細(xì)信息,我們將看到的第一件事是顯示 voting 微服務(wù)與應(yīng)用程序中其他微服務(wù)之間關(guān)系的圖表。

圖片

voting微服務(wù)的連接和流量示意圖

在圖表下方,我們可以看到一個(gè) LIVE CALLS? 的選項(xiàng)卡,其中顯示了對(duì) voting 服務(wù)的實(shí)時(shí)調(diào)用!每次調(diào)用時(shí),表中的行都會(huì)更新有關(guān)請(qǐng)求的相關(guān)信息,包括響應(yīng)的 HTTP 狀態(tài)。

圖片

Voting 服務(wù)的實(shí)時(shí)調(diào)用

在我們?cè)敿?xì)了解這些實(shí)時(shí)調(diào)用之前,我們可以點(diǎn)擊 Route Metrics? 選項(xiàng)卡來(lái)查看 voting? 服務(wù)的路由表以及每個(gè)路由的指標(biāo),在我們這里只有一個(gè)名為 Default 的路由,它是為每個(gè)服務(wù)創(chuàng)建的。在后面的章節(jié)中我們將介紹服務(wù)配置文件以及將它們添加到應(yīng)用程序后會(huì)如何影響此選項(xiàng)卡的顯示。現(xiàn)在,我們只需要知道此選項(xiàng)卡存在就足夠了。

圖片

Voting 服務(wù)路由指標(biāo)

現(xiàn)在我們知道了如何在儀表板中查找實(shí)時(shí)調(diào)用,現(xiàn)在我們來(lái)嘗試下看看是否可以找到其中一個(gè)失敗的調(diào)用并使用儀表板中的 tap? 功能。當(dāng)我們看到對(duì)路徑 /emojivoto/v1.VotingService/VoteDoughnut 的請(qǐng)求,請(qǐng)單擊其右側(cè)的顯微鏡圖標(biāo)跳轉(zhuǎn)到 Tap 頁(yè)面。

圖片

VoteDoughnut路徑

其實(shí)通過查看成功率這一列的數(shù)據(jù)很容易發(fā)現(xiàn)該路徑請(qǐng)求有錯(cuò)誤。

Tap 頁(yè)面包含一個(gè)多個(gè)字段的表單,這些字段已根據(jù)我們點(diǎn)擊的特定請(qǐng)求的鏈接預(yù)先填充了,比如我們這里 Path、Namespace、Resource 等字段都已經(jīng)被自動(dòng)填充上了,下面還有一個(gè)輸出顯示正在運(yùn)行的當(dāng)前 Tap 查詢。

圖片

帶有預(yù)填充字段和當(dāng)前Tap查詢的Tap頁(yè)面

現(xiàn)在我們點(diǎn)擊 Tap? 頁(yè)面頂部的 START? 按鈕,開始對(duì)投票服務(wù)的 /emojivoto.v1.VotingService/VoteDougNut? 路徑的請(qǐng)求,幾秒鐘后,下方的列表將開始填充 VoteDougNut 路徑的傳入請(qǐng)求。

圖片

Tap投票服務(wù)的請(qǐng)求集合

我們可以單擊左側(cè)的箭頭來(lái)查看包含請(qǐng)求信息的對(duì)話框。

圖片

失敗請(qǐng)求詳情

這就是通過 Linkerd 儀表板中使用 Tap 的方式,我們還可以繼續(xù)更改表單字段中的值并使用不同的查詢來(lái)查看不同的請(qǐng)求,例如我們可以將 Path? 字段中的 /emojivoto.v1.VotingService/VoteDoughnut? 值刪掉,并將 To Resource? 設(shè)置為 Deployment,當(dāng)我們點(diǎn)擊開始按鈕后,我們將可以看到從 Web 服務(wù)發(fā)送的所有流量。

現(xiàn)在我們已經(jīng)知道如何使用 Tap 查看服務(wù)的流量指標(biāo),接下來(lái)讓我們通過查看 Linkerd 的 Grafana 儀表板來(lái)了解這些指標(biāo)是如何使用的。

Grafana 中展示指標(biāo)

Linkerd 的 Viz 插件內(nèi)置了 Grafana,Linkerd 使用 Grafana 為部署到 Kubernetes 的應(yīng)用程序添加了額外的可觀察性數(shù)據(jù)。在瀏覽儀表板時(shí),你可能已經(jīng)注意到了 Grafana 圖標(biāo),這里我們以 emoji 微服務(wù)為例對(duì) Grafana 圖表進(jìn)行說明。

在 Linkerd 儀表板的 emojivoto? 命名空間中,單擊 emoji? 行最右側(cè)列中的 Grafana 圖標(biāo),會(huì)打開 Grafana 儀表板以顯示 emoji? 微服務(wù)的相關(guān)圖表,這些頁(yè)面上的圖表顯示了 Linkerd 儀表板中顯示的指標(biāo)的時(shí)間序列數(shù)據(jù),這里我們看到的就是 emoji 服務(wù)隨著時(shí)間推移的服務(wù)性能變化。

圖片

emoji服務(wù)的Grafana圖表

Grafana 儀表板上的圖表包括我們的標(biāo)準(zhǔn)黃金指標(biāo)集:

  • Success rate
  • Request rate
  • Latencies

隨時(shí)間查看黃金指標(biāo)圖表的能力是了解應(yīng)用程序性能的非常強(qiáng)大的工具。以時(shí)間序列的形式查看這些指標(biāo)可以讓你了解,例如,當(dāng)流量負(fù)載增加時(shí)服務(wù)的執(zhí)行情況,或者在進(jìn)行更新以添加功能或修復(fù)錯(cuò)誤時(shí),服務(wù)的一個(gè)版本與另一個(gè)版本的比較情況。

Grafana 儀表板的優(yōu)點(diǎn)在于你無(wú)需執(zhí)行任何操作即可創(chuàng)建它們,Linkerd 使用動(dòng)態(tài)模板為每個(gè)注入 Linkerd 代理和部分服務(wù)網(wǎng)格的 Kubernetes 資源生成儀表板和圖表。我們可以在 Grafana 儀表板的左上角,單擊 Linkerd Deployment 鏈接以打開可用儀表板列表。

圖片

可用的Dashboards

比如我們可以點(diǎn)擊 Linkerd Pod? 儀表盤,查看與 emoji 服務(wù)相關(guān)的一個(gè) Pod 的圖表,儀表板中顯示了單個(gè) Pod 的相同的黃金指標(biāo),這與 Deployment 儀表板不同,因?yàn)?Deployment 儀表板顯示了與 Deployment 相關(guān)的所有 Pod 的匯總指標(biāo)。

圖片

emoji服務(wù)關(guān)聯(lián)Pod的圖表

Linkerd CLI 命令查看指標(biāo)

Linkerd 儀表板功能很強(qiáng)大,因?yàn)樗诨跒g覽器的界面中顯示了大量指標(biāo),如果你不想使用瀏覽器的話,那么我們可以使用 Linkerd CLI 命令行工具,CLI 在終端中提供了儀表板相同的功能。

我們可以使用如下所示的命令來(lái)顯示 emojivoto? 命名空間中從 Web 服務(wù)通過 /emojivoto.v1.VotingService/VoteDoughnut 路徑到投票服務(wù)的所有流量:

$ linkerd viz tap deployment/web --namespace emojivoto --to deployment/voting --path /emojivoto.v1.VotingService/VoteDoughnut
req id=3:0 proxy=out src=10.244.2.71:41226 dst=10.244.1.95:8080 tls=true :method=POST :authority=voting-svc.emojivoto:8080 :path=/emojivoto.v1.VotingService/VoteDoughnut
rsp id=3:0 proxy=out src=10.244.2.71:41226 dst=10.244.1.95:8080 tls=true :status=200 latency=1128μs
end id=3:0 proxy=out src=10.244.2.71:41226 dst=10.244.1.95:8080 tls=true grpc-status=Unknown duration=183μs response-length=0B
# ......

此外我們還通過使用 -o json 標(biāo)志指定輸出數(shù)據(jù)為 JSON 格式,以獲取更多詳細(xì)信息,如下所示:

$ linkerd viz tap deployment/web --namespace emojivoto --to deployment/voting --path /emojivoto.v1.VotingService/VoteDoughnut -o json
{
"source": {
"ip": "10.244.1.108",
"port": 59370,
"metadata": {
"control_plane_ns": "linkerd",
"deployment": "web",
"namespace": "emojivoto",
"pod": "web-5f86686c4d-58p7k",
"pod_template_hash": "5f86686c4d",
"serviceaccount": "web",
"tls": "loopback"
}
},
"destination": {
"ip": "10.244.1.95",
"port": 8080,
"metadata": {
"control_plane_ns": "linkerd",
"deployment": "voting",
"namespace": "emojivoto",
"pod": "voting-ff4c54b8d-jjpkm",
"pod_template_hash": "ff4c54b8d",
"server_id": "voting.emojivoto.serviceaccount.identity.linkerd.cluster.local",
"service": "voting-svc",
"serviceaccount": "voting",
"tls": "true"
}
},
"routeMeta": null,
"proxyDirection": "OUTBOUND",
"responseInitEvent": {
"id": {
"base": 6,
"stream": 6
},
"sinceRequestInit": {
"nanos": 686968
},
"httpStatus": 200,
"headers": [
{
"name": ":status",
"valueStr": "200"
},
{
"name": "content-type",
"valueStr": "application/grpc"
},
{
"name": "grpc-status",
"valueStr": "2"
},
{
"name": "grpc-message",
"valueStr": "ERROR"
},
{
"name": "date",
"valueStr": "Thu, 25 Aug 2022 08:52:05 GMT"
}
]
}
}
# ......

可以看到 JSON 輸出的信息要詳細(xì)得多,因?yàn)槊總€(gè)請(qǐng)求都會(huì)打印有關(guān)的多行信息,包括:

  • HTTP 方法
  • 流量的方向
  • HTTP Header

讓我們?cè)龠\(yùn)行一個(gè)更粗粒度的 Tap 查詢,就像我們?cè)趦x表板中運(yùn)行的查詢一樣。比如獲取 Web 服務(wù)的所有流量:

$ linkerd viz tap deploy/web -n emojivoto
req id=7:13 proxy=out src=10.244.1.108:33416 dst=10.244.1.88:8080 tls=true :method=POST :authority=emoji-svc.emojivoto:8080 :path=/emojivoto.v1.EmojiService/FindByShortcode
rsp id=7:13 proxy=out src=10.244.1.108:33416 dst=10.244.1.88:8080 tls=true :status=200 latency=708μs
end id=7:13 proxy=out src=10.244.1.108:33416 dst=10.244.1.88:8080 tls=true grpc-status=OK duration=35μs response-length=20B
req id=7:14 proxy=out src=10.244.1.108:59370 dst=10.244.1.95:8080 tls=true :method=POST :authority=voting-svc.emojivoto:8080 :path=/emojivoto.v1.VotingService/VoteMan
rsp id=7:14 proxy=out src=10.244.1.108:59370 dst=10.244.1.95:8080 tls=true :status=200 latency=809μs
end id=7:14 proxy=out src=10.244.1.108:59370 dst=10.244.1.95:8080 tls=true grpc-status=OK duration=65μs response-length=5B
# ......

上面的命令我們刪除了 --to? 和 --path? 這些參數(shù),粒度更粗了,整個(gè)輸出將顯示所有進(jìn)出 Web 服務(wù)的流量,包括 web? 和 emoji? 服務(wù)以及 web? 和 voting 服務(wù)之間的流量。

我們可以根據(jù)每行輸出中的 src? 和 dst? 字段查看流量的方向,我們也可以嘗試使用 -o json 標(biāo)志再次運(yùn)行查詢以查看 JSON 格式的輸出,并查看是否可以發(fā)現(xiàn)給定請(qǐng)求的流量方向。

上面我們了解了如何在終端中使用 tap? 命令實(shí)時(shí)顯示流量,我們還可以使用另外一個(gè) linkerd viz top? 命令,該命令和 tap? 命令提供相同的信息,但格式與基于 Unix 的 top? 命令相同。換句話說,linkerd viz top 顯示了按最受歡迎的路徑排序的流量路線,我們來(lái)執(zhí)行如下所示的命令進(jìn)行查看:

$ linkerd viz top deploy/web -n emojivoto

圖片

viz top命令

同樣現(xiàn)在我們想在終端中查看儀表板中看到的延遲、成功/錯(cuò)誤率和每秒請(qǐng)求數(shù)指標(biāo),又應(yīng)該怎么操作呢?同樣 Linkerd CLI 提供了一個(gè) stat? 命令可以幫助我們來(lái)執(zhí)行該操作。讓我們通過獲取 emojivoto 命名空間中所有服務(wù)的指標(biāo)來(lái)嘗試一下,如下所示:

$ linkerd viz stat deploy -n emojivoto
NAME MESHED SUCCESS RPS LATENCY_P50 LATENCY_P95 LATENCY_P99 TCP_CONN
emoji 1/1 100.00% 2.3rps 1ms 1ms 1ms 4
vote-bot 1/1 100.00% 0.3rps 1ms 1ms 1ms 1
voting 1/1 89.74% 1.3rps 1ms 1ms 1ms 4
web 2/2 93.51% 2.6rps 1ms 7ms 9ms 6

linkerd viz stat? 命令可以獲取到應(yīng)用服務(wù)性能的最新指標(biāo)數(shù)據(jù),如果你想要獲取更多數(shù)據(jù),可以添加 -o wide 標(biāo)志來(lái)獲取這些 TCP 級(jí)別的詳細(xì)信息。

任何時(shí)候您想要獲得應(yīng)用程序中服務(wù)性能的最新快照,您都可以使用 linkerd viz stat 來(lái)獲取這些指標(biāo)。如果您想更深入地獲取寫入和讀取的字節(jié)數(shù),可以添加 -o Wide 標(biāo)志來(lái)獲取這些 TCP 級(jí)別的詳細(xì)信息。無(wú)論是否使用 -o wide 標(biāo)志,都將始終顯示 TCP 連接。

$ linkerd viz stat deploy -n emojivoto -o wide
NAME MESHED SUCCESS RPS LATENCY_P50 LATENCY_P95 LATENCY_P99 TCP_CONN READ_BYTES/SEC WRITE_BYTES/SEC
emoji 1/1 100.00% 2.3rps 1ms 1ms 1ms 4 229.0B/s 2680.8B/s
vote-bot 1/1 100.00% 0.3rps 1ms 3ms 3ms 1 24.3B/s 585.0B/s
voting 1/1 89.74% 1.3rps 1ms 1ms 1ms 4 121.4B/s 481.0B/s
web 2/2 92.95% 2.6rps 1ms 4ms 4ms 6 205.0B/s 5949.4B/s

同樣 stat? 命令也可以通過 --to? 參數(shù)來(lái)縮小查詢范圍,比如我們想要查詢從 web? 服務(wù)到 voting 服務(wù)的流量,可以使用如下所示的命令:

$ linkerd viz stat -n emojivoto deploy/web --to deploy/voting
NAME MESHED SUCCESS RPS LATENCY_P50 LATENCY_P95 LATENCY_P99 TCP_CONN
web 2/2 86.67% 1.0rps 1ms 4ms 4ms 2

可以看到輸出的數(shù)據(jù)和前面一樣,只是只有一行數(shù)據(jù)輸出,其中最值得注意的是,成功率這一列低于 100% 了。從這個(gè)輸出中,我們可以推斷出,當(dāng)我們查看 emojivoto? 命名空間中的所有服務(wù)時(shí),web? 服務(wù)的成功率是來(lái)自 voting? 和 emoji? 服務(wù)響應(yīng)的總和。為了驗(yàn)證這個(gè)假設(shè),讓我們?cè)龠\(yùn)行一  個(gè)查詢,以僅查看從 web 服務(wù)到命名空間中所有其他服務(wù)的流量。

$ linkerd viz stat -n emojivoto deploy --from deploy/web
NAME MESHED SUCCESS RPS LATENCY_P50 LATENCY_P95 LATENCY_P99 TCP_CONN
emoji 1/1 100.00% 1.9rps 1ms 1ms 2ms 2
voting 1/1 83.05% 1.0rps 1ms 1ms 2ms 2

在這里我們可以看到,實(shí)際上,voting? 服務(wù)存在錯(cuò)誤,而 emoji 服務(wù)則沒有。

stat? 命令是一個(gè)功能強(qiáng)大的工具,具有許多配置選項(xiàng)。我們可以運(yùn)行 linkerd viz stat -h? 以查看可以運(yùn)行 stat 的所有可用方式。

上面我們介紹了幾種不同的方式來(lái)查看被 Linkerd 網(wǎng)格化的應(yīng)用的黃金指標(biāo)數(shù)據(jù)。接下來(lái)我們將學(xué)習(xí)如何使用服務(wù)配置文件獲取每個(gè)路由的指標(biāo),通過為 Kubernetes 服務(wù)創(chuàng)建 ServiceProfile? 對(duì)象,我們可以指定服務(wù)可用的路由并為每個(gè)路由收集單獨(dú)的指標(biāo)。到目前為止,我們只能看到 default? 路由上對(duì)服務(wù)的所有請(qǐng)求的指標(biāo)。為 emojivoto? 服務(wù)配置 ServiceProfiles 后,我們將能夠看到每條路由的指標(biāo)!

責(zé)任編輯:未麗燕 來(lái)源: k8s技術(shù)圈
相關(guān)推薦

2022-09-01 21:56:34

KubernetesLinkerd

2022-08-30 20:00:37

零信任Linkerd

2011-07-11 13:07:28

XAI路由器防火墻

2021-06-17 06:20:43

Linkerd Kustomize網(wǎng)絡(luò)技術(shù)

2024-07-16 08:38:17

2021-06-15 05:45:56

Linkerd annotations網(wǎng)絡(luò)技術(shù)

2009-02-27 16:22:34

AjaxProAjax.NET

2023-03-24 09:07:22

SignalsJavaScript應(yīng)用

2017-09-04 14:40:00

LimitLatchTomcat線程

2020-05-22 10:40:33

ContinuatioJS前端

2012-05-22 22:57:19

移動(dòng)應(yīng)用

2022-06-30 08:58:09

時(shí)鐘輪RPC框架

2014-08-08 16:50:21

AB 測(cè)試安卓推送

2019-05-21 06:00:29

物聯(lián)網(wǎng)體育IOT

2017-10-27 16:19:23

語(yǔ)音識(shí)別CNN

2011-05-18 16:02:08

XML

2021-12-07 18:35:08

物聯(lián)網(wǎng)執(zhí)法應(yīng)用IOT

2010-07-07 17:24:39

BGP協(xié)議

2024-09-30 09:48:41

RabbitMQ消息中間件

2018-10-28 18:30:51

數(shù)據(jù)科學(xué)數(shù)據(jù)項(xiàng)目管理
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)