Sensu check-log正则表达式错误传递

时间:2015-09-22 20:58:04

标签: ruby regex sensu

我正在尝试设置sensu check-log检查。日志看起来类似于以下内容:

2015-09-22 06:05:44,710 DEBUG log output here
2015-09-22 06:05:44,712 ERROR more log output here
2015-09-22 06:05:44,713 ERROR even more log output here
2015-09-22 06:05:44,714 WARN so much log output

我正在手动运行检查以进行测试,如下所示:

sudo -u sensu /path/to/ruby /path/to/sensu/plugins/check-log.rb -f /path/to/log.log -q '/.*ERROR.*/' -r

当我在这里运行正则表达式时:

http://rubular.com/r/j1NO8RFY2p

它捕获了我想要的两条线。但手动检查会返回:

CheckLog OK: 0 warnings, 0 criticals for pattern /.*ERROR.*/.

所以我不断错误地通过支票。没有看到我在这里做错了什么,文档是相当缺乏这个特定的插件。是的,日志中有错误要捕获。任何和所有的帮助将不胜感激。提前谢谢。

修改 工作代码:

rm -rf /var/cache/check-log
sudo -u sensu /path/to/ruby /path/to/sensu/plugins/check-log.rb -f /path/to/log.log -q '.*ERROR.*' -r

1 个答案:

答案 0 :(得分:1)

该脚本在/ var / cache / log中生成缓存,它存储读取的字节数,并寻找该位置,因此每次进行测试时,都需要先清理该文件夹。

getline(cin, input); 

然后运行修复代码

rm -rf /var/cache/check-log

参考:check-log.rb