运行 bash 在 nxlog 的日志中发现错误时的脚本
run bash script when ERROR spotted in logs in nxlog
每次在日志中发现错误时,我都会尝试 运行 脚本
<Extension _exec>
Module xm_exec
</Extension>
<Input in>
Module im_file
File "/home/rafal/gitprojects/mst-sender/hub.cloudradar-error.log"
<Exec>
if $raw_event =~ /(\S+)\ (.+) \[ERROR (.+)/
{
exec_async("/bin/sh", "/home/rafal/gitprojects/mst-sender/run.sh");
}
</Exec>
</Input>
从他们的文档看来,如果正则表达式匹配,它应该异步执行,但我只看到以下日志
警告未在 中启动未使用的模块
并且脚本没有被执行。
我不需要输出它,只输出运行那个脚本。
[更新]添加路线
<Output out1>
Module om_null
</Output>
<Route 1>
# Basic route
Path in => out1
</Route>
I don't need to output it, only run that script.
你需要。
您可以做的是使用 om_null
创建一条路由,以便丢弃输出。
每次在日志中发现错误时,我都会尝试 运行 脚本
<Extension _exec>
Module xm_exec
</Extension>
<Input in>
Module im_file
File "/home/rafal/gitprojects/mst-sender/hub.cloudradar-error.log"
<Exec>
if $raw_event =~ /(\S+)\ (.+) \[ERROR (.+)/
{
exec_async("/bin/sh", "/home/rafal/gitprojects/mst-sender/run.sh");
}
</Exec>
</Input>
从他们的文档看来,如果正则表达式匹配,它应该异步执行,但我只看到以下日志 警告未在 中启动未使用的模块 并且脚本没有被执行。 我不需要输出它,只输出运行那个脚本。
[更新]添加路线
<Output out1>
Module om_null
</Output>
<Route 1>
# Basic route
Path in => out1
</Route>
I don't need to output it, only run that script.
你需要。
您可以做的是使用 om_null
创建一条路由,以便丢弃输出。