开源监控报警系统Prometheus
一出现, 迅速被大家熟知, 高效的性能, 简洁的查询语句具有极大优势. 配合Grafana
的前端显示, 是一个非常不错的选择. 之前k8s
集群通过heaspter+grafana+influxdb
监控, 但当更新pod
的时候, 旧的pod数据不会立即消失. 后来又采用weave-scope
监控, 各项数据也都能很好的获取, 但其界面显示没那么直观, 加上对cpu
的占用非常大, 所以也不适合.
使用prometheus监控k8s一般有两种方案:
- https://github.com/giantswarm/kubernetes-prometheus
- https://github.com/coreos/prometheus-operator/releases?after=v0.13.0
其中第二种方案我比较推荐,
coreos
公司维护, 更新非常快, 但一定要注意使用的版本号. 这里只介绍第二种方案
下载
# 拉取源代码
git clone https://github.com/coreos/prometheus-operator.git
cd prometheus-operator
# 切换tag
git checkout v0.11.3
注意这个版本号, 由于
v0.12.0
开始最低支持k8s-v1.7.0
以上, 所以要切换到合适的分支, 具体查看版本更新信息
https://github.com/coreos/prometheus-operator/releases
安装
# 创建命名空间
kubectl create namespace monitoring
# 创建prometheus-operator
kubectl apply -f bundle.yaml -n monitoring
# 创建相关服务
cd contrib/kube-prometheus
./hack/cluster-monitoring/deploy
查看状态
检查
登录Promethues
后台
http://你的地址:30900
选择
Status -> Targets
, 如果状态都是UP
, 证明服务正常
登录Grafana
后台
http://你的地址:30902
整个部署过程很简单, 但一定要注意你的
k8s
版本和它的版本是否兼容. 另外源代码体积比较大, 拉取时间可能会比较长, 容器使用的镜像也会比较难下载.
高可用部署系列
Kubernetes高可用集群部署 - 1. 生成证书
Kubernetes高可用集群部署 - 2. ETCD集群
Kubernetes高可用集群部署 - 3. kubectl工具配置
Kubernetes高可用集群部署 - 4. master集群
Kubernetes高可用集群部署 - 5. node集群
Kubernetes高可用集群部署 - 6. DNS配置
相关服务
Kubernetes配置secret拉取私仓镜像
Kubernetes目录挂载
Kubernetes Ingress使用
Kubernetes限制pod的cpu和内存
Helm部署Kubernetes应用
Kubernetes监控(Heapster)
->Kubernetes监控(coreos/prometheus-operator)
网友评论