我正在尝试设置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
答案 0 :(得分:1)
该脚本在/ var / cache / log中生成缓存,它存储读取的字节数,并寻找该位置,因此每次进行测试时,都需要先清理该文件夹。
getline(cin, input);
然后运行修复代码
rm -rf /var/cache/check-log
参考:check-log.rb