[DOnationsの書き込み]プログラム。logging_として知られる任意の形式。一元化されたログは、サーバーまたはアプリケーションの問題を特定するときに非常に便利です。1つの場所ですべてのログを検索できるからです。特定の時間枠でログを相互に関連付けることにより、複数のサーバーにまたがる問題を特定できるため、便利です。Stackには4つの主要コンポーネントがあります。Elasticsearch:収集されたすべてのデータを保存する分散型https://en.wikipedia.org/wiki/Representational_state_transfer[RESTful]検索エンジン。Stackのデータ処理コンポーネント。Kibana:ログを検索および視覚化するためのWebインターフェイス。Beats:数百または数千のマシンからLogstashまたはElasticsearchにデータを送信できる、軽量の単一目的データシッパー。Stack]をインストールします。Stackのすべてのコンポーネントをインストールし、ログとファイルの転送と集中化に使用するBeatをインストールし、それらを設定する方法を学習します。システムログを収集して視覚化します。[Nginx]を使用してプロキシし、Webブラウザーからアクセスできるようにします。Stackサーバーと呼ばれる単一のサーバーにインストールします。前提条件このチュートリアルを完了するには、次のものが必要です。7サーバー(sudoを使用する非rootユーザーを含む)権限とhttps://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-using-firewalld-on-centos-7[firewall]。Stackサーバーが必要とするCPU、RAM、およびストレージの量は、収集するログの量によって異なります。Stackサーバーに次の仕様のVPSを使用します。8-ElasticsearchおよびLogstashに必要-サーバーにインストールされています。9はサポートされていないことに注意してください。JREのインストール」]セクションに従ってくださいJavaをCentOSにインストールする方法に関するガイドの。サーバーにインストールされたNginx。これは、このガイドの後半でKibanaのリバースプロキシとして構成します。7にNginxをインストールする方法のガイドに従って設定してください。SSL証明書をインストールしてサーバーを安全に保つことが重要です。これはオプションですが、強くお勧めします。7で暗号化しましょう]ガイドは、このチュートリアルの2番目のステップの直後です。Encryptを設定する予定がある場合は、設定する前に次のものが必要です。完全修飾ドメイン名(FQDN)。このチュートリアルでは、全体で「++」を使用します。[Freenom]で無料で入手するか、選択したドメインレジストラを使用できます。次の両方のDNSレコードがサーバーに設定されています。DNSの概要]を参照してください。サーバーのパブリックIPアドレスを指す「++」を持つAレコード。+」を持つAレコード。+`でインストールできます。StackのすべてのパッケージはElasticsearch署名キーで署名されています。キーを使用して認証されたパッケージは、パッケージマネージャーによって信頼されていると見なされます。このステップでは、Elasticsearchをインストールするために、Elasticsearch公開GPGキーをインポートし、Elasticリポジトリを追加します。次のコマンドを実行して、Elasticsearch公開署名キーをダウンロードしてインストールします。https://artifacts.elastic.co/GPG-KEY-elasticsearch次に、Elasticリポジトリを追加します。+」ディレクトリに作成します。ここでは、_vi_テキストエディターを使用します。+`を押して挿入モードに入り、ファイルに次の行を追加します。+`が含まれています。+`を押してファイルを保存して終了します。テキストエディターviとその後継_vim_の詳細については、https://www.digitalocean.com/community/tutorials/installing-and-using-the-vim-text-editor-on-a-cloud-をご覧ください。[クラウドサーバーでのVimテキストエディターのインストールと使用]チュートリアル。Stackをインストールできます。[公式ドキュメント]によれば、他のコンポーネントの前にElasticsearchをインストールする必要があります。この順序でインストールすると、各製品が依存するコンポーネントが正しく配置されます。次のコマンドでElasticsearchをインストールします。/etc/elasticsearch/elasticsearch.ymlElasticsearchは、ポート「9200」のあらゆる場所からのトラフィックをリッスンします。APIを介して部外者がデータを読み取ったり、Elasticsearchクラスターをシャットダウンしたりできないようにします。localhost`に置き換えて次のようにします。`を保存して閉じます。+`でElasticsearchサービスを開始します。elasticsearch次に、次のコマンドを実行して、サーバーが起動するたびにElasticsearchが起動できるようにします。elasticsearchHTTPリクエストを送信することで、Elasticsearchサービスが実行されているかどうかをテストできます。"localhost:9200"次のような、ローカルノードに関する基本情報を示す応答が表示されます。Stackの次のコンポーネントであるKibanaをインストールしましょう。[公式ドキュメント]のインストール順序に従って、Elasticsearchの次のコンポーネントとしてKibanaをインストールする必要があります。Kibanaをセットアップしたら、そのインターフェイスを使用して、Elasticsearchが保存するデータを検索および視覚化できるようになります。kibana次に、Kibanaサービスを有効にして開始します。proxy]を設定して、外部アクセスを許可する必要がありますそれ。この目的のためにNginxを使用します。これはサーバーに既にインストールされているはずです。Webインターフェースへのアクセスに使用する管理用Kibanaユーザーを作成します。例として、このアカウントに「+」という名前を付けますが、セキュリティを強化するために、推測が困難な非標準の名前をユーザーに選択することをお勧めします。+`ファイルに保存します。このユーザー名とパスワードを要求し、このファイルを一時的に読み取るようにNginxを構成します。/etc/nginx/htpasswd.usersプロンプトでパスワードを入力して確認します。Webインターフェースにアクセスするにはログインが必要になるため、このログインを忘れないでください。次に、Nginxサーバーブロックファイルを作成します。+」と呼びますが、よりわかりやすい名前を付けると役立つ場合があります。このサーバーにFQDNとDNSレコードが設定されている場合、FQDNに基づいてこのファイルに名前を付けることができます。」を更新してください。`でリッスンしているKibanaアプリケーションに転送するようにNginxを構成します。+`ファイルを読み取り、基本認証を要求するようにNginxを構成します。[前提条件のNginxチュートリアル]を最後まで実行した場合、このファイルは既に作成されている可能性があることに注意してください。いくつかのコンテンツを追加しました。その場合は、ファイル内の既存のコンテンツをすべて削除してから、次を追加してください。}}完了したら、ファイルを保存して閉じます。次に、構成の構文エラーを確認します。-t出力でエラーが報告された場合は、戻って、構成ファイルに配置したコンテンツが正しく追加されたことを再確認してください。+」が表示されたら、先に進み、Nginxサービスを再起動します。nginxデフォルトでは、SELinuxセキュリティポリシーが適用されるように設定されています。次のコマンドを実行して、Nginxがプロキシされたサービスにアクセスできるようにします。-PSELinuxの詳細については、チュートリアルhttps://www.digitalocean.com/community/tutorials/an-introduction-to-selinux-on-centos-7-part-1-basic-concepts[SELinuxの概要]をご覧ください。StackサーバーのパブリックIPアドレスを介してアクセスできるようになりました。Kibanaサーバーのステータスページを確認するには、次のアドレスに移動し、プロンプトが表示されたらログイン認証情報を入力します。http:///statusこのステータスページには、サーバーのリソース使用状況に関する情報が表示され、インストールされているプラ​​グインが一覧表示されます。Kibanaステータスページ]Kibanaダッシュボードが構成されたので、次のコンポーネントであるLogstashをインストールしましょう。ステップ3-Logstashのインストールと構成BeatsがデータをElasticsearchデータベースに直接送信することは可能ですが、最初にLogstashを使用してデータを処理することをお勧めします。これにより、さまざまなソースからデータを収集し、共通の形式に変換して、別のデータベースにエクスポートできます。次のコマンドでLogstashをインストールします。logstashLogstashのインストール後、構成に進むことができます。`ディレクトリにあります。設定する際、Logstashを一端でデータを取り込み、何らかの方法で処理し、その宛先(この場合、Elasticsearch)に送信するパイプラインと考えると便利です。入力プラグインはソースからのデータを消費し、フィルタープラグインはデータを処理し、出力プラグインはデータを宛先に書き込みます。+`という設定ファイルを作成します。+」入力を指定します。}}ファイルを保存して閉じます。+`という設定ファイルを作成します。これにより、システムログ用のフィルター(_syslogs_とも呼ばれます)が追加されます。/etc/logstash/conf.d/10-syslog-filter.conf次のsyslogフィルター構成を挿入します。documentation]から取得しました。このフィルターは、着信システムログを解析して、事前定義されたKibanaダッシュボードで構造化および使用可能にするために使用されます。}}終了したら、ファイルを保存して閉じます。+`で実行されているElasticsearchにBeatsデータを保存するようにLogstashを設定します。このチュートリアルで使用されるビートはFilebeatです。}}ファイルを保存して閉じます。Filebeat入力を使用する他のアプリケーションにフィルターを追加する場合は、入力と出力の構成の間でソートされるようにファイルに名前を付けてください。次のコマンドでLogstash構成をテストします。OK」と表示されます。出力にこれが表示されない場合は、出力に表示されるエラーを確認し、構成を更新して修正します。構成テストが成功したら、Logstashを開始して有効にし、構成の変更を有効にします。logstashLogstashが正しく実行され、完全に構成されたので、Filebeatをインストールしましょう。Stackは、Beatsと呼ばれるいくつかの軽量データシッパーを使用して、さまざまなソースからデータを収集し、LogstashまたはElasticsearchに転送します。以下は、現在Elasticから入手可能なビートです。Filebeat:ログファイルを収集して出荷します。Metricbeat:システムおよびサービスからメトリックを収集します。Packetbeat:ネットワークデータを収集して分析します。Winlogbeat:Windowsイベントログを収集します。Auditbeat:Linux監査フレームワークデータを収集し、ファイルの整合性を監視します。Heartbeat:アクティブなプロービングでサービスの可用性を監視します。Stackに転送します。+`を使用してFilebeatをインストールします。filebeat次に、Logstashに接続するようにFilebeatを構成します。ここでは、Filebeatに付属のサンプル構成ファイルを変更します。Filebeat構成ファイルを開きます。/etc/filebeat/filebeat.ymlFilebeatは多数の出力をサポートしていますが、通常は追加処理のためにイベントをElasticsearchまたはLogstashに直接送信するだけです。このチュートリアルでは、Logstashを使用して、Filebeatによって収集されたデータに対して追加の処理を実行します。FilebeatはデータをElasticsearchに直接送信する必要がないため、その出力を無効にしましょう。」セクションを見つけて、次の行の前に「#+」を付けてコメントアウトします。`セクションを設定します。`の行のコメントを解除します。StackサーバーのLogstashに接続するようにFilebeatが構成されます。["localhost:5044"]ファイルを保存して閉じます。modulesを使用してFilebeatの機能を拡張できるようになりました。[system]モジュールを使用します。このモジュールは、システムロギングによって作成されたログを収集および解析します一般的なLinuxディストリビューションのサービス。system次を実行すると、有効化および無効化されたモジュールのリストを表示できます。list次のようなリストが表示されます。OutputEnabled:systemDisabled:apache2auditdelasticsearchhaproxyicingaiiskafkakibanalogstashmongodbmysqlnginxosquerypostgresqlredissuricatatraefikデフォルトでは、Filebeatはsyslogおよび許可ログのデフォルトパスを使用するように設定されています。このチュートリアルの場合、構成を変更する必要はありません。+`設定ファイルで確認できます。次に、インデックステンプレートをElasticsearchにロードします。index]は、同様の特性を持つドキュメントのコレクションです。インデックスは名前で識別されます。名前は、インデックス内でさまざまな操作を実行するときにインデックスを参照するために使用されます。インデックステンプレートは、新しいインデックスが作成されると自動的に適用されます。テンプレートをロードするには、次のコマンドを使用します。'output.elasticsearch.hosts=["localhost:9200"]'これにより、次のような出力が得られます。templateFilebeatには、KibanaでFilebeatデータを視覚化できるサンプルKibanaダッシュボードが付属しています。ダッシュボードを使用する前に、インデックスパターンを作成し、ダッシュボードをKibanaに読み込む必要があります。ダッシュボードが読み込まれると、FilebeatはElasticsearchに接続してバージョン情報を確認します。Logstashが有効なときにダッシュボードをロードするには、Logstash出力を手動で無効にし、Elasticsearch出力を有効にする必要があります。setup.kibana.host=localhost:5601次のような出力が表示されます。configurationsこれで、Filebeatを起動して有効にできます。Stackを正しく設定すると、Filebeatはsyslogおよび認証ログのLogstashへの出荷を開始し、LogstashはそのデータをElasticsearchにロードします。Elasticsearchが実際にこのデータを受信して​​いることを確認するには、次のコマンドでFilebeatインデックスをクエリします。'http://localhost:9200/filebeat-*/_search?pretty'次のような出力が表示されます。.出力に合計ヒット数が0と表示される場合、Elasticsearchは検索したインデックスの下にログをロードしていないため、エラーの設定を確認する必要があります。期待どおりの出力を受け取ったら、次のステップに進みます。このステップでは、Kibanaのダッシュボードのいくつかに精通します。先にインストールしたWebインターフェースであるKibanaを見てみましょう。StackサーバーのFQDNまたはパブリックIPアドレスに移動します。手順2で定義したログイン資格情報を入力すると、Kibanaホームページが表示されます。Homepage]左側のナビゲーションバーにある[発見]リンクをクリックします。filebeat-**インデックスパターンを選択して、Filebeatデータを表示します。デフォルトでは、過去15分間のすべてのログデータが表示されます。ログイベントを含むヒストグラムと、以下のログメッセージが表示されます。[ページを発見]ここでは、ログを検索して参照したり、ダッシュボードをカスタマイズしたりできます。Stackサーバーからsyslogを収集しているだけなので、あまり多くはありません。Filebeatシステム*ダッシュボードを検索します。system`モジュールに付属しているサンプルダッシュボードを検索できます。syslogメッセージに基づいて詳細な統計を表示できます。+`コマンドを使用したか、および次の場合も表示できます。Dashboard]Kibanaには、グラフ化やフィルタリングなど、他にも多くの機能がありますので、気軽に探索してください。Stackをインストールして設定し、システムログを収集および分析しました。Beatsを使用して、あらゆる種類のログまたはインデックス付きデータをLogstashに送信できることを忘れないでください。これにより、データがElasticsearchで簡単に読み取れる一貫した形式に変換されます。