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サービスを開始します。
$ sudo systemctl start elasticsearch.service
Elasticsearchサービスが起動時に開始できるようにします。次のように入力します。
$ sudo systemctl enable elasticsearch.service
Elasticsearchが実行され、ポートでリッスンしていることを確認します 9200
:
$ curl -X GET "localhost:9200"

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サービスを開始し、起動時に起動します。
$ sudo systemctl start kibana
$ sudo systemctl enable kibana
Kibanaダッシュボードにアクセスするには、次のことを行う必要があります ポート5601でのトラフィックを許可する:
$ sudo ufw allow 5601/tcp
これで、Kibanaダッシュボードにアクセスできます。 https://localhost:5601

Logstashをインストールして構成します
Logstashをインストールするには、次のようにコマンドを実行します。
$ sudo apt install logstash
Logstashサービスを開始し、起動時に起動します。
$ sudo systemctl start logstash
$ sudo systemctl enable logstash
Logstashサービスが実行されていることを確認します。
$ sudo systemctl status logstash

すべてのLogstash構成ファイルはにあります /etc/logstash/conf.d/
。 私たち自身のユースケースに従って、構成します INPUT
、 FILTERS
、 OUTPUT
パイプライン。
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システムモジュールを有効にする必要があります。
$ 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スタックをインストールして構成するすべての手順を実行しました。
読んでいただきありがとうございます。以下のコメントセクションに提案を残してください。