运行 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 创建一条路由,以便丢弃输出。