centreon_plugins 使用正则表达式忽略

centreon_plugins ignore with regexp

如何使用正则表达式忽略或过滤 centreon_plugins.pl 的部分结果?

实例:

我正在尝试监控所有 linux 服务器 (RHEL 6) 上的 inode,因此我使用以下命令:

perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=inodes --hostname=servname --snmp-version=2c --snmp-community=mycomm --warning 80 --critical 90 --name --regexp --verbose

这将给我所有文件系统上的所有索引节点,但它总是处于警报状态,例如,/proc 此外,这将监视安装在 nfs 共享上的我的主目录。

所以我想排除几个字符串,例如 home、proc、...

如果我尝试使用这个:

perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=inodes --hostname=servname --snmp-version=2c --snmp-community=mycomm --warning 80 --critical 90 --name --regexp --diskpath=/?!proc/ --verbose

我会收到这样的错误:

-bash: !proc: event not found

有什么想法吗?

必须引用--diskpath=/?!proc/。 Bash 解释字符 !

尝试:

perl centreon_plugins.pl --plugin=os::linux::snmp::plugin --mode=inodes --hostname=servname --snmp-version=2c --snmp-community=mycomm --warning 80 --critical 90 --name --regexp "--diskpath=/?!proc/" --verbose

正确的语法是:

--diskpath='^(?!(/proc)$)'

排除多个文件系统:

--diskpath='^(?!(/proc.*|/sys|/dev/pts|/var/lib/nfs/rpc_pipefs)$)'