前言
Kubernetes是當今流行的容器調度系統,已經成爲很多軟件系統的底座,而kubernetes的監控也有很多方案可選,阿里雲InfluxDB®提供時序數據的長期穩定存儲,同時集成了grafana可視化組件,可以幫助用戶快速搭建監控方案。這裏的“快速”有多快呢?一條命令就能搞定!本文就介紹如何使用helm一鍵完成k8s監控數據到阿里雲InfluxDB的存儲鏈路。
關於helm
對於helm的安裝和使用,網上有很多資料,這裏不贅述。有一點需要注意,雖然近期helm 3已經發布,但短期內不是所有的helm chart都兼容helm 3,比如社區的這個issue。
本文依然使用helm 2來安裝。
準備
這裏假設用戶已經在阿里雲購買了InfluxDB®實例,並且創建了賬號以及數據庫,具體流程請參考官方文檔。假設使用的數據庫爲k8s,用戶名是user1,密碼爲abcd1234。
InfluxD®B的訪問地址可以在阿里雲控制檯看到,如果kubernetes集羣同InfluxDB®在同一個阿里雲VPC,可以使用VPC地址,否則需要使用公網地址。這裏假設訪問地址爲 https://ts-yourisntanceid.influxdata.rds.aliyuncs.com:3242
操作
配置好了helm,要做的就是運行下面這條命令:
helm install \
--namespace aliyun-influxdb \
--set prometheus.prometheusSpec.influxdatabase="k8s" \
--set prometheus.prometheusSpec.influxaddress="https://ts-yourisntanceid.influxdata.rds.aliyuncs.com:3242" \
--set prometheus.prometheusSpec.influxusername="user1" \
--set prometheus.prometheusSpec.influxpassword="abcd1234" \
--name influxdb-monitoring \
https://influxdb-public.oss-cn-hangzhou.aliyuncs.com/prometheus-operator-8.3.1.tgz
然後就可以看到數據寫入到influxdb數據庫中了!
寫在後面
這可能是最短的使用教程了。。。
因爲k8s的監控指標以prometheus格式暴露,這個方案是基於prometheus-operator實現的,這樣就具備了pod以及應用的發現能力,用戶也可以方便的對k8s中的服務(比如mysql,redis)進行監控,所有的數據均寫入InfluxDB數據庫。