如何使用管道将数字 ID 更改为 Graylog 中的句子?

How to change a numeric ID into a sentence in Graylog using pipelines?

我正在尝试“美化”我从 Graylog 上的某些 windows 日志中收到的数据。我的想法是将 windows 日志 ID 从数字更改为该 ID 的实际定义。例如:我收到 ID 为 4625 的日志,我想在我的小部件中显示 “帐户无法登录”.

为此,我使用管道和查找 table,它从我上传到服务器的 .csv 中读取 ID 和自然语言的相应定义。

这是我为管道编写的规则,它似乎不起作用:

rule "eventid_windows_rule"

when

  has_field("winlogbeat_winlog_event_id")

then

let winlogbeat_winlog_italiano = lookup("winlogbeat_winlog_event_id", to_string($message.winlogbeat_winlog_event_id));

set_field("winlogbeat_winlog_italiano", winlogbeat_winlog_italiano);

end

我认为我的问题具体出在这条规则上,因为Graylog允许测试查找tables,如果我手动写一个ID,查找table会找到相应的描述。

我自己解决了这个问题,这是规则的正确代码:

rule "eventid_windows_rule"

when

  has_field("winlogbeat_winlog_event_id")

then

let winlogbeat_winlog_italiano = lookup("eventid_widget_windows_lookup", $message.winlogbeat_winlog_event_id);

set_field("winlogbeat_winlog_italiano", winlogbeat_winlog_italiano);

end

此规则检查日志是否包含字段 "winlogbeat_winlog_event_id",然后生成新字段 "winlogbeat_winlog_italiano" ,将 "winlogbeat_winlog_event_id" 的数值与我创建的 .csv 中的自然语言描述相关联,然后将描述放入字段 "winlogbeat_winlog_italiano".