誰かが私に説明してもらえますか、なぜlogstashは「codec => plain => format」設定を無視し続けるのですか、私は設定しようとしていますか?
私が使用しているCfgファイル:
input {
gelf {
Host => "[some ip]"
port => 12201
}
}
output {
elasticsearch {
Host => "[some ip]"
bind_port => "9301"
}
file {
codec => plain {
format => "%{[time]} | %{[severity]} : /%{[thread]}/ %{[loggername]} (%{[sourcemethodname]}) - %{[message]}"
}
path => "/Users/[some user]/logs/%{Host}/%{facility}-%{+YYYY-MM-dd}.log"
}
}
間違った形式を使用していると思い、フィールドに「%{time}」などのさまざまな組み合わせを試し、さらに次のような定数テキストを使用しようとしました。
codec => plain {format => "Simple line"}
しかし、何も機能していないようです。 Elasticsearchに正常に出力し、フォルダー/ファイルを作成しますが、JSONとして出力します。
誰かがそれで何が起こっているのか知っているなら、助けてください。ありがとう。
file
にはmessage_format
使用したいパラメータ:
file {
message_format => "%{[time]} | %{[severity]} : /%{[thread]}/ %{[loggername]} (%{[sourcemethodname]}) - %{[message]}"
path => "/Users/[some user]/logs/%{Host}/%{facility}-%{+YYYY-MM-dd}.log"
}
パラメータmessage_format
は非推奨であり、Logstashの今後のリリースで削除される予定です。 message_format
を使用する代わりに、次のようにしてみてください。
file {
codec => line {
format => "%{[time]} | %{[severity]} : /%{[thread]}/ %{[loggername]} (%{[sourcemethodname]}) - %{[message]}"
}
path => "/Users/[some user]/logs/%{Host}/%{facility}-%{+YYYY-MM-dd}.log"
}
PS:コーデックplain
を使用した例、line
で試してみてください。