webdevqa.jp.net

LogstashがElasticsearchでインデックスを作成しない

EC2、Ubuntu 14.04インスタンスでELKスタックをセットアップしようとしています。しかし、すべてがインストールされ、1つを除いてすべてが正常に機能しています。

LogstashはElasticsearchにインデックスを作成していません。 Kibanaにアクセスしようとすると、Elasticsearchからインデックスを選択するように求められます。

LogstashはESノードにありますが、インデックスがありません。これが私が受け取るメッセージです:

"Unable to fetch mapping. Do you have indices matching the pattern?"

私は何かを逃していますか?私はこのチュートリアルに従いました: Digital Ocean

EDIT:これが私が直面しているエラーのスクリーンショットです: Logstash missing Indices in ES (Kibana4) さらに別のスクリーンショット: 

10

ようやく問題を特定することができました。何らかの理由で、ポート5000が別のサービスによってアクセスされているため、着信接続を受け入れることができません。そのため、logstash.confファイルを編集して、ポートを5000から5001または便利なものに変更するだけです。

すべてのlogstash-forwardersがログを新しいポートに送信していることを確認してください。これで問題ありません。 FQDNメソッドを使用してlogstash-forwarder.crtを生成した場合、logstash-forwarderはIPではなく同じFQDNを指している必要があります。

2
Karthik K

Amazon AMI(Centos/RHELクローン)で同じ結果が得られました

実際exactly上記のとおり…ntil Elasticにデータを注入しました-これにより最初のdayが作成されますindex-次に、Kibanaが機能し始めます。私のシンプルな.confは:

input {
  stdin {
      type => "syslog"
    }
}
output {
  stdout {codec => rubydebug }
   elasticsearch {
          Host => "localhost"
          port => 9200
          protocol => http
       }
}

その後

cat /var/log/messages | logstash -f your.conf

なぜstdinと尋ねるのですか?まあ、Logstashが終了しないこと(たとえば、fileプラグインを使用している場合)はどこも明確ではありません(これも新しいLogstashユーザーです-これは非常に不明確です)。監視を続けるように設計されています。

ただし、stdinを使用すると、Logstashが実行され、Elastic(インデックスを作成する)にデータを送信してから終了します。

上記と同じことをfile入力プラグインで行った場合、インデックスが作成されることはありません。これがなぜなのかはわかりません。

8
DMH

これはKibana3ですか4ですか?

それがKibana4の場合、トップラインメニューの設定をクリックし、インデックスを選択して、インデックス名に「logstash- *」が含まれていることを確認してから、「time-field」名をクリックして「@timestamp」を選択できます。

以下に設定のスクリーンショットを追加しました。どのオプションにチェックマークを付けるかに注意してください。

logstash settings

0
SimonH