我正在使用sensu来跟踪日志文件警报。我需要跟踪auth.log。我在config.json
中使用了以下内容。
"命令":" sudo /etc/sensu/plugins/check-log.rb -f /var/log/auth.log -q'致命' -c 1"
我希望跟踪 hack 对此服务器的尝试,但是sensu命令本身会进入auth.log,这会成为鸡蛋问题。
在auth.log中
sudo: sensu : TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/etc/sensu/plugins/check-log.rb -f /var/log/auth.log -q fatal -c 1
如何运行sensu命令并避免在auth.log
中跟踪命令。或者我可以将sensu auth
跟踪重定向到其他文件吗?
修改
要解决此问题,我已将sensu
用户添加到adm
群组。并从sudo visudo
用户的sensu
中移除了所有人。现在,我仍然无法获得报告。 Wierd,我收到错误消息
检查无法运行:权限被拒绝@ rb_sysopen - /var/cache/check-log/default/var/log/auth.log, [" /etc/sensu/plugins/check-log.rb: 208:在
initialize'", "/etc/sensu/plugins/check-log.rb:208:in
打开'"," /etc/sensu/plugins/check-log.rb:208:在search_log'", "/etc/sensu/plugins/check-log.rb:134:in
块中运行'&# 34;," /etc/sensu/plugins/check-log.rb:128:在each'", "/etc/sensu/plugins/check-log.rb:128:in
运行'"," / opt / sensu / embedded / lib / ruby / gems / 2.3.0 / gems / sensu-plugin-1.4.0 / lib / sensu-plugin / cli.rb:58:在`block in'"]
请注意,我正在尝试check-log
/var/log/auth.log
,而客户正在尝试/var/cache/check-log/default/var/log/auth.log
答案 0 :(得分:0)
您不需要以root权限运行check-log.rb
。实际上,我强烈建议您不要做任何需要root权限的检查。
确保 /etc/sensu/plugins/check-log.rb 具有所有用户的执行权限:
sudo chmod a+x /etc/sensu/plugins/check-log.rb
文件 /var/log/auth.log 对所有人都可读:
sudo chmod a+r /var/log/auth.log
将支票更改为:
"command": "/etc/sensu/plugins/check-log.rb -f /var/log/auth.log -q 'fatal' -c 1"
不要忘记重启服务器(可能还有客户端)以使更改生效。
这样您就不需要将sensu
用户添加到任何群组,