このチュートリアルでは、CentOS7にELKスタックをインストールして構成する方法を紹介します。 。 Elasticsearch、Logstash、およびKibanaは、ELKスタックと呼ばれるコレクションの一部である3つのオープンソース製品です。これは、データの検索、分析、および視覚化のための堅牢なソリューションです。 ElasticsearchがLuceneに基づく分散型RESTful検索および分析NoSQLエンジンであることはすでにご存知のとおり、軽量のデータ処理パイプラインまたはLogstashは、さまざまなソースからのイベントとログの管理に使用され、WebアプリケーションであるKibanaはデータの視覚化に使用されます。 Elsticsearchの上で動作します。 CentOS7へのELKStackのインストールに関するこのチュートリアルは、他のLinux VPSシステムにも適していますが、元々はCentOSベースの仮想プライベートサーバーを対象として作成およびテストされていました。 CentOS7にELKスタックをインストールするタスク 簡単なはずです。以下の手順に従うだけで、10分以内に作業が完了します。始めましょう。
1。前提条件
このチュートリアルを正常に完了するために最初に必要なのは、CentOS7サーバーへのrootアクセスです。
ELKサーバーに必要なCPU、RAM、およびストレージの量はログに依存するため、収集するログの量は重要です。
システム要件:
- OS:CentOS 7
- RAM:4GB
- CPU:2
2。 Javaをインストールする
ElasticスタックのデプロイメントにはJavaが必要です。 OpenJDKとOracleJavaの両方をサポートします。 OracleJDK1.8の使用をお勧めします。公式のOraclerpmパッケージからJava8をインストールします。
Java 8 JDKは、次のwgetコマンドでダウンロードできます。
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http:%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u77-b02/jdk-8u171-linux-x64.rpm"
次のステップは、次のrpmコマンドを使用したインストールです。
rpm -ivh jdk-8u171-linux-x64.rpm
この時点で、JavaJDKのインストールを確認する必要があります。
java -version
すべてが正常にインストールされている場合は、次の出力が表示されます。
java version "1.8.0_172" Java(TM) SE Runtime Environment (build 1.8.0_172-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.172-b11, mixed mode)
3。 CentOS7にElasticsearchをインストールして構成する
次に、Elasticsearchをインストールして構成します。このインストールにはelastic.coが提供するrpmパッケージを使用し、ローカルホストで実行するように構成します(これはすべて、セットアップを安全にし、からアクセスできないようにするためです。外側)。
Elasticsearchをインストールする前に、elastic.coキーをサーバーに追加する必要があります。
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
次に、Elasticsearch 6.2をダウンロードしてインストールを開始するには、wgetを使用する必要があります
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.rpm rpm -ivh elasticsearch-6.2.4.rpm
Elasticsearchがすでにインストールされているこの時点で、構成ディレクトリに移動して、elasticsaerch.yml構成ファイルを編集する必要があります。
nano /etc/elasticsearch/elasticsearch.yml
次に、Elasticsearchのメモリロックを有効にするために、40行目のコメントを削除する必要があります。これにより、Elasticsearchのメモリスワッピングが無効になります。
bootstrap.memory_lock: true
その後、「Network」ブロックのnetwork.host行とhttp.port行のコメントを解除する必要があります。
network.host: localhost http.port: 9200
ファイルを保存することを忘れないでください。そうすれば、エディタを終了できます。
次に、メモリロックを設定するためにelasticsearch.serviceファイルを編集する必要があります。
vim /usr/lib/systemd/system/elasticsearch.service
LimitMEMLOCK行のコメントを外します。
LimitMEMLOCK=infinity
繰り返しになりますが、保存して終了することを忘れないでください。
次のステップは、Elasticsearchのsysconfig構成ファイルを編集することです。
nano /etc/sysconfig/elasticsearch
次に、行60のコメントを解除し、値が「無制限」であることを確認する必要があります。
MAX_LOCKED_MEMORY=unlimited
保存して終了します。
これらの手順をすべて完了すると、CentOS7でElasticsearchの構成が完了したことになります。ポート9200のローカルホストIPアドレスでElasticsearchが実行されます。
最初にサービスを開始する前に、システムをリロードし、Elasticsearchが起動時に開始できるようにする必要があります。
systemctl daemon-reload systemctl enable elasticsearch systemctl start elasticsearch
数秒後、Elasticsearchが起動します。次に、サーバーで開いているポートを確認し、ポート9200の「状態」が「LISTEN」であることを再確認する必要があります。
4.CentOS7にKibanaをインストールして構成する
この時点で、リストにある次のことは、NginxWebサーバーを使用したKibanaのインストールと構成です。 KibanaはローカルホストのIPアドレスをリッスンし、NginxはKibanaアプリケーションのリバースプロキシとして機能します。
Kibana 6.2.4をダウンロードするにはwgetを使用してから、rpmコマンドを使用してインストールする必要があります。
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-x86_64.rpm rpm -ivh kibana-6.2.4-x86_64.rpm
次のステップは、Kibana構成ファイルを編集することです。
nano /etc/kibana/kibana.yml
server.port、server.host、elasticsearch.urlの構成行のコメントを解除します。
server.port: 5601 server.host: "localhost" elasticsearch.url: "http://localhost:9200"
変更を保存してから終了する必要があります。
Kibanaサービスを開始し、起動時に自動的に開始するように設定します:
systemctl enable kibana systemctl start kibana
これで、Kibanaのインストールが完了しました。
5。 Nginxをインストールして構成する
次に、Nginxをインストールし、もちろん、パブリックIPアドレスからKibanaにアクセスするためのリバースプロキシとして構成します。
NginxはEpelリポジトリにあり、yumを使用してepel-releaseをインストールします。
yum install epel-release
次に、Nginxとhttpd-toolsパッケージをインストールする必要があります。
yum install nginx httpd-tools
Webサーバー用のツールはhttpd-toolsパッケージに含まれており、Kibanaのhtpasswd基本認証を使用できます。
この時点で、conf.dディレクトリに新しい仮想ホスト構成ファイルを作成する必要があります。
nano /etc/nginx/conf.d/your_domain.com.conf
そのため、新しい仮想ホスト構成を追加できるようになります。以下に構成を貼り付けます:
server { listen 80; server_name your_domain.com; auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/htpasswd.kibana; location / { proxy_pass http://localhost:5601; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } }
次に、htpasswdコマンドを使用して新しい基本認証ファイルを作成する必要があります。
sudo htpasswd -c /etc/nginx/htpasswd.kibana admin TYPE YOUR STRONG PASSWORD
起動時に実行するNginxを追加し、Nginxを起動します。
systemctl enable nginx systemctl start nginx
6。 Logstashのインストールと構成
次のステップでは、Logsatashをインストールし、filebeatを使用してクライアントからのサーバーログを一元化するように構成し、Syslogデータをフィルター処理して変換し、stashに移動します(Elasticsearch)。
Logstashをダウンロードしてインストールするには、rpmを使用します。
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.4.rpm rpm -ivh logstash-6.2.4.rpm
Logstashのインストールが完了したら、Logstashサービスを開始し、起動時に自動的に開始するように設定します。
systemctl restart logstash systemctl enable logstash
Logstashの構成は、個人の好みと使用するプラグインによって異なります。 Logstashの構成方法の詳細については、こちらをご覧ください。
それでおしまい。これで、CentOS7VPSにELKスタックが正常にインストールされました。
Ubuntu20.04にELKスタックをインストールする方法についてはこのガイドに従ってください
もちろん、CentOS7にELKスタックをインストールして構成する必要はありません。 、Managed Elasticsearch VPS Hostingサービスのいずれかを使用している場合は、専門のLinux管理者にELKスタックのインストールを依頼するだけです。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。
PS 。この投稿が気に入った場合は、下のボタンを使用してソーシャルネットワークで友達と共有するか、コメントセクションにコメントを残してください。ありがとう。