zabbix监控K8S的PV信息详细教程!

本文将介绍如何使用Zabbix自定义键值脚本方式监控K8S的PV卷状态等信息。

Kubernetes (K8S) 中,PersistentVolume (PV) 是集群中的一个抽象层,它代表了底层存储资源,例如网络存储系统(如NFSCephGlusterFS等)或本地存储(如硬盘驱动器、分区或目录)。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状态产生告警

 

 

九、 查看监控项指标是否采集正常

 

 

 

 

posted @ 2025-07-16 14:49  乐维_lwops  阅读(58)  评论(0)    收藏  举报