我在具有多个服务器的环境中运行 Nagios,每个服务器上都有多个服务。有一些自定义检查,但如果可能,最好使用现有检查。我正在使用 NRPE 插件 check check_disk来检查每个挂载的文件系统的利用率:
command[check_all_disks]=/usr/lib/nagios/plugins/check_disk -w 10% -c 5% -p / -p /var -C -u GB -w 200 -c 100 -r '^/mounts[^/]+$'
Run Code Online (Sandbox Code Playgroud)
将所有这些检查为单个服务(“磁盘”)很方便,但是当其中一个进入警告模式时,很难读取状态信息行中的输出:
DISK WARNING - free space: / 6 GB (9% inode=92%): /var 125 GB (67% inode=99%): /mounts/vol0 1152 GB (16% inode=99%): /mounts/vol1 1096 GB (15% inode=99%): /mounts/vol2 126 GB (1% inode=99%): /mounts/vol3 228 GB (3% inode=99%): /mounts/vol4 3245 GB (44% inode=99%): /mounts/vol5 108 GB (1% inode=99%):
Run Code Online (Sandbox Code Playgroud)
在上述情况下,检查是警告,因为 /、/mounts/vol2 和 /mounts/vol5 低于阈值。操作员必须遍历每个值才能找到超出设定水平的值。此外,如果一个处于关键状态而其他处于警告状态,那么通过标记它们或将它们放在不同的行上以不同的方式显示它们会很好。
有没有一种直接的方法可以做到这一点,而无需为每个挂载点创建一个新命令?或者我是否错过了 Nagios 魔法的其他一些基本方法来使这种友好?
我想快速“擦除”一些磁盘,使它们看起来像是准备好进行新分区。目前磁盘上有一种GPT分区类型,它似乎在磁盘的开头和结尾都写入了一些数据。在这种情况下,磁盘上的数据是否被擦除并不重要,因此无需等待整个磁盘从 /dev/zero 开始 dd。那么清除 GPT 开头和结尾的简单方法是什么?
在这种情况下,我使用带有标准 SATA 磁盘(/dev/sda 等)的 Linux (CentOS 7)