0

次の構成ファイルがあります。しかし、これを実行すると、ターミナルでタイムスタンプが変更されますが、ログは ElasticSearch に送信されません。

構成ファイルは次のとおりです。

input {
stdin {
    type => "stdin-type"
  }
}
filter {

  grok {
    type => "stdin-type"
    patterns_dir=>["./patterns"]
    pattern => "%{PARSE_ERROR}"
    add_tag=>"%{type1},%{type2},%{slave},ERR_SYSTEM"
  }


mutate
{
    type=>"stdin-type"
    replace => ["@message", "%{message}" ]
replace =>["@timestamp","2013-05-09T05:19:16.876Z"]

}


}
output {
  stdout { debug => true debug_format => "json"}
  elasticsearch
{
}
}

replace 行を削除すると、ログが送信されます。どこが間違っていますか?

4

2 に答える 2

0

詳細フラグを指定して logstash を実行し、logstash ログに出力がないか確認します。詳細モードでは、logstash プロセスは通常、メッセージが ES に送信されたかどうか、または送信されなかった理由を確認します。

構成はきれいに見えます...詳細フラグが意味のある出力を提供しない場合は、ESセットアップを確認する必要があります。

于 2013-05-19T08:54:49.210 に答える
0

2 番目の mutate コード ブロックで 2 番目の「置換」を試してください。

mutate
{
    type=>"stdin-type"
    replace => ["@message", "%{message}" ]
}
mutate
{
    type=>"stdin-type"
    replace =>["@timestamp","2013-05-09T05:19:16.876Z"]

}
于 2013-06-27T08:12:40.300 に答える