【发布时间】:2021-06-09 06:56:24
【问题描述】:
一周前我开始使用 ELK 来存储多个 CSV 并将它们传送到 kibana 以便于分析它们。一种情况将涉及多台机器,一台机器将生成许多 CSV。现在这些 CSV 具有特定的命名模式。我正在使用一个特定文件( BrowsingHistoryView_DMZ-machine1.csv )作为参考并将案例设置为索引。为了定义一个索引,我选择将文件重命名为前缀为 '__case_number __' 。所以文件名将是 -
__1__BrowsingHistoryView_DMZ-machine1.csv
现在我想从中得出两件事。
1。获取案例编号 __1 __ 并使用 1 作为索引。 1 , 2 , 3 等将用作案例编号。
2。获取文件类型(例如 BrowsingHistoryView)并为上传的文件添加标签名称。
3。获取机器名称DMZ-machine1(还不知道我会在哪里使用它)。
我为它创建了一个配置文件,如下-
file {
path => "/home/kriss/Documents/*.csv" # get the files from Documents
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
csv {
separator => ","
}
if [path] =~ "BrowsingHistory" { mutate { add_tag => ["Browsinghistory"] } # define a new tag for browser history, this worked
grok { match => ["path", "__(?<case>[0-9]+)__(?<category>\w+_)(?<machine>(.+)).csv"] # This regex pattern is to get category(browsingHistory), MachineName
}
}
if [path] =~ "Inbound_RDP_Events" { mutate { add_tag => {"Artifact" => "RDP" } } }
} # This tagging worked
output {
elasticsearch {
hosts => "localhost"
index => "%{category}" # This referencing the category variable didn't work
}
stdout {}
}
当我在 logstash 上运行此配置时,生成的索引是 %category 。我需要它来为该文件的索引捕获 browser_history。另外,如果我可以将类别转换为小写字母,因为有时大写在索引中效果不佳。
我尝试按照官方文档进行操作,但没有获得所需的完整信息。
【问题讨论】: