我正在使用名为“check_logfiles”的nagios 检查来解析一堆solaris 机器上的syslog。它完全用 Perl 编写,并采用同样使用 Perl 语法的配置文件。我正在尝试使用正则表达式从检查的输出中排除以下行:
Nov 16 19:15:04 db07 Cluster.CCR: [ID 574345 daemon.debug] server address: 127.0.0.1
这是我尝试使用的正则表达式(不成功)
'^.*?(Cluster.CCR).*?$'
这是检查的整个配置文件,以防您可能需要一些上下文:
$options = 'report=long';
@searches = (
{
tag => 'syslog',
logfile => '/var/adm/messages',
rotation => 'SOLARIS',
options => 'noprotocol',
sticky => 2400,
criticalpatterns => [
'daemon.debug',
'daemon.error',
'Could not send report: Broken pipe',
'Could not retrieve catalog from remote server: Error 400 on SERVER'
],
warningpatterns => [
'daemon.warning',
'daemon.info',
'daemon.notice',
'kern',
],
criticalexceptions => [
'connect from nagioszone01.mydomain.com',
'from 10.20.28.140',
'Finished catalog run in',
'Did not receive identification string from',
'^.*?(Cluster.CCR).*?$'
],
warningexceptions => [
'connect from nagioszone01.mydomain.com',
'from 10.20.28.140',
'Finished catalog run in',
'Did not receive identification string from',
'Cluster.CCR'
],
options => 'logfilenocry,sticky=900',
});
感谢您可能需要分享的任何建议