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

这篇具有很好参考价值的文章主要介绍了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/bash

timeout 3 df -h \$1 > /dev/null
if [ \$? -ne 0 ]; then
    echo 1
else
    echo 0
fi

EOF
)>>/zabbixscriptspath/checknas.sh

(
cat <<EOF
#!/bin/bash

timeout 3 touch \$1/zabbixtestfiles.txt.txt.txt > /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文件如下:

<?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盘读写情况的监控

并根据实际的需求启用/禁用触发器文章来源地址https://www.toymoban.com/news/detail-693921.html

到了这里,关于zabbix自动发现linux系统挂载的nas盘,并实现读写故障的监控告警的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [自动化分布式] Zabbix自动发现与自动注册

    abbix 自动发现(对于 agent2 是被动模式) zabbix server 主动的去发现所有的客户端,然后将客户端的信息登记在服务端上。 缺点是如果定义的网段中的主机数量多,zabbix server 登记耗时较久,且压力会较大  添加zabbix 客户端 主机 (192.168.17.31) 服务端和客户端都配置时间同步

    2024年01月21日
    浏览(40)
  • Linux创建并挂载NAS

    在Linux服务器1上创建nas服务器,并指定可读写目录 在Linux服务器2上挂载上述nas磁盘 在Linux服务器2上设置开机自动挂载nas磁盘 两台Linux系统服务器,如下: 服务器1 IP为192.168.31.101 服务器2 IP为192.168.31.102 以下操作均需使用root权限 检查服务器上开启nfs服务的必要软件是否存在

    2024年02月03日
    浏览(50)
  • Zabbix4.0 自动发现TCP端口并监控

    java端口很多,每台机器上端口不固定,考虑给机器配置组不同的组挂载模版,相对繁琐。直接使用同一个脚本自动获取机器上java相关的端口,推送到zabbix-server。有服务端口挂了自动推送告警 1、调大延迟 Timeout=30 2、开启远程命令执 UnsafeUserParameters=1 3、给zabbix用户添加sudo权

    2024年02月15日
    浏览(77)
  • Linux 挂载文件系统为可读写 mount -uw / 和 mount -o remount,rw /

    在挂载文件系统为可读写时,我发现一个问题,有时用 mount -uw / 就可以把文件系统挂载成可写的状态。但有时就会发生 “read-only file system” 的错误,这时我用 mount -o remount,rw / 就可以将文件系统重新挂载成可读写状态。 出现这样的情况是因为: mount -o remount,rw / 命令 更加具

    2024年02月03日
    浏览(46)
  • Linux客户端挂载nas存储

    在Linux操作系统中,可以使用NFS(Network File System)协议将NAS设备的共享文件系统挂载到本地计算机上。以下是使用NFS挂载NAS设备的步骤: 确认NAS设备已经正确配置和共享,并且NAS设备和本地计算机在同一局域网内。 在本地计算机上安装NFS客户端软件。例如,在Debian或Ubuntu上

    2024年02月07日
    浏览(44)
  • Linux系统设置开机自动挂载磁盘流程

    Linux系统设置开机自动挂载磁盘流程   在使用Linux系统服务器的时候,经常会遇到服务器重启之后磁盘挂载失效,虽然可以手动进行重新挂载,但是比较麻烦,这里给出开机自动挂载磁盘的方案。   整体方案就是配置“/etc/fstab”文件,再通过mount -a命令重新将“/etc/fsta

    2024年02月04日
    浏览(44)
  • Mac开机自动连接挂载服务器NAS或SMB磁盘类似Windows映射网络驱动器

    在生活和工作中,经常需要电脑连接共享磁盘,或者SMB服务器磁盘,从而方便文件资源共享。 而在使用Windows的时候,Windows自带的资源管理器中有一个映射网络驱动器的功能很是让Mac羡慕,只要添加了,每次开机,打开资源管理器后,就有。非常的方便。 虽然Mac系统也有类似

    2024年03月14日
    浏览(59)
  • Linux开机自动挂载文件系统的几种方式

    在Digitalocean上,给主机添加硬盘时,为了免去分区、格式化、挂载等麻烦,可以选择让运营商帮忙自动完成以上操作。 查看文档可知,运营商在添加硬盘时,在挂载阶段自动执行了以下脚本: 1). 创建挂载目录。 mkdir -p /mnt/volume 2). 挂载硬盘(临时挂载,主机重启后失效)。

    2024年02月09日
    浏览(46)
  • 如何通过内网穿透实现远程连接NAS群晖drive并挂载电脑硬盘?

    群晖作为专业的数据存储中心,在我们的工作生活中越来越常见,无论是家庭存储照片、影视剧,还是办公场所存储商业资料,群晖系统都能发挥数据中心的作用,方便我们随时存储和调用各类数据文件。当然,群晖的作用不仅限于此,我们还可以利用群晖的Drive套件与cpol

    2024年02月08日
    浏览(44)
  • 群晖、威联通NAS硬盘本地化,使用RaiDrive通过WebDAV实现内网挂载

     先看效果   NAS磁盘映射到电脑本地的方法有很多,但好用流畅不卡顿的还得是WebDAV+RaiDrive将磁盘挂载到本地使用,而新版的RaiDrive必须连接互联网才能使用,完全物理隔离的内网中无法正常使用。最后我发现旧版的RaiDrive可以满足需求。   局域网内挂载NAS到本地电脑使用的

    2024年02月06日
    浏览(230)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包