【问题标题】:How to parse captured data using logstash?如何使用logstash解析捕获的数据?
【发布时间】:2017-07-08 21:39:08
【问题描述】:

我有一个与cyberoam 一起使用的elk 堆栈,我想用logstash 解析这条消息,你能帮我吗:

"<30>date=2017-02-19 time=21:59:15 timezone=\"IST\" device_name=\"CR200iNG\" device_id=C20313272882-BQ2EUG log_id=010302602002 log_type=\"Firewall\" log_component=\"Appliance Access\" log_subtype=\"Denied\" status=\"Deny\" priority=Information duration=0 fw_rule_id=0 user_name=\"\" user_gp=\"\" iap=0 ips_policy_id=0 appfilter_policy_id=0 application=\"\" application_risk=0 application_technology=\"\" application_category=\"\" in_interface=\"PortF\" out_interface=\"\" src_mac=dd:dd:dd:02:1c:e4 src_ip=192.168.200.9 src_country_code= dst_ip=255.255.255.255 dst_country_code= protocol=\"UDP\" src_port=32771 dst_port=7423 sent_pkts=0 recv_pkts=0 sent_bytes=0 recv_bytes=0 tran_src_ip= tran_src_port=0 tran_dst_ip= tran_dst_port=0 srczonetype=\"\" srczone=\"\" dstzonetype=\"\" dstzone=\"\" dir_disp=\"\" connid=\"\" vconnid=\"\"",

要明确:

date=2017-02-19 
time=21:59:15 
timezone=\"IST\" 
device_name=\"CR200iNG\" 
device_id=C20313272882-BQ2EUG 
log_id=010302602002 
log_type=\"Firewall\" 
log_component=\"Appliance Access\" 
log_subtype=\"Denied\" 
status=\"Deny\" priority=Information duration=0 
fw_rule_id=0 
user_name=\"\" 
user_gp=\"\" 
iap=0 
ips_policy_id=0 
appfilter_policy_id=0 
application=\"\" 
application_risk=0 
application_technology=\"\" 
application_category=\"\" 
in_interface=\"PortF\" 
out_interface=\"\" 
src_mac=c4:04:15:02:1c:e4 
src_ip=192.168.200.9 
src_country_code= 
dst_ip=255.255.255.255 
dst_country_code= 
protocol=\"UDP\" 
src_port=32771 
dst_port=7423 
sent_pkts=0  
recv_pkts=0 
sent_bytes=0 
recv_bytes=0 
tran_src_ip= 
tran_src_port=0 
tran_dst_ip= 
tran_dst_port=0 
srczonetype=\"\" 
srczone=\"\" 
dstzonetype=\"\" 
dstzone=\"\" 
dir_disp=\"\" 
connid=\"\" 
vconnid=\"\""
,

您能告诉我如何使用logstash解析捕获的数据包,因为cyberoam有能力捕获网络中的数据包,我将这些数据发送到logstash,但logstash没有在kibana中显示数据

最好的问候

【问题讨论】:

    标签: logstash packet-capture


    【解决方案1】:

    看这里的格式,好像the kv filter在这里最合适。

    filter {
      kv {
        source => "message"
        add_tag => [ 'cyberoam' ]
      }
    }
    

    kv 过滤器将拆分字符串中的key1=value key2=value 集并将它们转换为字段。这似乎很适合你。可以使用exclude_keys =&gt; [ 'key1', 'key2' ] 指定您不想包含的键

    【讨论】:

    • 我正在使用以下内容:kv { source => "syslog_message" } mutate { replace => ["type", "%{syslog_program}"] remove_field => ["syslog_message", "syslog_timestamp "] gsub => [ '消息', '= ', '="" '] }
    猜你喜欢
    • 2020-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多