当前位置: 首页 > news >正文

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

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

脚本的内容:

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

#!/bin/bash
>/zabbixconfpath/zbx_nas.conf >/zabbixscriptspath/findnas.sh >/zabbixscriptspath/checknas.sh >/zabbixscriptspath/checknaswrite.sh
(
cat <<EOF
UserParameter=nas.discovery,/zabbixscriptspath/findnas.sh
UserParameter=nas.check[*],/zabbixscriptspath/checknas.sh \$1
UserParameter=nas.checkwrite[*],/zabbixscriptspath/checknaswrite.sh \$1
EOF
)>>/zabbixscriptspath/zbx_nas.conf(
cat <<EOF
#!/bin/bash
mount_discovery () { 
mount | grep "type nfs" | grep -v "nfsd" | awk '{print \$3}' > /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 <<EOF
#!/bin/bashtimeout 3 df -h \$1 > /dev/null
if [ \$? -ne 0 ]; thenecho 1
elseecho 0
fiEOF
)>>/zabbixscriptspath/checknas.sh(
cat <<EOF
#!/bin/bashtimeout 3 touch \$1/zabbixtestfiles.txt.txt.txt > /dev/null
if [ \$? -ne 0 ]; thenecho 1
elseecho 0
fi
EOF
)>>/zabbixscriptspath/checknaswrite.shchmod 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文件如下:

<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export><version>6.0</version><date>2023-08-14T06:54:29Z</date><groups><group><uuid>7df96b18c230490a9a0a9e2307226338</uuid><name>Templates</name></group></groups><templates><template><uuid>d506374c76194ef2a89f16a5a1a2bdd0</uuid><template>zabbixtest-Template-naschk</template><name>zabbix-Template-naschk</name><groups><group><name>Templates</name></group></groups><discovery_rules><discovery_rule><uuid>65640ddbe5274e79966964e0acdbc503</uuid><name>findnas</name><key>nas.discovery</key><delay>60m</delay><item_prototypes><item_prototype><uuid>98d3e0de995246b8ab905e11c39c774d</uuid><name>chknas write on {#NASNAME}</name><key>nas.checkwrite[{#NASNAME}]</key><delay>60m</delay><trigger_prototypes><trigger_prototype><uuid>bc3fd41f548f4c93b697d01d1af5c3d8</uuid><expression>last(/zabbixtest-Template-naschk/nas.checkwrite[{#NASNAME}])&lt;&gt;0</expression><name>NAS盘write{#NASNAME}状态异常</name><event_name>NAS盘write{#NASNAME}状态异常</event_name><status>DISABLED</status><priority>HIGH</priority></trigger_prototype></trigger_prototypes></item_prototype><item_prototype><uuid>0c70897bc30446c5a07c1ecaa863c11d</uuid>

三.导入模板,在被监控的主机上执行脚本和应用监控模板,实现对被监控主机NAS盘读写情况的监控

并根据实际的需求启用/禁用触发器

http://www.lryc.cn/news/154276.html

相关文章:

  • 无涯教程-JavaScript - DAYS函数
  • 48、springboot 的国际化之让用户在程序界面上弄个下拉框,进行动态选择语言
  • FPGA可重配置原理及实现(1)——导论
  • Ubuntu系统下使用宝塔面板实现一键搭建Z-Blog个人博客的方法和流程
  • 数据结构 | 第一章 绪论
  • python爬虫入门教程(非常详细):如何快速入门Python爬虫?
  • ElementUI浅尝辄止21:Tree 树形控件
  • 插入排序,选择排序,交换排序,归并排序和非比较排序(C语言版)
  • 【每日一题】1041. 困于环中的机器人
  • C# 采用3DES-MAC进行签名 base64解码与编码
  • AI绘画:StableDiffusion实操教程-完美世界-魔女(附高清图下载)
  • python excel 读取及写入固定格式
  • SQL Server进阶教程读书笔记
  • DHTMLX Gantt 8.0.5 Crack -甘特图
  • RHCA之路---EX280(5)
  • ”轻舟已过万重山“-----我回归更新了-----
  • win11右键菜单恢复win10风格
  • Nginx安装及配置负载均衡
  • C# OpenCvSharp 通道分离
  • oracle 自定义存储过程(非常简单明了)
  • layui--记录
  • 【校招VIP】测试技术考点之单元测试集成测试
  • 【Redis专题】Redis核心数据结构实战与高性能原理解析
  • 常见的几种排序算法
  • 动态贴纸、美颜SDK与AR:创造独特的互动体验
  • 〔021〕Stable Diffusion 之 提示词反推、自动补全、中文输入 篇
  • 如何实现响应式布局
  • HTML <tr> 标签
  • 点云从入门到精通技术详解100篇-点云多尺度分类网络
  • 电脑怎么设置定时关机,2个简单的操作