我有一些容器在雲端中的 kubernetes 中運行,這些容器正在 prem 資料庫伺服器上進行查詢,我有興趣了解資料庫的延遲如何影響應用程式。我將如何監控/記錄這個?
答案1
假設我只想繪製 SGBD 回應時間圖表,我可以設定一些 Pod 來循環查詢我的資料庫,並將一些結果輸出到它的 stdout,...某種time mysql <cmd-args>
.然後,我將使用公開這些指標的普羅米修斯庫(或 munin、collectd...任何適合您的生態系統的東西)。
假設我對 SQL 內部指標感興趣,我可以在 Kubernetes 上部署一些 mysql 導出器,查詢遠端 SGBD。儘管我懷疑您是否有大量有關鏈路延遲的數據。
假設我對 MySQL 本身不太感興趣,而是對網站到網站的延遲感興趣,我可以使用諸如冒煙、繪製回應時間之類的東西。更好:某種 TCP 檢查,不一定查詢 MySQL,而是測量建立 TCP 握手需要多長時間。
不過,理想的情況是讓您的應用程式測量這些時間。反應緩慢可能是由於距離、硬體故障或軟體故障造成的。追蹤查詢時間和查詢資料可能是有意義的,因為您可能能夠找出可以優化的查詢,...
哦,顯然,Istio、服務網格…往往會附帶許多工具來幫助您追蹤執行時間、資料流…