0

我正在尝试设置 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
4

1 回答 1

1

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

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

CheckLog CRITICAL: 0 warnings, 2 criticals for pattern .*ERROR.*.
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

参考:check-log.rb

于 2015-09-22T21:43:22.607 回答