如何在 logstash 中写入过滤器 conf 文件以使用“|”读取 myCustomLogFile分隔符和键=值
how to write filter conf file in logstash to read myCustomLogFile with "|" seprator and key=value
我的日志文件如下所示:
loc=846|time=2012-12-18 12:59:36|action=drop|orig=129.3.70.1|i/f_dir=inbound|i/f_name=eth1|has_accounting=0|uuid=<00000000,00000000,00000000,00000000>|product=VPN-1 & FireWall-1|__policy_id_tag=product=VPN-1 & FireWall-1[db_tag={8831AF0A-6B32-11E3-869E-000000000D0D};mgmt=sc-tog;date=1387735052;policy_name=Standard]|src=192.168.100.2|s_port=60184|dst=198.41.0.4|service=53|proto=udp|rule=15
我希望将此日志拆分为键值 json,以便将其保存在 elasticsearch 中。
我正在使用 logstash,我将日志保存在一个文件中
运算符是“|”字符
我不知道如何在 logstash conf 文件中编写过滤器以读取此日志
logstash 的 conf 文件应该是什么样子
使用kv filter:
filter {
kv {
field_split => "|"
}
}
如果 key/value 拆分成功,您可能希望删除 message
字段,此外,您还需要使用 [=16] 解析 time
字段中的时间戳=]:
filter {
kv {
field_split => "|"
remove_field => ["message"]
}
date {
match => ["time", "YYYY-MM-dd HH:mm:ss"]
remove_field => ["time"]
}
}
您可能还想将某些字段从字符串字段转换为整数字段。为此添加 mutate filter。
mutate {
convert => {
"loc" => "integer"
"rule" => "integer"
"s_port" => "integer"
"service" => "integer"
}
}
我的日志文件如下所示:
loc=846|time=2012-12-18 12:59:36|action=drop|orig=129.3.70.1|i/f_dir=inbound|i/f_name=eth1|has_accounting=0|uuid=<00000000,00000000,00000000,00000000>|product=VPN-1 & FireWall-1|__policy_id_tag=product=VPN-1 & FireWall-1[db_tag={8831AF0A-6B32-11E3-869E-000000000D0D};mgmt=sc-tog;date=1387735052;policy_name=Standard]|src=192.168.100.2|s_port=60184|dst=198.41.0.4|service=53|proto=udp|rule=15
我希望将此日志拆分为键值 json,以便将其保存在 elasticsearch 中。 我正在使用 logstash,我将日志保存在一个文件中 运算符是“|”字符
我不知道如何在 logstash conf 文件中编写过滤器以读取此日志 logstash 的 conf 文件应该是什么样子
使用kv filter:
filter {
kv {
field_split => "|"
}
}
如果 key/value 拆分成功,您可能希望删除 message
字段,此外,您还需要使用 [=16] 解析 time
字段中的时间戳=]:
filter {
kv {
field_split => "|"
remove_field => ["message"]
}
date {
match => ["time", "YYYY-MM-dd HH:mm:ss"]
remove_field => ["time"]
}
}
您可能还想将某些字段从字符串字段转换为整数字段。为此添加 mutate filter。
mutate {
convert => {
"loc" => "integer"
"rule" => "integer"
"s_port" => "integer"
"service" => "integer"
}
}