RHEL8 / CentOS8でマルチノードElasticスタッククラスターを確立する方法

一般にELKスタックとして知られるElasticスタックは、Elasticsearch、Logstash、Kibanaなどのオープンソース製品のセットです。 Elastic Stackは、Elastic社によって開発および保守されています。 Elasticスタックを使用すると、システムログをLogstashに送信できます。Logstashは、任意のソースからのログまたはデータを受け入れ、ログを正規化してから、分析、インデックス作成、および分析のためにログをElasticsearchに転送するデータ収集エンジンです。検索して保存し、最後にKibanaを使用して視覚データを表現します。Kibanaを使用すると、ユーザーのクエリに基づいてインタラクティブなグラフを作成することもできます。

この記事では、RHEL 8 / CentOS8サーバーでマルチノードエラスティックスタッククラスターをセットアップする方法を示します。 ElasticStackクラスターの詳細は次のとおりです。

Elasticsearch:

Logstash:**

Kibana:

1つのサーバー、RHEL 8 / CentOS 8IPとホスト名の最小限のインストール– 192.168.56.10( kibana.linuxtechi.local

Filebeat:

Elasticsearchクラスターを設定することから始めましょう。

3ノードのElasticsearchクラスターをセットアップします

私が言ったように、Elasticsearchクラスターのノードをセットアップし、各ノードにログインし、ホスト名を設定し、yum / dnfライブラリーを構成します

コマンド hostnamectlを使用して、各ノードにホスト名を設定します。

[ root@linuxtechi ~]# hostnamectl set-hostname "elasticsearch1.linuxtechi. local"[root@linuxtechi ~]# exec bash
[ root@linuxtechi ~]#
[ root@linuxtechi ~]# hostnamectl set-hostname "elasticsearch2.linuxtechi. local"[root@linuxtechi ~]# exec bash
[ root@linuxtechi ~]#
[ root@linuxtechi ~]# hostnamectl set-hostname "elasticsearch3.linuxtechi. local"[root@linuxtechi ~]# exec bash
[ root@linuxtechi ~]#

CentOS 8システムの場合、オペレーティングシステムパッケージライブラリを構成する必要はありません。RHEL8サーバーの場合、有効なサブスクリプションがある場合は、RedHatサブスクリプションを使用してパッケージリポジトリを取得します。オペレーティングシステムパッケージ用にローカルのyum / dnfリポジトリを構成する場合は、次のURLを参照してください。

DVDまたはISOファイルを使用してRHEL8サーバーにローカルYum / DNFリポジトリを設定する方法

すべてのノードでElasticsearchパッケージリポジトリを構成し、 / etc / yum.repo.d /フォルダーの下に次のコンテンツを含む elastic.repoファイルを作成します。

~]# vi /etc/yum.repos.d/elastic.repo
[ elasticsearch-7.x]
name=Elasticsearch repository for7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

ファイルを保存して終了します。

rpmコマンドを使用して、3つのノードすべてにElasticパブリック署名キーをインポートします。

~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

3つのノードすべての / etc / hostsファイルに次の行を追加します。

192.168.56.40 elasticsearch1.linuxtechi.local
192.168.56.50 elasticsearch2.linuxtechi.local
192.168.56.60 elasticsearch3.linuxtechi.local

yum / dnfコマンドを使用して、3つのノードすべてにJavaをインストールします。

[ root@linuxtechi ~]# dnf install java-openjdk -y
[ root@linuxtechi ~]# dnf install java-openjdk -y
[ root@linuxtechi ~]# dnf install java-openjdk -y

yum / dnfコマンドを使用して、Elasticsearchを3つのノードすべてにインストールします。

root@linuxtechi ~]# dnf install elasticsearch -y
[ root@linuxtechi ~]# dnf install elasticsearch -y
[ root@linuxtechi ~]# dnf install elasticsearch -y

注:オペレーティングシステムのファイアウォールが有効になっていて、各Elasticsearchノードで実行されている場合は、 firewall-cmdコマンドを使用して、次のポートを開くことができます。

~]# firewall-cmd --permanent --add-port=9300/tcp
~]# firewall-cmd --permanent --add-port=9200/tcp
~]# firewall-cmd --reload

Elasticsearchを構成するには、すべてのノードでファイル / etc / elasticsearch / elasticsearch.ymlを編集し、次のコンテンツを追加します。

~]# vim /etc/elasticsearch/elasticsearch.yml
cluster.name: opn-cluster
node.name: elasticsearch1.linuxtechi.local
network.host:192.168.56.40
http.port: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"]

注:各ノードで、 node.nameに正しいホスト名を入力し、 network.hostに正しいIPアドレスを入力すると、他のパラメーターは変更されません。

次に、 systemctlコマンドを使用して、3つのノードすべてでElasticsearchサービスを開始して有効にします。

~]# systemctl daemon-reload
~]# systemctl enable elasticsearch.service
~]# systemctl start elasticsearch.service

次の ssコマンドを使用して、elasticsearchノードがポート9200でリッスンを開始するかどうかを確認します。

[ root@linuxtechi ~]# ss -tunlp | grep 9200
tcp LISTEN 0128[::ffff:192.168.56.40]:9200*:* users:(("java",pid=2734,fd=256))[root@linuxtechi ~]#

次の curlコマンドを使用して、Elasticsearchクラスターのステータスを確認します。

[ root@linuxtechi ~]# curl http://elasticsearch1.linuxtechi.local:9200[root@linuxtechi ~]# curl -X GET http://elasticsearch2.linuxtechi.local:9200/_cluster/health?pretty

コマンドの出力は次のとおりです。

上記の出力は、3ノードのElasticsearchクラスターが正常に作成され、クラスターのステータスも緑色であることを示しています。

注:JVMヒープサイズを変更する場合は、ファイル / etc / elasticsearch / jvm.optionsを編集して、環境に応じて次のパラメーターを変更できます。

それでは、Logstashノードに移動しましょう。

Logstashのインストールと構成

両方のLogstashノードで次の手順を実行します。

2つのノードにログインし、 hostnamectlコマンドを使用してホスト名を設定します。

[ root@linuxtechi ~]# hostnamectl set-hostname "logstash1.linuxtechi.local"[root@linuxtechi ~]# exec bash
[ root@linuxtechi ~]#
[ root@linuxtechi ~]# hostnamectl set-hostname "logstash2.linuxtechi.local"[root@linuxtechi ~]# exec bash
[ root@linuxtechi ~]#

2つのlogstashノードの / etc / hostsファイルに次のエントリを追加します。

~]# 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リポジトリを構成し、次の内容のファイル logstash.repoをフォルダ/ ete / yum.repo.d /の下に作成します。

~]# vi /etc/yum.repos.d/logstash.repo
[ elasticsearch-7.x]
name=Elasticsearch repository for7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

ファイルを保存して終了し、 rpmコマンドを実行して署名キーをインポートします。

~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

yum / dnfコマンドを使用して、両方のノードにJavaOpenJDKをインストールします。

~]# dnf install java-openjdk -y

両方のノードから yum / dnfコマンドを実行して、logstashをインストールします。

[ root@linuxtechi ~]# dnf install logstash -y
[ root@linuxtechi ~]# dnf install logstash -y

次に、logstashを構成します。2つのlogstashノードで次の手順を実行してlogstash構成ファイルを作成します。最初に、logstashサンプルファイルを / etc / logstash / conf.d /の下にコピーします。

# cd /etc/logstash/
# cp logstash-sample.conf conf.d/logstash.conf

構成ファイルを編集して、以下を更新します。

# vi conf.d/logstash.conf
input {
 beats {
 port =>5044}}
output {
 elasticsearch {
 hosts =>["http://elasticsearch1.linuxtechi.local:9200","http://elasticsearch2.linuxtechi.local:9200","http://elasticsearch3.linuxtechi.local:9200"]
 index =>"%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
 # user =>"elastic"
 # password =>"changeme"}}

「出力」セクションで、「hosts」パラメーターに3つのElasticsearchノードすべてのFQDNを指定します。他のパラメーターは変更されません。

firewall-cmdコマンドを使用して、オペレーティングシステムのファイアウォールでlogstashポート「5044」を許可します。

~ # firewall-cmd --permanent --add-port=5044/tcp
~ # firewall-cmd –reload

次に、各ノードで次の systemctlコマンドを実行して、Logstashサービスを開始して有効にします。

~]# systemctl start logstash
~]# systemctl eanble logstash

ssコマンドを使用して、logstashサービスがポート5044でリッスンを開始するかどうかを確認します。

[ root@linuxtechi ~]# ss -tunlp | grep 5044
tcp LISTEN 0128*:5044*:* users:(("java",pid=2416,fd=96))[root@linuxtechi ~]#

上記の出力は、logstashが正常にインストールおよび構成されたことを示しています。 Kibanaのインストールに移りましょう。

Kibanaのインストールと構成

Kibanaノードにログインし、 hostnamectlコマンドを使用してホスト名を設定します。

[ root@linuxtechi ~]# hostnamectl set-hostname "kibana.linuxtechi.local"[root@linuxtechi ~]# exec bash
[ root@linuxtechi ~]#

/ etc / hostsファイルを編集し、次の行を追加します。

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
[ elasticsearch-7.x]
name=Elasticsearch repository for7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
[ root@linuxtechi ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

yum / dnfコマンドを実行してkibanaをインストールします。

[ root@linuxtechi ~]# yum install kibana -y

/ etc / kibana / kibana.ymlファイルを編集してKibanaを構成します。

[ root@linuxtechi ~]# vim /etc/kibana/kibana.yml
…………
server.host:"kibana.linuxtechi.local"
server.name:"kibana.linuxtechi.local"
elasticsearch.hosts:["http://elasticsearch1.linuxtechi.local:9200","http://elasticsearch2.linuxtechi.local:9200","http://elasticsearch3.linuxtechi.local:9200"]
…………

キバナサービスを有効にして開始します。

root@linuxtechi ~]# systemctl start kibana
[ root@linuxtechi ~]# systemctl enable kibana

システムファイアウォールでKibanaポート「5601」を許可します。

[ root@linuxtechi ~]# firewall-cmd --permanent --add-port=5601/tcp
success
[ root@linuxtechi ~]# firewall-cmd --reload
success
[ root@linuxtechi ~]#

次のURLを使用して、Kibanaインターフェイスにアクセスします。http://kibana.linuxtechi.local:5601

パネルから、ElasticStackクラスターのステータスを確認できます。

これは、RHEL 8 / CentOS8にマルチノードElasticStackクラスターを正常にインストールしてセットアップしたことを示しています。

ここで、他のLinuxサーバーから filebeatを介してlogstashノードにいくつかのログを送信しましょう。私の例では、CentOS 7サーバーがあり、サーバーのすべての重要なログを filebeatを介してlogstashにプッシュします。

CentOS 7サーバーにログインし、yum / rpmコマンドを使用してfilebeatパッケージをインストールします。

[ root@linuxtechi ~]# rpm -ivh https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.3.1-x86_64.rpm
Retrieving https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.3.1-x86_64.rpm
Preparing...    ################################# [100%]
Updating / installing...1:filebeat-7.3.1-1   ################################# [100%][root@linuxtechi ~]#

/ etc / hostsファイルを編集し、以下を追加します。

192.168.56.20 logstash1.linuxtechi.local
192.168.56.30 logstash2.linuxtechi.local

次に、負荷分散テクノロジを使用してログをlogstashノードに送信し、ファイル / etc / filebeat / filebeat.ymlを編集して、次のパラメータを追加できるように、 filebeatを構成します。

filebeat.inputs:セクションで、 enabled:false enabled:trueに変更し、 pathsパラメーターの下でlogstashに送信できるログファイルの場所を指定します; output.elasticsearchをコメントアウトしますhostパラメータ; output.logstash:hosts:のコメントを削除し、 hostsパラメータに2つのlogstashノードを追加し、 loadbalance:trueを設定します。

[ root@linuxtechi ~]# vi /etc/filebeat/filebeat.yml
filebeat.inputs:- type: log
 enabled:true
 paths:-/var/log/messages
 - /var/log/dmesg
 - /var/log/maillog
 - /var/log/boot.log
# output.elasticsearch:
 # hosts:["localhost:9200"]
output.logstash:
 hosts:["logstash1.linuxtechi.local:5044","logstash2.linuxtechi.local:5044"]
 loadbalance:true

次の2つの systemctlコマンドを使用して、 filebeatサービスを開始して有効にします。

[ root@linuxtechi ~]# systemctl start filebeat
[ root@linuxtechi ~]# systemctl enable filebeat

次に、Kibanaユーザーインターフェイスに移動し、新しいインデックスが表示されていることを確認します。

左側のサイドバーから管理オプションを選択し、Elasticsearchの下の[インデックス管理]をクリックします。

上で見たように、インデックスが表示されます。インデックスモデルを作成しましょう。

Kibanaセクションの[IndexPatterns]をクリックすると、新しいモデルを作成するように求められます。[Create Index Pattern]をクリックして、パターン名を「filebeat」として指定します。

[次へ]をクリックします。

インデックスモデルのタイムフィルタとして[タイムスタンプ]を選択し、[インデックスパターンの作成]をクリックします。

次に、クリックしてリアルタイムのファイルビートインデックスモデルを表示します。

これは、Filebeatエージェントが正常に構成されたことを示しており、Kibanaダッシュボードにリアルタイムのログが表示されます。

上記はこの記事の全内容です。RHEL8/ CentOS8システムでElasticStackクラスターをセットアップするのに役立つこれらの手順については、遠慮なくフィードバックや意見を共有してください。

via: https://www.linuxtechi.com/setup-multinode-elastic-stack-cluster-rhel8-centos8/

総括する

上記は、編集者が紹介したRHEL8 / CentOS8でマルチノードElasticスタッククラスターを確立する方法です。お役に立てば幸いです。ご不明な点がございましたら、メッセージを残してください。編集者から返信があります。 ZaLou.Cnのウェブサイトをご支援いただきありがとうございます。
この記事があなたに役立つと思うなら、再版を歓迎します、出典を示してください、ありがとう!

Recommended Posts

RHEL8 / CentOS8でマルチノードElasticスタッククラスターを確立する方法
centos7.2でLAMP環境を構築する方法
RHEL 8 / CentOS8にDockerCEをインストールする方法
CentOS 8 / RHEL8にCockpitをインストールして使用する方法
まず、Centos7でCephストレージクラスターを構築してみてください
Ubuntu14.04で本番Elasticsearchクラスターをセットアップする方法
centOS7にjdk1.8をインストールする方法
CentOS8にMySQLをインストールする方法
CentOS8にMemcachedをインストールする方法
CentOS8にRをインストールする方法
CentOS8にFFmpegをインストールする方法
CentOS8にVirtualboxをインストールする方法
CentOS8にTensorFlowをインストールする方法
Centos7でgcc4.9.xに更新する方法
CentOS8にTeamViewerをインストールする方法
CentOSにPerl5をインストールする方法
CentOS8にGitをインストールする方法
CentOS8にGradleをインストールする方法
CentOS8にElasticsearchをインストールする方法
CentOS8にJenkinsをインストールする方法
CentOS8にJavaをインストールする方法
CentOS8にGoをインストールする方法
CentOS8にGCCをインストールする方法
CentOS8にYarnをインストールする方法
CentOS8にNginxをインストールする方法
CentOS7にAsteriskをインストールする方法
CentOS8にJenkinsをインストールする方法
CentOS8にVagrantをインストールする方法
CentOS8にPython3.8をインストールする方法
CentOS8にTomcat9をインストールする方法
CentOS8にWebminをインストールする方法
CentOS8にRubyをインストールする方法
CentOS8にSkypeをインストールする方法
CentOS8にhtopをインストールする方法
CentOS8にPythonをインストールする方法
CentOS8にElasticsearchをインストールする方法
CentOS8にPostgresqlをインストールする方法
CentosにWordpressをインストールする方法
CentOS8にhtopをインストールする方法
CentOS8にTeamViewerをインストールする方法
CentOS7にスワップを追加する方法
CentOS8にMariaDBをインストールする方法
CentOS7にMongoDBをインストールする方法
CentOS8にOdoo13をインストールする方法
CentOS8にApacheをインストールする方法
CentOS8でSELinuxを無効にする方法
CentOS8にOpenCVをインストールする方法
CentOS8にPHPをインストールする方法
CentOS8にMongoDBをインストールする方法
CentOS8でスワップスペースを増やす方法
CentOS8にApacheMavenをインストールする方法
CentOS7にApacheKafkaをインストールする方法
Ubuntu14.04でRedisクラスターを構成する方法
[グラフィック]セントスにtomcatをインストールする方法
(1)クラスター環境を構築するためのCentos7のインストール
R&D:CentOS7にPython3をインストールする方法
CentOS7にGCCコンパイラをインストールする方法
CentOS8でホスト名を変更する方法
centos7.0にオフラインJDK1.8をインストールする方法
CentOS7にElasticsearchをインストールして構成する方法
CentOS8にVisualStudioコードをインストールする方法