ELK スタックを調査しているときに、問題が発生しました。
ログを生成し、ログを logstash に転送しました。ログは JSON 形式なので、Logstash 構成の JSON フィルターのみを使用して ES に直接プッシュされ、接続されて、ES を指す Kibana が開始されました。
Logstash 構成:
filter {
json {
source => "message"
}
これで、毎日のログのインデックスが作成され、Kibana はすべてのインデックスのすべてのログを表示します。
私の問題は、ログにはKibanaでフィルタリングが有効/インデックス化されていないフィールドがたくさんあることです。それらをKibanaのフィルターに追加しようとすると、「インデックスのないフィールドは検索できません」。
注: これらは sys/apache ログではありません。JSON 形式のカスタム ログがあります。
ログ形式:
{"message":"ResponseDetails","@version":"1","@timestamp":"2015-05-23T03:18:51.782Z","type":"myGateway","file":"/tmp/myGatewayy.logstash","host":"localhost","offset":"1072","data":"text/javascript","statusCode":200,"correlationId":"a017db4ebf411edd3a79c6f86a3c0c2f","docType":"myGateway","level":"info","timestamp":"2015-05-23T03:15:58.796Z"}
「statusCode」、「correlationId」などのフィールドがインデックス化されません。何か理由があるのでしょうか?
すべてのフィールドまたは特定のフィールドのインデックスを作成するように要求するには、ES にマッピング ファイルを渡す必要がありますか?
ベストアンサー1
Kibana フィールドリストを更新しましたか?
- キバナ。
- 設定。
- フィールド リストを再読み込みします。
新しいバージョン:
- キバナ。
- 管理。
- 右上の更新アイコン。