【发布时间】:2015-08-18 02:37:00
【问题描述】:
我的日志文件是这样的:
Jan 1 22:54:17 drop %LOGSOURCE% >eth1 rule: 7; rule_uid: {C1336766-9489-4049-9817-50584D83A245}; src: 70.77.116.190; dst: %DSTIP%; proto: tcp; product: VPN-1 & FireWall-1; service: 445; s_port: 2612;
Jan 1 22:54:22 drop %LOGSOURCE% >eth1 rule: 7; rule_uid: {C1336766-9489-4049-9817-50584D83A245}; src: 61.164.41.144; dst: %DSTIP%; proto: udp; product: VPN-1 & FireWall-1; service: 5060; s_port: 5069;
Jan 1 22:54:23 drop %LOGSOURCE% >eth1 rule: 7; rule_uid: {C1336766-9489-4049-9817-50584D83A245}; src: 69.55.245.136; dst: %DSTIP%; proto: tcp; product: VPN-1 & FireWall-1; service: 445; s_port: 2970;
Jan 1 22:54:41 drop %LOGSOURCE% >eth1 rule: 7; rule_uid: {C1336766-9489-4049-9817-50584D83A245}; src: 95.104.65.30; dst: %DSTIP%; proto: tcp; product: VPN-1 & FireWall-1; service: 445; s_port: 2565;
Jan 1 22:54:43 drop %LOGSOURCE% >eth1 rule: 7; rule_uid: {C1336766-9489-4049-9817-50584D83A245}; src: 222.186.24.11; dst: %DSTIP%; proto: tcp; product: VPN-1 & FireWall-1; service: 2967; s_port: 6000;
Jan 1 22:54:54 drop %LOGSOURCE% >eth1 rule: 7; rule_uid: {C1336766-9489-4049-9817-50584D83A245}; src: 74.204.108.202; dst: %DSTIP%; proto: udp; product: VPN-1 & FireWall-1; service: 137; s_port: 53038;
Jan 1 22:55:10 drop %LOGSOURCE% >eth1 rule: 7; rule_uid: {C1336766-9489-4049-9817-50584D83A245}; src: 71.111.186.26; dst: %DSTIP%; proto: tcp; product: VPN-1 & FireWall-1; service: 445; s_port: 38548;
Jan 1 23:02:56 accept %LOGSOURCE% >eth1 inzone: External; outzone: Local; rule: 3; rule_uid: {723F81EF-75C9-4CBB-8913-0EBB3686E0F7}; service_id: icmp-proto; ICMP: Echo Request; src: 24.188.22.101; dst: %DSTIP%; proto:
这是我运行的配置文件:
input {
file {
path => "/etc/logstash/external_noise.log"
type => "external_noise"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter {
grok {
match => [ 'message', '%{CISCOTIMESTAMP:timestamp} %{WORD:action} %{SPACE} %{DATA:logsource} %{DATA:interface} %{GREEDYDATA:kvpairs}' ]
}
kv {
source => "kvpairs"
field_split => ";"
}
}
output {
elasticsearch {
action => "index"
host => "localhost"
index => "noise-%{+dd.MM.YYYY}"
workers => 1
}
}
在我的 Kibana 中,我的字段与我指定的字段有些不同。此外,它的时间戳是我使用配置文件启动 logstash 的时间。 有一个字段是
message: Jan 1 22:54:17 drop %LOGSOURCE% >eth1 rule: 7; rule_uid: {C1336766-9489-4049-9817-50584D83A245}; src: 70.77.116.190; dst: %DSTIP%; proto: tcp; product: VPN-1 & FireWall-1; service: 445; s_port: 2612;
据我所知,我已经过滤了它。我需要变异来添加字段吗?抱歉,我不是 ELK 的专家,我有兴趣了解并了解更多信息。
【问题讨论】:
-
首先,“%{DATA:logsource}”应该是“%{DATA:logsource}”。
-
抱歉,已编辑。一些间距错误
-
您更正的模式会将“消息”字段拆分为其他几个字段(“时间戳”、“操作”、“日志源”、“接口”、“kvpairs”)。这不是你看到的吗?
-
是的,它有,但我使用
;拆分 kvpairs,但它并没有将它分开。我必须手动指定字段或添加键吗? -
您只向 kv{} 提供
field_split,这是将一个键/值对与另一个分开的原因。由于您的键与值用冒号分隔,因此您还需要指定value_split。请务必阅读 kv{} 手册页!
标签: python logstash grok logstash-grok logstash-configuration