我的logstash实例正在读取sysmon事件(在json中从nxlog发送),并在我操作某些字段后将它们存储在elasticsearch中。
我想创建一个基于sysmon事件类型的值的新字段。我可以使用[Task]字段来确定我正在接收哪个sysmon事件(1到9)。但我最终得到了这个巨大的if / else语句。
我宁愿能够建立一些本地数组:
EventObject=>['process','file','flow','sysmon']
然后,创建一个类似
的新字段mutate { add_field => {"object" => EventObject[$Task]}}
相反,我有这个
if [Task] == 1 {
mutate {
add_field => {"object" => "process"}
}
} else if [Task] == 2 {
mutate{
add_field => {"object" => "file"}
} else if [Task] == 3 {
mutate{
add_field => {"object" => "flow"}
} else if [Task] == 4 {
etc....
enter code here
这样做的正确方法是什么?我正在尝试使我的logstash配置易于阅读并减少行数。