[概要] この記事では、自作の Docker プラットフォームをベースに完全な ELK システムを素早く構築します。関連するイメージは Docker Hub から直接取得され、ログの収集、分析、取得を素早く実現できます。 画像の準備
Elasticsearchを起動する 公式イメージの ES 構成ファイルは /usr/share/elasticsearch/config に保存されます。必要に応じて、このディレクトリをホスト マシンにマップできます。データ ファイル ディレクトリは /usr/share/elasticsearch/data です。ここでは、データ ディレクトリをマップします。コンテナーは、API 対話用にデフォルトでポート 9200 を提供します。 docker run --name elasticsearch \ -v "$PWD/esdata":/usr/share/elasticsearch/data \ -p 9200:9200 \ -d エラスティックサーチ コンテナが起動したら、それを呼び出して確認できます。 Kibanaを起動する Kibana は ES 操作の UI として ES コンテナと通信する必要があるため、ここで ES コンテナをリンクし、ページの操作用にポート 5601 を提供する必要があります。 docker run --name kibana \ --link elasticsearch:elasticsearch \ -p 5601:5601 \ -d キバナ コンテナが起動したら、ブラウザを使用してポート 5601 にアクセスし、kibana ページを表示します。初めてアクセスすると、デフォルトのインデックスが作成されていないというメッセージが表示される場合があります。ここでは、管理ページでデフォルトのインデックスを作成する必要があります。デフォルトのインデックスは通常、logstash-* と呼ばれます。次の図に示すように、デフォルトのインデックスを作成します。 Logstashを起動する Logstash の主な機能はログを収集することです。このコンポーネントには多くのプラグインがあり、TCP、UDP、JDBC、ファイル、キューなど、ほとんどのログ統合方法をサポートできます。設定は非常にシンプルで、起動方法も非常に簡単です。ここでは、nginx のアクセス ログを例に、logstash が nginx の access.log を読み取り、ログを Elasticsearch に転送するように設定します。 まず、logstash 構成ファイル logstash.conf をコンパイルします。内容は次のようになります。 入力{ ファイル{ パス=>"/tmp/nginx/logs/access.log" } }出力{ stdout{ } #コンソールにログ出力 #esに出力 エラスティックサーチ ホスト=>"100.100.x.231" } } コンテナを起動します。ここでは、nginx ログを /tmp/nginx/logs/access.log に配置します。コンテナがこのログを読み取るには、ログ ディレクトリをコンテナにマップする必要があります。 docker run –it –rm -v /tmp/nginx/logs/access.log:/tmp/nginx/logs/access.log -f /config-dir/logstash.conf 次に、ログの収集と表示のプロセス全体をテストします。まず、nginx でアクセス ログをいくつか作成します。たとえば、curl を使用して nginx サービス ポートを直接呼び出したり、データを access.log に直接書き込んだりします。この時点で、logstash コンテナに次のログ出力が表示されます。 その後、Kibana ページを開いて、リアルタイムで書き込まれたログ データを確認します。 要約する Docker コンテナを使用すると、ELK の構築が非常に簡単になります。ELK を使用すると、ログをすばやく分析して取得し、問題を見つけることができます。ELK のコア コントリビューター数名が Elastic という会社を設立し、現在当社と協力関係にあります。オープンソースに基づいて、同社は X-Pack という商用製品もリリースしており、機械学習、グラフ アルゴリズム、セキュリティ テクノロジーの多くの機能強化を提供しています。興味のある学生は自分でそれについて学ぶことができます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Windows 10 での MySQL 5.7.21 インストーラのインストール グラフィック チュートリアル
>>: Vue 関数のアンチシェイクとスロットリングの正しい使用方法
今日はあまり使わないHTMLタグ「subタグ」と「supタグ」を紹介します。定義と使用法: <...
では、早速リソースについて見ていきましょう。 123WORDPRESS.COM ダウンロードSQLy...
目次1.ソケットを作成する2. ソケットをバインドする3. 聞き手を作る。聞く4. 接続が受け入れら...
DNS(ドメインネームサーバー)は、ドメイン名とそれに対応する IP アドレスを変換するサーバーです...
序文トランザクション データ ディクショナリとアトミック DDL は、MySQL 8.0 で導入され...
MySQL Select ステートメントはどのように実行されますか?最近、Geek Time で D...
メモリリークとは何ですか?メモリ リークとは、新しいメモリが作成されたが、解放またはガベージ コレ...
1. 親divは疑似クラスafterとzoomを定義します <スタイル タイプ="...
WeChat 8.0 アップデートの主な特徴は、アニメーション絵文字のサポートです。送信するメッセー...
1. 背景一般的に、データ ウェアハウス環境では、row_number 関数を使用して特定のディメン...
背景:最近、同社のプロジェクトは同時実行のプレッシャーに耐えられないようなので、最適化が差し迫ってい...
最近、Vue のソースコードを勉強していて、Vue で親コンポーネントと子コンポーネント間でデータを...
MySQL トランザクション サポートは、MySQL サーバー自体にバインドされているのではなく、ス...
カーネル 2.6 の時代には、アクセス制御セキュリティ ポリシーのメカニズムを提供するために新しいセ...
1. 新しいディスクを準備し、現在のルートパーティションと同じファイルシステムでフォーマットし、ディ...