概述
很多地方提到Prometheus Operator是kubernetes集群监控的终极解决方案,但是目前Prometheus Operator已经不包含完整功能,完整的解决方案已经变为kube-prometheus。项目地址为:https://github.com/coreos/kube-prometheus 本项目基于最新kube-prometheus开发,解决了kube-prometheus安装部署后无法监控kube-controller kube-scheduse kube-etcd,无法告警、无法数据持久化等各种问题,为小白用户提供了极大便利。
主要功能
- 1.支持数据持久化
- 2.支持kube-controller监控
- 3.支持kube-scheduse监控
- 4.支持kube-etcd监控
- 5.支持NodePort访问
- 6.支持ingress访问
- 7.支持离线安装
- 8.支持重复安装
- 9.支持一键卸载
部署在 Kubernetes
前置要求
- 支持kubeadm方式安装的k8s,二进制方式安装的未测试
- 支持prometheus 2.15.2版本
一键安装
git clone https://github.com/chinaboy007/kube-prometheus.git
cd kube-prometheus/manifests
sh install.sh
一键卸载
cd kube-prometheus/manifests
sh uninstall.sh
数据持久化
启用nfs-client-provisioner动态存储,并配置prometheus granafa数据持久化
cd kube-prometheus/manifests/add/nfs-client
sh install.sh
版本升级
如果之前已安装过kube-prometheus,如果想升级到2.17.2,请执行如下命令
1.查看当前版本
kubectl describe pod prometheus-k8s-0 -n monitoring |grep prometheus:v |awk -F: '{print $3}'
2.升级到2.17.2
cd kube-prometheus/manifests/add/upgrade
sh upgrade.sh
告警配置
只开启业微信告警,支持自定义模板
cd kube-prometheus/manifests/add/alert/wechat
sh install.sh
只开启钉钉告警,支持自定义模板
告警采用开源项目https://github.com/timonwong/prometheus-webhook-dingtalk 实现
cd kube-prometheus/manifests/add/alert/dingtalk
sh install.sh
同时开启企业微信、钉钉告警
告警采用开源项目https://github.com/feiyu563/PrometheusAlert 实现
cd kube-prometheus/manifests/add/prometheusalert
先编辑conf.txt,填入相应的key或token,
再执行sh install.sh