Zabbix监控K8S的PV信息详细教程!
文将介绍如何使用Zabbix自定义键值脚本方式监控K8S的PV卷状态等信息。
在Kubernetes (K8S) 中,PersistentVolume (PV) 是集群中的一个抽象层,它代表了底层存储资源,例如网络存储系统(如NFS、Ceph、GlusterFS等)或本地存储(如硬盘驱动器、分区或目录)。PV 是集群级别的资源,可以被多个 Pod 共享,并且它的生命周期独立于任何使用它的 Pod
一、首先在K8S_master节点上安装Zabbix_Agent服务
二、查看PV命令是否能正常运行
三、编写自定义监控脚本,通过自动发现格式生成PV
#!/bin/bash
echo -n ‘{“data”: [’
kubectl get pv -o custom-columns=NAME:.metadata.name,STATUS:.status.phase --no-headers |
awk ‘{
if(NR>1) printf “,”;
printf “{”{#PV_NAME}“:”%s", “{#PV_STATUS}”:“%s”}", $1, $2
} END {print “]}”
}’
四、添加zbx自定义键值
UserParameter=kubernetes.pv.discovery,/usr/local/lwops/scripts/get_k8s_pv.sh #自动发现规则键值
UserParameter=kubernetes.pv.status[*],kubectl get pv $1 -o jsonpath=‘{.status.phase}’ #获取STATUS列的状态键值
五、重启Agent服务
#systemctl restart zabbix_agentd
六、创建自动发现规则
七、创建监控原型
八、创建触发器类型
状态值如果是Failed或Pending状态产生告警
九、查看监控项指标是否采集正常
更多zabbix技术资料可以关注乐维社区免费答疑