作为对某些 Nagios 脚本进行全面整改的一部分,我正在向脚本中添加参数,以便可以根据每台机器确定阈值。例如,我们指定了触发严重和警告警报的磁盘可用百分比。
其中一个脚本监视器/proc/sys/fs/inode-nr
- 它有两个值,nr_inodes
和nr_free_inodes
。我对 UNIX 的内部结构了解不多,所以我不太确定是否可以根据其中的值在此文件上设置阈值。
nr_inodes
并nr_free_inodes
建议将正在使用的 inode 数量计算为(nr_inodes - nr_free_inodes)
。因此,猜测一下,当正在使用的数量接近 的 X% 和 Y% 时nr_inodes
,脚本应该分别触发警告和严重警报。
这看起来是一个正确的假设吗?
答案1
引用 kernel/Documentation/sysctl/fs.txt
Nr_inodes 代表系统已分配的 inode 数量,该数量可能略大于 inode-max,因为 Linux 每次分配一页。
Nr_free_inodes 表示空闲的 inode 数量(?),当 nr_inodes > inode-max 时,preshrink 非零,系统需要修剪 inode 列表而不是分配更多。
所以你的假设是相当错误的。
您可以使用“df -i”来获取 inode 利用率。
答案2
如果您想要检查磁盘 inode 使用情况(这对于 Virtuozzo/OpenVZ 安装实际上很重要,因为我们遇到了这方面的问题),check_disk Nagios 插件有 -iwarning 和 -icritical 选项:
-W, --iwarning=PERCENT% 如果 inode 空间的可用百分比小于 PERCENT,则以 WARNING 状态退出
-K, --icritical=PERCENT% 如果 inode 空间的可用百分比小于 PERCENT,则以 CRITICAL 状态退出