【问题标题】:centreon_plugins ignore with regexpcenteron 插件使用正则表达式忽略
【发布时间】:2015-09-23 20:59:23
【问题描述】:

如何使用正则表达式忽略或过滤 centeron_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

这将为我提供所有文件系统上的所有 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

有什么想法吗?

【问题讨论】:

    标签: linux monitoring regex-negation inode


    【解决方案1】:

    --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
    

    【讨论】:

    • 嗨,尝试使用双引号时出现同样的错误,使用简单引号时没有错误但正则表达式不起作用:找不到名称'/?!proc/'的磁盘路径
    【解决方案2】:

    正确的语法是:

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

    排除多个文件系统:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-04-05
      • 2019-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-13
      相关资源
      最近更新 更多