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:これが私が直面しているエラーのスクリーンショットです: さらに別のスクリーンショット:
ようやく問題を特定することができました。何らかの理由で、ポート5000が別のサービスによってアクセスされているため、着信接続を受け入れることができません。そのため、logstash.confファイルを編集して、ポートを5000
から5001
または便利なものに変更するだけです。
すべてのlogstash-forwardersがログを新しいポートに送信していることを確認してください。これで問題ありません。 FQDNメソッドを使用してlogstash-forwarder.crt
を生成した場合、logstash-forwarderはIPではなく同じFQDNを指している必要があります。
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
入力プラグインで行った場合、インデックスが作成されることはありません。これがなぜなのかはわかりません。
これはKibana3ですか4ですか?
それがKibana4の場合、トップラインメニューの設定をクリックし、インデックスを選択して、インデックス名に「logstash- *」が含まれていることを確認してから、「time-field」名をクリックして「@timestamp」を選択できます。
以下に設定のスクリーンショットを追加しました。どのオプションにチェックマークを付けるかに注意してください。