文將介紹如何使用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技術資料可以關注樂維社區免費答疑