0

私は以下のように私のjsonファイルをインデックスにしようとしています。私はgrok式を書く必要があります。しかし、私はそれをすることができませんでしたか?手伝って頂けますか?logstashを使用してjsonファイルのインデックスを作成するにはどうすればよいですか?

{"level":"Information","ClientIP":"10.201.21.188","Test":"10.210.21.188"} 
 
{"level":"Information","ClientIP":"10.202.21.187","Test":"10.220.21.188"} 
 
{"level":"Information","ClientIP":"10.203.21.186","Test":"10.230.21.188"} 
 
{"level":"Information","ClientIP":"10.204.21.185","Test":"10.240.21.188"}

私logstash.confは以下の通りです:

input { 
 
    file { 
 
    type => "json" 
 
    path => ["C:/logs/test-20170933.json"] 
 
    start_position => "beginning" 
 
    } 
 
} 
 
filter { 
 
    grok { 
 
     match => [ "message","%{WORD:level} I HAVE TO WRITE OTHER ELEMENTS BUT HOW????"] 
 
    } 
 
    json { 
 
      source => "message" 
 
     } 
 
} 
 
output { 
 
\t stdout { 
 
    codec => rubydebug 
 
    } 
 
    elasticsearch { 
 
     hosts => [ "localhost:9200" ] 
 
     index => "logstash-%{+YYYY.MM.dd}" 
 
    } 
 
}

私たちはそれをachiveする式を完全に理解必要があると思います。また、私はそれのための新しい創造的なソリューションのために開いています。あなたが何かを完全に理解する必要はありません

答えて

2

、あなたのfile入力は、単純にJSONコーデックを必要とし、あなたが行ってもいいです:

input { 
    file { 
    type => "json" 
    path => ["C:/logs/test-20170933.json"] 
    start_position => "beginning" 
    codec => "json"     <-- add this 
    } 
} 
filter { 
} 
output { 
    stdout { 
     codec => rubydebug 
    } 
    elasticsearch { 
     hosts => [ "localhost:9200" ] 
     index => "logstash-%{+YYYY.MM.dd}" 
    } 
} 
関連する問題