0

我正在使用连接到 .csv 文档的管道,在 Graylog 上的 Windows 日志中创建一个新字段。正如您从屏幕截图中看到的那样,我可以在每个日志中看到该字段,但是当我单击“显示最高值”以创建新小部件时,Graylog 不显示任何内容。

我认为这是因为字段中的值不是字符串,实际上它在大括号之间。问题是我找不到在小部件中显示这些值的方法。我尝试更改管道规则,但没有结果。

以下是我对规则所做的众多尝试之一:

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_ita", to_string(winlogbeat_winlog_italiano));

end

截屏:

在此处输入图像描述

4

1 回答 1

1

这是 JSON 对象的字符串表示,您应该尝试替换

set_field("winlogbeat_winlog_ita", to_string(winlogbeat_winlog_italiano));

经过

set_field("winlogbeat_winlog_ita", to_string(winlogbeat_winlog_italiano.value));
                                                                         /\
-------------------------------------------------------------------------|

这应该避免存储 JSON 对象表示(我们希望在 中看到“Un account ha effettuato il logon con succcesso” winlogbeat_winlog_ita

但是,这可能不是您唯一的问题,请检查字段类型是否不是“复合”:如果过去您在此字段中为当前索引发送了另一种数据类型,则可能会发生这种情况。

了解您是否处于这种情况的最佳方法是单击“字段”(在侧边栏中,搜索时),然后单击该字段winlogbeat_winlog_ita并查看弹出窗口显示“winlogbeat_winlog_ita = string”或者它是否显示混合字段类型。
如果是复合值,则应轮换活动写入索引,生成一些日志,然后再次搜索(从执行轮换的日期/时间开始搜索,以避免考虑旧的复合值)

于 2021-04-13T17:10:28.660 回答