centreon_plugins忽略regexp

时间:2015-07-06 16:03:36

标签: linux monitoring regex-negation inode

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

实际例子:

我试图监控所有Linux服务器上的inode(RHEL 6),所以我使用以下命令:

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

这将为我提供所有文件系统上的所有inode,但它总是处于警报状态,例如,由于/ 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

任何想法?

2 个答案:

答案 0 :(得分:0)

必须引用--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

答案 1 :(得分:0)

正确的语法是:

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

要驱逐多个FileSysyems:

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