一般的に ELK スタックとして知られる Elastic スタックは、Elasticsearch、Logstash、Kibana を含むオープン ソース製品のセットです。 Elastic Stack は Elastic によって開発および保守されています。 Elastic スタックを使用すると、システム ログを Logstash に送信できます。Logstash は、あらゆるソースからログやデータを受け入れ、ログを正規化するデータ収集エンジンです。その後、ログは分析、インデックス作成、検索、保存のために Elasticsearch に転送され、最終的に Kibana を使用して視覚的なデータとして表示されます。Kibana を使用すると、ユーザー クエリに基づいてインタラクティブなグラフを作成することもできます。 この記事では、RHEL 8 / CentOS 8 サーバー上でマルチノード エラスティック スタック クラスターをセットアップする方法を説明します。私の Elastic Stack クラスターの詳細は次のとおりです。 エラスティックサーチ:
ログスタッシュ:
キバナ: 最小限の RHEL 8 / CentOS 8IP とホスト名を持つ 1 台のサーバー – 192.168.56.10 ( ファイルビート:
まず、Elasticsearch クラスターの設定から始めましょう。 3ノードのElasticsearchクラスターの設定 すでに述べたように、Elasticsearchクラスターのノードを設定し、各ノードにログインし、ホスト名を設定し、yum/dnfリポジトリを構成します。 各ノードのホスト名を設定するには、 [root@linuxtechi ~]# hostnamectl set-hostname "elasticsearch1.linuxtechi. local" [root@linuxtechi ~]# bashを実行 [root@linuxtechi ~]# [root@linuxtechi ~]# hostnamectl set-hostname "elasticsearch2.linuxtechi. local" [root@linuxtechi ~]# bashを実行 [root@linuxtechi ~]# [root@linuxtechi ~]# hostnamectl set-hostname "elasticsearch3.linuxtechi. local" [root@linuxtechi ~]# bashを実行 [root@linuxtechi ~]# CentOS 8 システムの場合、OS パッケージ リポジトリを構成する必要はありません。RHEL 8 サーバーの場合、有効なサブスクリプションがある場合は、Red Hat にサブスクライブするだけでパッケージ リポジトリを取得できます。 OS パッケージ用のローカル yum/dnf リポジトリを構成する場合は、次の URL を参照してください。 DVD または ISO ファイルを使用して RHEL 8 サーバーにローカル Yum / DNF リポジトリを設定する方法 すべてのノードで Elasticsearch パッケージ リポジトリを構成します。次の内容を含む ~]# vi /etc/yum.repos.d/elastic.repo [エラスティックサーチ-7.x] name=7.x パッケージの Elasticsearch リポジトリ ベースURL=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch 有効=1 自動更新=1 タイプ=rpm-md ファイルを保存して終了します。 3 つのノードすべてで ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch 3 つのノードすべての 192.168.56.40 elasticsearch1.linuxtechi.local 192.168.56.50 elasticsearch2.linuxtechi.local 192.168.56.60 elasticsearch3.linuxtechi.local [root@linuxtechi ~]# dnf install java-openjdk -y [root@linuxtechi ~]# dnf install java-openjdk -y [root@linuxtechi ~]# dnf install java-openjdk -y root@linuxtechi ~]# dnf install elasticsearch -y [root@linuxtechi ~]# dnf install elasticsearch -y [root@linuxtechi ~]# dnf install elasticsearch -y 注: オペレーティング システムのファイアウォールが有効になっていて、各 Elasticsearch ノードで実行されている場合は、 ~]# ファイアウォールコマンド --permanent --add-port=9300/tcp ~]# ファイアウォールコマンド --permanent --add-port=9200/tcp ~]# ファイアウォールコマンド --reload Elasticsearch を設定するには、すべてのノードでファイル ~]# vim /etc/elasticsearch/elasticsearch.yml クラスター名: opn-cluster ノード名: elasticsearch1.linuxtechi.local ネットワークホスト: 192.168.56.40 http.ポート: 9200 discovery.seed_hosts: ["elasticsearch1.linuxtechi.local", "elasticsearch2.linuxtechi.local", "elasticsearch3.linuxtechi.local"] cluster.initial_master_nodes: ["elasticsearch1.linuxtechi.local", "elasticsearch2.linuxtechi.local", "elasticsearch3.linuxtechi.local"] 注: 各ノードで、 次に、 ~]# systemctlデーモンリロード ~]# systemctl で elasticsearch.service を有効にします ~]# systemctl elasticsearch.service を起動します 次の [root@linuxtechi ~]# ss -tunlp | grep 9200 tcp LISTEN 0 128 [::ffff:192.168.56.40]:9200 *:* ユーザー:(("java",pid=2734,fd=256)) [root@linuxtechi ~]# 次の [root@linuxtechi ~]# curl http://elasticsearch1.linuxtechi.local:9200 [root@linuxtechi ~]# curl -X GET http://elasticsearch2.linuxtechi.local:9200/_cluster/health?pretty コマンドの出力は次のようになります。 上記の出力は、3 ノードの Elasticsearch クラスターが正常に作成され、クラスターのステータスが緑色であることを示しています。 注: JVM ヒープ サイズを変更する場合は、
それでは、Logstash ノードに移りましょう。 Logstashをインストールして設定する 両方の Logstash ノードで次の手順を実行します。 両方のノードにログインし、 [root@linuxtechi ~]# hostnamectl set-hostname "logstash1.linuxtechi.local" [root@linuxtechi ~]# bashを実行 [root@linuxtechi ~]# [root@linuxtechi ~]# hostnamectl set-hostname "logstash2.linuxtechi.local" [root@linuxtechi ~]# bashを実行 [root@linuxtechi ~]# 両方の logstash ノードの ~]# vi /etc/hosts 192.168.56.40 elasticsearch1.linuxtechi.local 192.168.56.50 elasticsearch2.linuxtechi.local 192.168.56.60 elasticsearch3.linuxtechi.local ファイルを保存して終了します。 両方のノードで Logstash リポジトリを構成します。次の内容を含むファイル ~]# vi /etc/yum.repos.d/logstash.repo [エラスティックサーチ-7.x] name=7.x パッケージの Elasticsearch リポジトリ ベースURL=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch 有効=1 自動更新=1 タイプ=rpm-md ファイルを保存して終了し、 ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch ~]# dnf インストール java-openjdk -y 両方のノードから [root@linuxtechi ~]# dnf install logstash -y [root@linuxtechi ~]# dnf install logstash -y 次に、logstash を設定します。両方の logstash ノードで次の手順を実行して、logstash 設定ファイルを作成します。まず、logstash サンプル ファイルを # cd /etc/logstash/ # cp logstash-sample.conf conf.d/logstash.conf 設定ファイルを編集し、以下を更新します。 # vi conf.d/logstash.conf 入力{ ビート { ポート => 5044 } } 出力{ エラスティックサーチ ホスト => ["http://elasticsearch1.linuxtechi.local:9200", "http://elasticsearch2.linuxtechi.local:9200", "http://elasticsearch3.linuxtechi.local:9200"] インデックス => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}" #user => "エラスティック" #パスワード => "changeme" } } オペレーティング システムのファイアウォールで logstash ポート「5044」を許可するには ~ # ファイアウォールコマンド --permanent --add-port=5044/tcp ~ # ファイアウォールコマンド –reload 次に、各ノードで次の ~]# systemctl ログスタッシュを開始します ~]# systemctl がログスタッシュに対応
[root@linuxtechi ~]# ss -tunlp | grep 5044 tcp LISTEN 0 128 *:5044 *:* ユーザー:(("java",pid=2416,fd=96)) [root@linuxtechi ~]# 上記の出力は、logstash が正常にインストールされ、構成されたことを示しています。 Kibana のインストールに移りましょう。 Kibanaをインストールして設定する Kibana ノードにログインし、 [root@linuxtechi ~]# hostnamectl set-hostname "kibana.linuxtechi.local" [root@linuxtechi ~]# bashを実行 [root@linuxtechi ~]# 192.168.56.40 elasticsearch1.linuxtechi.local 192.168.56.50 elasticsearch2.linuxtechi.local 192.168.56.60 elasticsearch3.linuxtechi.local 次のコマンドを使用して Kibana リポジトリを設定します。 [root@linuxtechi ~]# vi /etc/yum.repos.d/kibana.repo [エラスティックサーチ-7.x] name=7.x パッケージの Elasticsearch リポジトリ ベースURL=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch 有効=1 自動更新=1 タイプ=rpm-md [root@linuxtechi ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch [root@linuxtechi ~]# yum install kibana -y [root@linuxtechi ~]# vim /etc/kibana/kibana.yml ………… サーバーホスト: "kibana.linuxtechi.local" サーバー名: "kibana.linuxtechi.local" elasticsearch.hosts: ["http://elasticsearch1.linuxtechi.local:9200", "http://elasticsearch2.linuxtechi.local:9200", "http://elasticsearch3.linuxtechi.local:9200"] ………… Kibana サービスを有効にして起動します。 root@linuxtechi ~]# systemctl kibanaを起動します [root@linuxtechi ~]# systemctl で kibana を有効にする システムファイアウォールで Kibana ポート '5601' を許可します。 [root@linuxtechi ~]# ファイアウォール-cmd --permanent --add-port=5601/tcp 成功 [root@linuxtechi ~]# ファイアウォール-cmd --reload 成功 [root@linuxtechi ~]# 次の URL を使用して Kibana インターフェースにアクセスします: http://kibana.linuxtechi.local:5601 ダッシュボードから、Elastic Stack クラスターのステータスを確認できます。 これは、RHEL 8 /CentOS 8 にマルチノード Elastic Stack クラスターが正常にインストールされ、設定されたことを証明します。 次に、他の Linux サーバーからのログを、 CentOS 7 サーバーにログインし、yum/rpm コマンドを使用して filebeat パッケージをインストールします。 [root@linuxtechi ~]# rpm -ivh https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.3.1-x86_64.rpm https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.3.1-x86_64.rpm を取得しています 準備中... ################################### [100%] 更新/インストール中... 1:filebeat-7.3.1-1 ###################################### [100%] [root@linuxtechi ~]# 192.168.56.20 ログスタッシュ1.linuxtechi.local 192.168.56.30 ログスタッシュ2.linuxtechi.local 次に、ロード バランシング テクノロジーを使用してログを logstash ノードに送信できるように [root@linuxtechi ~]# vi /etc/filebeat/filebeat.yml ファイルビート入力: - タイプ: ログ 有効: true パス: - /var/log/メッセージ - /var/log/dmesg - /var/log/メールログ - /var/log/boot.log #出力.elasticsearch: # ホスト: ["localhost:9200"] 出力.logstash: ホスト: ["logstash1.linuxtechi.local:5044", "logstash2.linuxtechi.local:5044"] 負荷分散: true 次の 2 つの [root@linuxtechi ~]# systemctl でファイルビートを起動します [root@linuxtechi ~]# systemctl でファイルビートを有効にする 次に、Kibana UI に移動して、新しいインデックスが表示されていることを確認します。 左側のサイドバーから「管理」オプションを選択し、「Elasticsearch」の下の「インデックス管理」をクリックします。 上記のように、インデックスが表示されるようになりました。次に、インデックス モデルを作成しましょう。 Kibana セクションの「インデックス パターン」をクリックすると、新しいモデルを作成するように求められます。「インデックス パターンの作成」をクリックし、パターン名を「filebeat」に指定します。 「次へ」をクリックします。 インデックス パターンの時間フィルターとしてタイムスタンプを選択し、インデックス パターンの作成をクリックします。 次にクリックして、リアルタイムの Filebeat インデックス モデルを表示します。 これは、Filebeat エージェントが正常に構成され、Kibana ダッシュボードでリアルタイムのログを確認できることを示しています。 この記事は以上です。RHEL 8 / CentOS 8 システムで Elastic Stack クラスターをセットアップする際に役立った手順について、ぜひフィードバックやコメントをお寄せください。 出典: https://www.linuxtechi.com/setup-multinode-elastic-stack-cluster-rhel8-centos8/ 要約する 上記は、RHEL8/CentOS8 でマルチノード Elastic Stack クラスターを構築するために紹介した方法です。お役に立てれば幸いです。ご質問がある場合は、メッセージを残していただければ、すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。 以下もご興味があるかもしれません:
|
<<: MySQL 8.0.13 のインストールと設定方法のグラフィックチュートリアル
1. 公式サイト http://dev.mysql.com/downloads/mysql/ から ...
1. vue-cliをインストールする vue.js で vue.js を実行します。 2. プロジ...
1. ボックスを中央に配置するいくつかの方法を記録します。 1.0、マージン幅固定、高さ中央配置。 ...
コードは次のようになります。 <!DOCTYPE html> <html> ...
目次序文1. ファイルの概念に関する基礎知識2. mkdir コマンド序文最近、Linux にますま...
導入js コード文の末尾にセミコロンを追加しても追加しなくても問題ありません。一般的に、チームで開発...
目次1. MHAの紹介1. MHAとは何ですか? 2. MHAの構成3. MHAの特徴2. MySQ...
最近、docker を学習していたときに、docker コンテナ内のネットワーク状態を照会するために...
実装方法は3つのステップに分かれています。テンプレートに 2 つのボタンを設定し、v-if と v-...
この記事では、テーブル切り替えプラグインを実装するためのJavaScriptのカプセル化コードを参考...
ハードウェア ビュー コマンドシステム # uname -a # カーネル/オペレーティング システ...
1. はじめにWeb プロジェクトを Linux サーバーで公開する場合、SSL 証明書を構成する必...
フロントエンドとバックエンドを完全に分離する場合、Vue プロジェクトでトークン検証を実装する一般的...
CSS を使用して、左側に固定幅、右側に適応幅を持つ 2 列レイアウトを実装する 7 つの方法。コー...
序文MySQL データのインポートとエクスポートは mysqldump コマンドで解決できることは誰...