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技术资料可以关注乐维社区免费答疑