zabbix自动发现linux系统挂载的nas盘,并实现读写故障的监控告警

一.准备好被监控机器上面执行脚本,以备服务端发现和监控

脚本的内容:

ZABBI安装路径可执行文件及配置文件根据实际部署的路径更改

#!/bin/bash
>/zabbixconfpath/zbx_nas.conf >/zabbixscriptspath/findnas.sh >/zabbixscriptspath/checknas.sh >/zabbixscriptspath/checknaswrite.sh
(
cat <>/zabbixscriptspath/zbx_nas.conf

(
cat < /zabbixscriptspath/naslists.txt
chown zabbixuser:zabbixuser /zabbixscriptspath/naslists.txt
NAS_LIST=(\$(cat  /zabbixscriptspath/naslists.txt)) 
        printf '{\n' 
        printf '\t"data":[\n' 
for((i=0;i<\${#NAS_LIST[@]};++i)) 
{ 
num=\$(echo \$((\${#NAS_LIST[@]}-1))) 
        if [ "\$i" != \${num} ]; 
                then 
        printf "\t\t{ \n" 
        printf "\t\t\t\"{#NASNAME}\":\"\${NAS_LIST[\$i]}\"},\n" 
                else 
                        printf  "\t\t{ \n" 
                        printf  "\t\t\t\"{#NASNAME}\":\"\${NAS_LIST[\$num]}\"}]}\n" 
        fi 
} 
} 
mount_discovery
EOF
)>>/zabbixscriptspath/findnas.sh

(
cat < /dev/null
if [ \$? -ne 0 ]; then
    echo 1
else
    echo 0
fi

EOF
)>>/zabbixscriptspath/checknas.sh

(
cat < /dev/null
if [ \$? -ne 0 ]; then
    echo 1
else
    echo 0
fi
EOF
)>>/zabbixscriptspath/checknaswrite.sh

chmod a+x /zabbixscriptspath/findnas.sh /zabbixscriptspath/checknas.sh /zabbixscriptspath/checknaswrite.sh
systemctl restart zabbix-agent.service || ps -ef | grep zabbix-agent | grep -v grep | awk '{print $2}' | xargs -I {} kill {};sleep 1;su - zabbixuser -c "/zabbixpath/sbin/zabbix_agentd -c /zabbixpath/conf/zabbix_agentd.conf"

二.ZABBIX监控模板导出的XML文件如下:



    6.0
    2023-08-14T06:54:29Z
    
        
            7df96b18c230490a9a0a9e2307226338
            Templates