標籤:frequency 監控 tor color config ber 分享 com 結構
Kubernetes的生態中,cAdvisor是作為容器監控資料擷取的Agent,其部署在每個節點上,內部代碼結構大致如下:代碼結構很良好,collector和storage部分基本可做到增量擴充開發。
關於cAdvisor支援自訂指標方式能力,其自身是通過容器部署的時候設定lable標籤項:io.cadvisor.metric.開頭的lable,而value則為自訂指標的設定檔,形如下:
{ "endpoint" : { "protocol": "https", "port": 8000, "path": "/nginx_status" }, "metrics_config" : [ { "name" : "activeConnections", "metric_type" : "gauge", "units" : "number of active connections", "data_type" : "int", "polling_frequency" : 10, "regex" : "Active connections: ([0-9]+)" }, { "name" : "reading", "metric_type" : "gauge", "units" : "number of reading connections", "data_type" : "int", "polling_frequency" : 10, "regex" : "Reading: ([0-9]+) .*" }, { "name" : "writing", "metric_type" : "gauge", "data_type" : "int", "units" : "number of writing connections", "polling_frequency" : 10, "regex" : ".*Writing: ([0-9]+).*" }, { "name" : "waiting", "metric_type" : "gauge", "units" : "number of waiting connections", "data_type" : "int", "polling_frequency" : 10, "regex" : ".*Waiting: ([0-9]+)" } ]}
當前cAdvisor只支援http介面方式,也就是被監控容器應用必須提供http介面,所以能力較弱,如果我們在collector這一層做擴充增強,提供資料庫,mq等等標準應用程式的監控模式是很有價值的。在此之前的另一種方案就是如所示搭配promethuese(其內建有非常豐富的標準應用程式的外掛程式涵蓋了APM所需的採集大部分外掛程式),但是這往往會導致系統更複雜(如果應用程式層並非想使用promethuse)
在Kubernetes監控生態中,一般是如下的搭配使用:
Kubernetes營運生態-cAdvisor分析