Prometheus 监控kubernetes
监控指标
Kubernetes本身监控
•Node资源利用率
•Node数量
•Pods数量(Node)
•资源对象状态
Pod监控
•Pod数量(项目)
•容器资源利用率
•应用程序
监控指标 具体实现 举例
Node资源利用率 node-exporter 节点CPU,内存利用率
Pod资源利用率 cAdvisor 容器CPU,内存利用率
K8S资源对象状态 kube-state-metrics Pod/Deployment/Service
服务发现类型
node:发现集群中的节点,默认地址为kubelet的HTTP端口
service:发现所有Service及端口为目标
pod:发现所有Pod为目标
endpoints:从Service列表中的Endpoint发现Pod为目标
ingress:发现Ingress路径为目标
参考文档:https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config
监控K8s集群Pod步骤:
1、K8s RBAC授权
kubectl apply -f rbac.yaml
2、获取Token并保存到文件
kubectl get sa prometheus -n kube-system -o yaml
3、将上面的token认证拷贝到Prometheus机器上指定一个文件,然后配置Prometheus配置文件,重新加载配置文件
查看Prometheus web 页面
4、Granfana 导入仪表盘,就能展示相关数据
监控K8s资源对象状态步骤:
1、部署kube-state-metrics
kubectl apply -f kube-state-metrics.yaml
查看Prometheus web ui
添加路由表使其pod ip 能访问metrics 接口
在prometheus 的服务上ip route add 10.244.169.0/16 via 192.168.1.12 dev ens33
然后再刷新Prometheus web 上就会出现up 状态