開源監(jiān)控報(bào)警系統(tǒng)Prometheus
一出現(xiàn), 迅速被大家熟知, 高效的性能, 簡潔的查詢語句具有極大優(yōu)勢. 配合Grafana
的前端顯示, 是一個(gè)非常不錯(cuò)的選擇. 之前k8s
集群通過heaspter+grafana+influxdb
監(jiān)控, 但當(dāng)更新pod
的時(shí)候, 舊的pod數(shù)據(jù)不會(huì)立即消失. 后來又采用weave-scope
監(jiān)控, 各項(xiàng)數(shù)據(jù)也都能很好的獲取, 但其界面顯示沒那么直觀, 加上對cpu
的占用非常大, 所以也不適合.
使用prometheus監(jiān)控k8s一般有兩種方案:
- https://github.com/giantswarm/kubernetes-prometheus
- https://github.com/coreos/prometheus-operator/releases?after=v0.13.0
其中第二種方案我比較推薦,
coreos
公司維護(hù), 更新非澈醒樱快, 但一定要注意使用的版本號(hào). 這里只介紹第二種方案
下載
# 拉取源代碼
git clone https://github.com/coreos/prometheus-operator.git
cd prometheus-operator
# 切換tag
git checkout v0.11.3
注意這個(gè)版本號(hào), 由于
v0.12.0
開始最低支持k8s-v1.7.0
以上, 所以要切換到合適的分支, 具體查看版本更新信息
https://github.com/coreos/prometheus-operator/releases
安裝
# 創(chuàng)建命名空間
kubectl create namespace monitoring
# 創(chuàng)建prometheus-operator
kubectl apply -f bundle.yaml -n monitoring
# 創(chuàng)建相關(guān)服務(wù)
cd contrib/kube-prometheus
./hack/cluster-monitoring/deploy
查看狀態(tài)
檢查
登錄Promethues
后臺(tái)
http://你的地址:30900
選擇
Status -> Targets
, 如果狀態(tài)都是UP
, 證明服務(wù)正常
登錄Grafana
后臺(tái)
http://你的地址:30902
整個(gè)部署過程很簡單, 但一定要注意你的
k8s
版本和它的版本是否兼容. 另外源代碼體積比較大, 拉取時(shí)間可能會(huì)比較長, 容器使用的鏡像也會(huì)比較難下載.
高可用部署系列
Kubernetes高可用集群部署 - 1. 生成證書
Kubernetes高可用集群部署 - 2. ETCD集群
Kubernetes高可用集群部署 - 3. kubectl工具配置
Kubernetes高可用集群部署 - 4. master集群
Kubernetes高可用集群部署 - 5. node集群
Kubernetes高可用集群部署 - 6. DNS配置
相關(guān)服務(wù)
Kubernetes配置secret拉取私倉鏡像
Kubernetes目錄掛載
Kubernetes Ingress使用
Kubernetes限制pod的cpu和內(nèi)存
Helm部署Kubernetes應(yīng)用
Kubernetes監(jiān)控(Heapster)
->Kubernetes監(jiān)控(coreos/prometheus-operator)