我试图在Nxlog中读取last命令的输出。我想定期在last文件上运行utmp。换句话说,我想安排一个shell命令以一个时间间隔运行,并将输出作为一个日志事件来传递。换句话说,我希望在一个<Schedule>模块中包含im_exec子句,但是这似乎是不可能的,所以我正在尝试其他的东西(这个例子是在linux中):
<Input sample_umtp_linux>
Module im_null
<Schedule>
Every 1 sec
Exec exec("/usr/bin/last", "-f", "/var/run/utmp");
</Schedule>
</Input>
<Output out_debug>
Module om_file
File '<mydir>/debug.log'
</Output>
<Route processwtmp>
Path sample_umtp_linux => out_debug
</Route>我没有收到任何错误消息,但也没有任何输出。有什么方法可以捕获输出并将其输入Nxlog路由吗?
(额外的限制:我将把解决方案部署到Hp Ux,所以我的选择在可用的系统工具方面有点有限。我希望尽可能少地依赖Nxlog本身之外的东西。)
发布于 2016-02-10 15:26:21
我为Linux找到了一个可行的解决方案,这个解决方案应该很明显:
<Input sample_umtp_linux>
Module im_exec
Command <my_script_dir>/run_last_forever.sh
</Input>使用一个脚本,run_last_forever.sh,如下所示:
#!/bin/sh
while true
do
/usr/bin/last -f /var/run/utmp
sleep 1
done然而,似乎Nxlog最终可能无法为HP-UX构建。但这是另外一个问题。
https://serverfault.com/questions/755266
复制相似问题