ubuntu前書きこのチュートリアルは、ELKスタック(Elasticsearch、Logstash、Kibana)のトラブルシューティングガイドです。14.04上のKibana(ELKスタック)チュートリアルが、他の一般的なELKセットアップのトラブルシューティングに役立つ場合があります。このチュートリアルは、ELKスタックのさまざまなコンポーネントが適切に機能していることを確認するための手順とともに、一連の一般的な問題、およびこれらの問題に対する潜在的な解決策として構成されています。そのため、発生している問題に関連するセクションに自由にジャンプしてください。問題:Kibanaにデフォルトのインデックスパターン警告がないWebブラウザー経由でKibanaにアクセスすると、次の警告のページが表示される場合があります。pattern?以下は警告のスクリーンショットです。[警告:デフォルトのインデックスパターンはありません。続行するには、選択または作成する必要があります。+`パターンに一致するエントリが含まれていないことを示します。Filebeat)からLogstashへ。言い換えれば、ログは何らかの理由でFilebeatからLogstash、Elasticsearchへのチェーンを通過していません。[Logstashトラブルシューティング]セクション。[Filebeatトラブルシューティング]セクション。デフォルト以外のインデックスパターンを使用するようにLogstashを構成した場合、テキストボックスに適切なインデックスパターンを指定することで問題を解決できます。問題:KibanaがElasticsearchに接続できないWebブラウザー経由でKibanaにアクセスすると、次のエラーのあるページが表示される場合があります。Gateway...エラーのスクリーンショットは次のとおりです。[Elasticsearchに接続できません]つまり、KibanaはElasticsearchに接続できません。Elasticsearchが実行されていないか、Kibanaが間違ったホストとポートでElasticsearchを探すように構成されている可能性があります。この問題を解決するには、Elasticsearchのトラブルシューティングセクションに従ってElasticsearchが実行されていることを確認してください。次に、Elasticsearchが実行されているホストとポートに接続するようにKibanaが構成されていることを確認します。+」で実行されている場合、Kibanaが適切に設定されていることを確認してください。Kibana構成ファイルを開きます。+`が適切に設定されていることを確認します。"http://localhost:9200"保存して終了。次に、Kibanaサービスを再起動して、変更を所定の場所に配置します。restartKibanaが再起動したら、WebブラウザーでKibanaを開き、エラーが解決されたことを確認します。問題:KibanaにアクセスできないELKスタックのNginxコンポーネントは、Kibanaのリバースプロキシとして機能します。Nginxが実行されていないか、適切に構成されていない場合、Kibanaインターフェイスにアクセスできません。残りのELKコンポーネントはNginxに依存していないため、正常に機能している可能性があります。原因:Nginxが実行されていませんNginxが実行されていない場合、WebブラウザーでELKスタックにアクセスしようとすると、次のようなエラーが表示される場合があります。availableERR_CONNECTION_REFUSEDこれは通常、Nginxが実行されていないことを示しています。次のコマンドを使用して、Nginxサービスのステータスを確認できます。サービスが実行されていると報告された場合は、同じ手順に従ってNginxを再構成する必要があります。Gateway」エラーを受け取った場合、Nginxは実行されていますが、Kibanaに接続できません。Gateway]この問題を解決する最初のステップは、このコマンドでKibanaが実行されているかどうかを確認することです。[ELKスタックチュートリアルのKibanaのインストールセクション]。それでも問題が解決しない場合は、Nginxの設定に問題がある可能性があります。https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-kibana-elk-stack-on-ubuntu-14-04#install-の構成部分を確認する必要があります。Nginxエラーログで手がかりを確認できます。/var/log/nginx/error.logこれにより、NginxがKibanaに接続できない理由が正確にわかります。原因:ユーザーを認証できません基本認証が有効になっていて、認証手順を渡すのに問題がある場合は、Nginxエラーログを調べて問題の詳細を確認する必要があります。[認証が必要]最近のNginxエラーを確認するには、次のコマンドを使用します。htpasswd」ファイルに存在していません。このタイプのエラーは、次のログエントリによって示されます。+」エラーが表示される場合、ユーザーは存在しますが、間違ったパスワードを指定しました。このタイプのエラーは、次のログエントリによって示されます。`ファイルを、存在するはずのユーザーログインで変更することです。+`というユーザーを作成または上書きするには、次のコマンドを使用します。/etc/nginx/htpasswd.users次に、目的のパスワードを入力して確認します。htpasswd`ファイルは存在しません。このタイプのエラーは、次のログエントリによって示されます。+)を追加する必要があります。/etc/nginx/htpasswd.users新しいパスワードを入力して確認します。次に、作成したユーザーとして認証を試みます。Logstash:実行中かどうかを確認する方法Logstashが実行されていない場合、Filebeatなどのログ配送業者からログを受信して​​解析し、処理されたログをElasticsearchに保存することはできません。このセクションでは、Logstashが正常に機能しているかどうかを確認する方法を示します。確認する最も基本的なことは、Logstashステータスのステータスです。statusLogstashが実行されている場合、次の出力が表示されます。runningそれ以外の場合、サービスが実行されていない場合、次のメッセージが表示されます。runningLogstashが実行されていない場合は、次のコマンドで起動してみてください。start次に、数秒後にステータスを再度確認します。LogstashはJavaアプリケーションであり、起動を試みるたびに数秒間「実行中」と報告されるため、「非実行」ステータスを確認する前に数秒間待つことが重要です。「実行されていない」と報告された場合は、おそらく設定が間違っています。次の2つのセクションでは、Logstashの一般的な問題のトラブルシューティングについて説明します。問題:Logstashが実行されていませんLogstashが実行されていない場合、いくつかの原因が考えられます。このセクションでは、Logstashの実行に失敗するさまざまな一般的なケースを取り上げ、潜在的なソリューションを提案します。+`ディレクトリにある)にエラーがある場合、サービスは適切に開始できません。最善の方法は、Logstashのログをチェックして、失敗の原因を突き止めることです。サーバーへの2つのターミナルセッションを開きます。これにより、サービスを開始するときにLogstashログを表示できます。最初のターミナルセッションでは、ログを確認します。/var/log/logstash/logstash.logこれにより、最後のいくつかのログエントリに加えて、将来のログエントリが表示されます。2番目のターミナルセッションで、Logstashサービスを開始してみてください。start最初のターミナルセッションに戻り、Logstashの起動時に生成されるログを確認します。エラーメッセージを含むログエントリが表示された場合は、メッセージを読んで、問題の原因を突き止めてください。Logstash構成に構文エラー(中括弧の不一致)がある場合に表示される可能性のあるエラーログの例を次に示します。system."}構成の検証に関心がある可能性があることを示す最後のメッセージは、構成に構文エラーが含まれていることを示しています。前のメッセージは、より具体的なエラーメッセージを提供します。+`セクションに閉じ中括弧がありません。この問題を解決するには、Logstash構成の問題のある部分を編集します。/etc/logstash/conf.d/不良エントリのある行を見つけて修正し、保存して終了します。次に、2番目のターミナルでLogstashサービスを開始します。start問題が解決した場合、新しいログエントリはありません(Logstashは起動の成功を記録しません)。数秒後、Logstashサービスのステータスを確認します。status実行されている場合、問題は解決しています。この例とは異なる構成の問題がある可能性があります。その他の一般的なLogstash構成の問題についても説明します。いつものように、エラーの意味を理解できる場合は、自分で修正してみてください。原因:SSLファイルが存在しないLogstashが実行されないもう1つの一般的な原因は、SSL証明書とキーファイルの問題です。Logstash構成で指定されている場所に存在しない場合、ログには次のようなエラーが表示されます。+`に配置されていること)例では)。キーファイルがある場合は、それを適切な場所に移動し、Logstash構成がそれを指していることを確認してください。次に、Logstashサービスを開始します。start問題が解決した場合、新しいログエントリはありません。数秒後、Logstashサービスのステータスを確認します。status実行されている場合、問題は解決しています。問題:Logstashは実行されているが、Elasticsearchにログを保存しないLogstashが実行されているがElasticsearchにログを保存していない場合、Elasticsearchに到達できないためです。通常、これはElasticsearchが実行されていない結果です。この場合、Logstashログには次のようなエラーメッセージが表示されます。:level=>:error}この場合、Elasticsearchのトラブルシューティング手順に従って、Elasticsearchが実行されていることを確認してください。次のようなエラーも表示される場合があります。+」セクションが間違ったホストを指している可能性があることを示しています。この問題を解決するには、Elasticsearchが実行されていることを確認し、Logstashの構成を確認します。+`で実行されていることを前提としています。Logstashサービスを再起動します。restart次に、Logstashログでエラーを確認します。*マシンで実行され、ログをELKサーバーに送信します。Filebeatが実行されていない場合、Logstashにさまざまなログを送信することはできません。その結果、ログはElasticsearchに保存されず、Kibanaには表示されません。このセクションでは、Filebeatが正常に機能しているかどうかを確認する方法を示します。ログが正常に出荷されていることを確認するFilebeatがLogstashにログを適切に送信しているかどうかを確認する最も簡単な方法は、syslogログでFilebeatエラーをチェックすることです。filebeatすべてが適切に設定されていれば、Filebeatプロセスを停止または開始するときにいくつかのログエントリが表示されますが、それ以外は表示されません。ログエントリが表示されない場合は、Filebeatが実行されていることを確認する必要があります。statusFilebeatが実行されている場合、次の出力が表示されます。runningそれ以外の場合、サービスが実行されていない場合、次のメッセージが表示されます。runningFilebeatが実行されていない場合は、次のコマンドで起動してみてください。start次に、ステータスを再度確認します。これで問題が解決しない場合、以下のセクションはFilebeatの問題のトラブルシューティングに役立ちます。Filebeatの一般的な問題とその解決方法について説明します。*マシンで実行されていない場合、いくつかの原因が考えられます。このセクションでは、Filebeatの実行に失敗する一般的なさまざまなケースを取り上げ、潜在的なソリューションを提案します。+`にあります)にエラーがある場合、サービスは適切に開始できません。次のようなエラーですぐに終了します。Exiting.この場合、構成ファイルにタイプミスがあります。この問題を解決するには、Filebeat構成の問題のある部分を編集します。*サブセクションに従ってくださいELKスタックチュートリアルの04#set-up-filebeat-(add-client-servers)[Filebeatの設定(クライアントサーバーの追加)])。Filebeat構成を編集した後、サービスの再起動を試みます。startエラー出力が表示されない場合、問題は解決されています。原因:SSL証明書が見つからないか無効ですFilebeatとLogstash間の通信には、認証と暗号化のためにSSL証明書が必要です。Filebeatが正常に起動しない場合は、syslogで次のようなエラーを確認する必要があります。+`ファイルが適切な場所にないことを示しています。この問題を解決するには、https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-logstash-and-の該当するサブセクションに従って、SSL証明書をELKサーバーからクライアントマシンにコピーしますELKスタックチュートリアルのkibana-elk-stack-on-ubuntu-14-04#set-up-filebeat-(add-client-servers)[Filebeatの設定(クライアントサーバーの追加)セクション]。適切なSSL証明書ファイルを適切な場所に配置した後、Filebeatを再度起動してください。SSL証明書が無効な場合、ログは次のようになります。"elk.example.com")エラーメッセージは、証明書は存在するが無効であることを示していることに注意してください。and-kibana-elk-stack-on-ubuntu-14-04#set-up-filebeat-(add-client-servers)[Filebeatのセットアップ(クライアントサーバーの追加)])。証明書が有効であり、適切な場所にあることを確認した後、Logstash(ELKサーバー上)を再起動して、新しいSSLキーを強制的に使用する必要があります。restart次に、クライアントマシンでFilebeatを起動します。startログを再度チェックして、問題が解決されたことを確認してください。問題:FilebeatがLogstashに接続できない(ELKサーバー上の)LogstashがFilebeat(クライアントサーバー)から到達できない場合、次のようなエラーログエントリが表示されます。refusedLogstashに到達できない一般的な理由には、次のものがあります。+`の接続をブロックしていますFilebeatが適切なIPアドレス、ホスト名、またはポートで構成されていませんこの問題を解決するには、まずこのガイドのLogstashトラブルシューティングセクションに従って、ELKサーバーでLogstashが実行されていることを確認します。次に、ファイアウォールがネットワークトラフィックをブロックしていないことを確認します。3番目に、Filebeatが正しいIPアドレス(またはホスト名)とELKサーバーのポートで構成されていることを確認します。Filebeatの構成は、次のコマンドで編集できます。/etc/filebeat/filebeat.ymlLogstash接続情報が正しいことを確認した後、Filebeatを再起動してください。restartFilebeatログを再度チェックして、問題が解決されたことを確認します。*サブセクションに従ってください。ELKスタックチュートリアルの14-04#set-up-filebeat-(add-client-servers)[Filebeatの設定(クライアントサーバーの追加)]。Elasticsearch:実行中かどうかを確認する方法Elasticsearchが実行されていない場合、ELKスタックは機能しません。Logstashは新しいログをElasticsearchに追加できず、Kibanaはレポート用にElasticsearchからログを取得できません。このセクションでは、Elasticsearchが正常に機能しているかどうかを確認する方法を示します。確認する最も基本的なことは、Elasticsearchサービスのステータスです。statusElasticsearchが実行されている場合、次の出力が表示されます。runningそれ以外の場合、サービスが実行されていない場合、次のメッセージが表示されます。runningこの場合、Elasticsearchのトラブルシューティングをカバーする次のセクションに従う必要があります。`値を指定することでカスタマイズできます)。+`を使用してリクエストを送信し、Elasticsearchから有用な情報を取得できます。localhost:9200Elasticsearchが実行されている場合、次のような応答が表示されます。Search"}次のコマンドを使用して、Elasticsearchクラスターの状態を確認することもできます。localhost:9200/_cluster/health?pretty出力は次のようになります。」ステータスになります。これは、単一ノードのクラスターでは正常です。+」ステータスにアップグレードできます。問題:Elasticsearchが実行されていませんElasticsearchが実行されていない場合、多くの潜在的な原因があります。このセクションでは、Elasticsearchを実行できないさまざまな一般的なケースを取り上げ、潜在的なソリューションを提案します。原因:開始されなかったElasticsearchが実行されていない場合、そもそも起動されていない可能性があります。Elasticsearchはインストール後に自動的に開始しません。これに対する解決策は、最初に手動で起動することです。startこれにより、Elasticsearchが起動していることが報告されます。10秒ほど待ってから、Elasticsearchステータスのステータスを再度確認します。原因:Elasticsearchサービスが有効になっておらず、サーバーが再起動しましたElasticsearchは正常に機能していても機能しない場合は、適切に有効にされていない可能性があります。デフォルトでは、Elasticsearchサービスは起動時に開始できません。Elasticsearchを起動時に自動的に開始するには明示的に有効にする必要があります。10Elasticsearchは、ブート時に自動的に開始するはずです。サーバーを再起動して、動作することをテストします。+`にある)にエラーがある場合、サービスは適切に開始できません。最善の方法は、Elasticsearchエラーログをチェックして、失敗の原因を突き止めることです。サーバーへの2つのターミナルセッションを開くと、サービスを開始しようとしているときにElasticsearchログを表示できます。最初のターミナルセッションでは、ログを確認します。/var/log/elasticsearch/elasticsearch.logこれにより、最後のいくつかのログエントリに加えて、将来のログエントリが表示されます。2番目のターミナルセッションで、Elasticsearchサービスを開始してみます。start最初のターミナルセッションに戻り、Elasticsearchの起動時に生成されるログを確認します。error」)、エラーの原因を示す行を見つけてみてください。+`が解決できないホスト名またはIPアドレスに設定されている場合に表示されるエラーログの例を次に示します。UnknownHostException:`エラーが発生したことを示していることに注意してください。」に設定されていることを示していますが、これは何にも解決されません。」または「+127.0.0.1」に設定する必要があります。この問題を解決するには、Elasticsearch構成ファイルを編集します。/etc/elasticsearch/elasticsearch.yml不良エントリのある行を見つけて修正します。+`を指定する行を探し、次のように変更する必要があります。/etc/elasticsearch/elasticsearch.ymlの抜粋...network.host:...保存して終了。次に、2番目のターミナルで、Elasticsearchサービスを開始します。start問題が解決した場合、Elasticsearchが開始されたことを示すエラーのないログが表示されます。これは次のようになります。started...これで、Elasticsearchのステータスを確認すると、正常に実行されていることがわかります。この例とは異なる構成の問題がある可能性があります。エラーの意味を理解できる場合は、自分で試して修正してください。IPアドレス、または自動生成されたElasticsearchノード名)。結論このトラブルシューティングガイドが、ELKスタックのセットアップに関する問題の解決に役立つことを願っています。