0
で特定のフィールドを追加するには、イベント・メッセージのexmpleです:Logstash一定値以下
{
"timestamp":"2016-03-29T22:35:44.770750-0400",
"flow_id":45385792,
"in_iface":"eth1",
"event_type":"alert",
"src_ip":"3.3.3.8",
"src_port":21,
"dest_ip":"2.2.2.2",
"dest_port":52934,
"proto":"TCP",
"alert":{
"action":"allowed",
"gid":1,
"signature_id":4027,
"rev":0,
"signature":"FTP Successful Login",
"category":"",
"severity":3
},
"payload":"MjU3ICIvaG9tZS9uZXd1c2VyIg0K",
"payload_printable":"257 newuser",
"stream":0,
"packet":"AFBWo0NoAFBWoxZWCABFAABJKDpAAEAGCGcDAwMIAgICAgAVzsbd4MhqOBOjfoAYAOMYcwAAAQEIChHN4EQHnwugMjU3ICIvaG9tZS9uZXd1c2VyIg0K"
}
そして私は、文字列"newuser"
を識別できるようにしたいと思います(数"257"
後に必ず来る)とuserという別のフィールドを作成し、"newuser"
文字列を追加します。
マイLogstash設定ファイル以下の通りです:
input
beats
port => 5044
codec => json
type => "SuricataIDPS"
output
elasticsearch
hosts => ["localhost:9200"]
sniffing => true
manage_template => false
index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
#document_type => "%{[@metadata][type]}"
にはどうすれば"newuser"
文字列を抽出することができ、その値を新しいフィールドを追加するには?
おかげでたくさん! 条件を追加する場合は、たとえば、他のフィールドをチェックします。例えば https://www.elastic.co/guide/en/logstash/current/event-dependent-configuration.html :あなたはのif-elseのif-else文を使用することができます –
'[プロト]場合== "TCP" { GROK {マッチ=> "payload_printable" "257(?。+)"] tag_on_failure => [] }} ' –