2017-02-19 4 views
0

Ich habe einen Elch-Stack mit Cyberoam verwendet, und ich möchte diese Nachricht mit logstash analysieren können Sie mir bitte helfen:Wie geparst Daten mit 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=\"\"", 

klar:

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=\"\"" 
 
,

und können Sie mir bitte sagen, wie man die gefangenen Pakete mit logstash analysiert, weil es eine Fähigkeit im Cyberoam gibt, die Pakete im Netzwerk zu erfassen und ich diese Daten an logstash, aber logstash i s nicht Daten in Kibana

freundlichen Grüßen

Antwort

1

Mit Blick auf das Format angezeigt, es sieht aus wie the kv filter am besten geeignet ist hier.

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

Der kv Filter wird key1=value key2=value Sätze in einem String abspalten und in Felder drehen. Das scheint dir gut zu passen. Keys Sie wissen, Sie wollen nicht enthalten kann angegeben werden, mit exclude_keys => [ 'key1', 'key2' ]

+0

ich folgendes bin mit: " kv { source => "syslog_message" } mutieren { ersetzen => [ "Typ", % {syslog_program} "] remove_field => [" syslog_message "," syslog_timestamp "] gsub => ['nachricht', '=', '="' '] } – user136591