Ubuntu20.04にELKをインストールする方法

ELKスタックはElasticStackとして知られており、Elasticsearch、Kibana、Logstashの3つのオープンソースソフトウェアのコレクションです。 ELKスタックは、大量のデータを検索、分析、および視覚化するために使用されます。

Beatsは、Elasticsearchの機能を向上させるための重要なツールです。 したがって、無料でダウンロードして使用できる4つの主要コンポーネントがあります。

  • Elasticsearch:分散検索エンジンは収集されたデータを保存します
  • Logstash:データ処理コンポーネントがデータをElasticsearchに送信します
  • Kibana:GUI Webは、ログの検索と視覚化に使用されます
  • Beats:軽量プラグインは、さまざまなデータストリームからのデータを集約するために使用されます

このチュートリアルでは、Ubuntu20.04にELKスタックをインストールする手順を説明します。

Javaをインストールする

ELKスタックをインストールするには、次のコマンドでUbuntuマシンにJavaをインストールする必要があります。

$ sudo apt install openjdk-8-jdk

Javaが正常にインストールされたことを確認します。

$ java -version

出力:

openjdk version "1.8.0_275"
OpenJDK Runtime Environment (build 1.8.0_275-8u275-b01-0ubuntu1~20.04-b01)
OpenJDK 64-Bit Server VM (build 25.275-b01, mixed mode)

Nginxをインストールします

Kibanaダッシュボードでは、NginxWebサーバーがマシンにインストールされている必要があります。 Nginxをリバースプロキシとして使用しました。

次のコマンドでNginxをインストールするには:

$ sudo apt install nginx

Elasticsearchをインストールして構成します

Elasticsearchをインストールするには、そのリポジトリをUbuntu20.04ソースリストに追加する必要があります。

GPGキーのインポート:

$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

次に、apt-transport-httpsをインストールします。

$ sudo apt install apt-transport-https

Elasticsearchリポジトリを追加します:

$ echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee –a /etc/apt/sources.list.d/elastic-7.x.list

これで、Elasticsearchをインストールできます。

$ sudo apt update
$ sudo apt install elasticsearch

Elasticsearchの設定ファイルは次の場所にあります。 /etc/elasticsearch/elasticsearch.yml

お気に入りのエディターを使用して、次のように変更します。

コメント解除行:

network.host: localhost

http.port: 9200

次の行をに追加します Discovery セクション:

discovery.type: single-node

Elasticsearch構成ファイル

次のコマンドを実行してElasticsearchサービスを開始します。

$ sudo systemctl start elasticsearch.service

Elasticsearchサービスが起動時に開始できるようにします。次のように入力します。

$ sudo systemctl enable elasticsearch.service

Elasticsearchが実行され、ポートでリッスンしていることを確認します 9200

$ curl -X GET "localhost:9200"

Elasticsearchをテストする

Kibanaをインストールして構成する

Kibanaをインストールするには、次のコマンドを実行します。

$ sudo apt install kibana

インストールが完了したら、Kibana構成ファイルを開きます。

$ sudo vim /etc/kibana/kibana.yml

これらの行のコメントを解除します。

server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["https://localhost:9200"]

Kibana構成ファイル

Kibanaサービスを開始し、起動時に起動します。

$ sudo systemctl start kibana
$ sudo systemctl enable kibana

Kibanaダッシュボードにアクセスするには、次のことを行う必要があります ポート5601でのトラフィックを許可する

$ sudo ufw allow 5601/tcp

これで、Kibanaダッシュボードにアクセスできます。 https://localhost:5601

Kibanaダッシュボード

Logstashをインストールして構成します

Logstashをインストールするには、次のようにコマンドを実行します。

$ sudo apt install logstash

Logstashサービスを開始し、起動時に起動します。

$ sudo systemctl start logstash
$ sudo systemctl enable logstash

Logstashサービスが実行されていることを確認します。

$ sudo systemctl status logstash

Logstashサービスステータス

すべてのLogstash構成ファイルはにあります /etc/logstash/conf.d/。 私たち自身のユースケースに従って、構成します INPUTFILTERSOUTPUT パイプライン。

Filebeatをインストールして構成します

filebeatをインストールするには、次のコマンドを実行します。

$ sudo apt install filebeat

インストールが完了したら、構成ファイルを編集してFilebeatを構成します。

$ sudo vim /etc/filebeat/filebeat.yml

Elasticsearchの出力セクションで、次の行をコメントアウトしましょう。

#output.elasticsearch:
# Array of hosts to connect to.
#hosts: ["localhost:9200"]

次に、Logstash出力セクションでこれらの行のコメントを解除します。

output.logstash:
hosts: ["localhost:5044"]

Filebeat構成ファイル

次に、Filebeatシステムモジュールを有効にする必要があります。

$ sudo filebeat modules enable system

次に、インデックステンプレートをロードします。

$ sudo filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

Filebeatサービスを開始し、起動時に起動します。

$ sudo systemctl start filebeat
$ sudo systemctl enable filebeat

結論

ELKスタックは、データを一元化するための非常に強力なツールです。 このチュートリアルでは、Ubuntu20.04にELKスタックをインストールして構成するすべての手順を実行しました。

読んでいただきありがとうございます。以下のコメントセクションに提案を残してください。