0

我正在使用 sensu 来跟踪日志文件警报。我需要跟踪 auth.log。我在我的config.json.

“命令”:“sudo /etc/sensu/plugins/check-log.rb -f /var/log/auth.log -q 'fatal' -c 1”

我希望跟踪对该服务器的黑客攻击尝试,但 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. 或者我可以将 sensuauth跟踪重定向到不同的文件吗?

编辑

为了解决这个问题,我将sensu用户添加到adm组中。sudo visudo并为用户删除了条目sensu。现在,我仍然无法让 sensu 报告。奇怪,我收到的错误消息

检查运行失败:Permission denied @ rb_sysopen - /var/cache/check-log/default/var/log/auth.log, ["/etc/sensu/plugins/check-log.rb:208:in initialize'", "/etc/sensu/plugins/check-log.rb:208:inopen'" , "/etc/sensu/plugins/check-log.rb:208:in search_log'", "/etc/sensu/plugins/check-log.rb:134:inblock in run'", "/etc/sensu/plugins/check-log.rb:128:in each'", "/etc/sensu/plugins/check-log.rb:128:inrun'", "/opt/sensu /embedded/lib/ruby/gems/2.3.0/gems/sensu-plugin-1.4.0/lib/sensu-plugin/cli.rb:58:in `block in '"]

请注意,我正在尝试check-logfor /var/log/auth.log,而客户正在尝试/var/cache/check-log/default/var/log/auth.log

4

1 回答 1

0

您不需要以check-log.rbroot 权限运行。实际上,我强烈建议您不要进行任何需要 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用户添加到任何组,

于 2017-02-16T10:43:50.740 回答