ELKスタックは、ログファイルを取得および管理するための一連のアプリケーションで構成されています。ソフトウェア開発業界では、ログファイルは、問題を特定してトラブルシューティングするために重要な役割を果たします。 ELKスタックは、 Elasticsearchなどのさまざまなオープンソースアプリケーションツールのコレクションです。 、キバナ、 およびLogstash 。 ELKは、クエリを使用して、任意のパターンで任意のソースから生成されたログを収集、検索、および視覚化するために使用できます。この記事では、UbuntuとDebianにELKスタックをインストールして設定する方法を学びます。
前提条件:
- 新しいUbuntu20.04またはDebian10サーバー
- ルート特権アカウント
- 適切なインターネット接続
Javaのインストール
ELKスタックのインストールにはJava環境が必要です。次のコマンドを実行して、Ubuntu/DebianにJavaをインストールします
$ sudo apt install openjdk-8-jdk
Javaのバージョンを確認してインストールを確認します
$ java -version
出力:
Elasticsearchのインストールと設定
Javaをインストールしたら、Elasticsearchをインストールして構成します。 ElasticsearchパッケージはデフォルトではUbuntu/Debianで利用できないため、elasticsearchaptリポジトリを追加する必要があります。次のコマンドを実行して、GPGリポジトリキーを追加します。
$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
次に、コマンドを使用してリポジトリファイルを作成します。
$ 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
Elasticsearchを開始して有効にする
$ sudo systemctl start elasticsearch
$ sudo systemctl enable elasticsearch
次のコマンドを実行して、Elasticsearchのステータスと詳細を表示します
$ curl -X GET "localhost:9200"
出力:
Logstashのインストールと構成
Logstashパッケージは、Ubuntu/Debianシステムでデフォルトで利用できます。次のコマンドを実行してインストールします。
$ sudo apt install logstash
サービスを開始して有効にします
$ sudo systemctl start logstash
$ sudo systemctl enable logstash
コマンドを使用してサービスを確認します
$ systemctl status logstash
logstashのデフォルトの構成ディレクトリは/etc/logstash/conf.d/です。 。インストールが完了すると、 INPUT 、フィルター および出力 パイプラインは、必要なユースケースに基づいて構成できます。
Kibanaのインストールと構成
Kibanaは、収集されたログの分析と解析に使用されるWebベースのGUIツールです。 Kibanaは、Ubuntu/Debianのデフォルトリポジトリで利用できます。次のコマンドを実行して、パッケージをインストールします。
$ sudo apt install kibana
kibanaを構成するには、デフォルトの構成ディレクトリに移動し、次の行のコメントを解除します
$ sudo vim /etc/kibana/kibana.yml
server.port: 5601 server.host: "localhost" elasticsearch.hosts: ["http://localhost:9200"]
サービスを開始して有効にします
$ sudo systemctl start kibana
$ sudo systemctl enable kibana
ファイアウォールでkibanaポートを許可する
$ sudo ufw allow 5601/tcp
次に、URL http:// localhost:5601
を使用してKibanaダッシュボードにアクセスします。
filebeatのインストールと構成
Filebeatは、ログをelasticsearchとlogstashに送信して解析するために使用されます。 Filebeatは、Ubuntu/Debianリポジトリでデフォルトで利用できます。次のコマンドを実行してインストールします。
$ sudo apt install filebeat -y
ファイルビートを構成するには、デフォルトの構成ディレクトリに移動し、以下をコメントアウトします。
$ sudo vim /etc/filebeat/filebeat.yml
# output.elasticsearch: # Array of hosts to connect to . # hosts: ["localhost:9200"]
次の行のコメントを解除して、ファイルを保存します
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
ステータスを確認する
$ sudo systemctl status filebeat
結論
この記事では、Debian/UbuntuにELKスタックを正しい方法でインストールして設定する方法について説明しました。また、Kibana、Logstash、Kibanaなどのさまざまなコンポーネントを使用して、任意のソースからのログを分析および視覚化する方法も学びました。