はじめに
ELKスタックは、ログの管理に使用されるオープンソースソフトウェアパッケージのグループです。通常、サーバーログに使用されますが、大量のデータセットを生成するプロジェクトに対しても柔軟(弾力性)があります。
このガイドでは、CentOS 8サーバーにELKスタック(Elasticsearch、Logstash、およびKibana)をインストールする方法を説明します。
前提条件
- CentOS8がインストールされているシステム
- ターミナルウィンドウ/コマンドラインへのアクセス(検索>ターミナル )
- sudoのユーザーアカウント またはルート 特権
- Javaバージョン8または11(Logstashに必要)
ELKスタックは何の略ですか?
ELKは、Elasticsearch、Logstash、およびKibanaの略です。これらはELKスタックの3つのコンポーネントです。
Elasticsearch (データのインデックス)–これはElasticソフトウェアのコアです。 Elasticsearchは、データを並べ替えるために使用される検索および分析エンジンです。
ログスタッシュ (データを収集します)–このパッケージは、さまざまなデータソースに接続し、データを照合して、ストレージに転送します。その名前が示すように、ログファイルを収集して「保存」します。
キバナ (データを視覚化する)– Kibanaは、データを視覚化するためのグラフィカルツールです。これを使用して、データベース内の生データを理解するためのチャートやグラフを生成します。
ステップ1:OpenJDK8Javaをインストールする
システムにJava8(または11)がすでにインストールされている場合は、この手順をスキップできます。
それ以外の場合は、ターミナルウィンドウを開き、次のように入力します。
sudo yum install java-1.8.0-openjdk
システムはリポジトリをチェックし、インストールの確認を求めるプロンプトを表示します。 Y
と入力します 次に入力 。プロセスが完了するのを待ちます。
ステップ2:Elasticsearchリポジトリを追加する
ELKスタックは、YUMパッケージマネージャーを使用してダウンロードおよびインストールできます。ただし、ソフトウェアはデフォルトのリポジトリには含まれていません。
ElasticsearchPGPキーをインポートする
ターミナルウィンドウを開き、次のコードを入力します。
sudo rpm ––import https://artifacts.elastic.co/GPG-KEY-elasticsearch
これにより、Elasticsearchパブリック署名キーがシステムに追加されます。このキーは、ダウンロード時にElasticsearchソフトウェアを検証します。
ElasticsearchRPMリポジトリを追加する
/etc/yum.repos.d/にリポジトリ設定ファイルを作成する必要があります 。ディレクトリに移動することから始めます:
cd /etc/yum.repos.d/
次に、選択したテキストエディタで設定ファイルを作成します(Vimを使用しています):
sudo vim elasticsearch.repo
次の行を入力またはコピーします。
[elasticstack]
name=Elastic repository for 7.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
Vimを使用している場合は、 Escを押します 次に、 :wq
と入力します Enterを押します 。
最後に、リポジトリのパッケージリストを更新します。
dnf update
ステップ3:Elasticsearchをインストールしてセットアップする
インストールの順序は重要です。 Elasticsearchをインストールすることから始めます。
ターミナルウィンドウで、次のコマンドを入力します。
sudo dnf install elasticsearch
これにより、すべてのリポジトリでElasticsearchパッケージがスキャンされます。
システムはダウンロードサイズを計算し、インストールの確認を求めるプロンプトを表示します。 Y
と入力します 次に入力 。
Elasticsearchの設定
インストールが完了したら、 /etc/elasticsearch/elasticsearch.yml
を開いて編集します テキストエディタを使用した構成ファイル:
sudo vim /etc/elasticsearch/elasticsearch.yml
NETWORK
というラベルの付いたセクションまで下にスクロールします 。そのエントリの下に、次の行が表示されます。
# Set the bind address to a specific IP (IPv4 or IPv6):
#
#network.host: 192.168.0.1
#
# Set a custom port for HTTP:
#
#http.port: 9200
network.host
を調整します サーバーのIPアドレスに設定するか、ローカルで単一ノードを設定する場合はlocalhostに設定します。 http.port
を調整します 同様に。
# Set the bind address to a specific IP (IPv4 or IPv6):
#
network.host: localhost
#
# Set a custom port for HTTP:
#
http.port: 9200
詳細については、以下の画像を参照してください:
Vimを使用している場合は、 ESC
を押します 、「 :wq
」と入力します Enter
を押します 変更を保存して終了します。
Elasticsearchを開始
変更を有効にするためにシステムを再起動します:
sudo reboot
システムが再起動したら、elasticsearchを開始します サービス:
sudo systemctl start elasticsearch
コマンドが正しく実行された場合、出力はありません。
次に、起動時に起動するようにサービスを設定します:
sudo systemctl enable elasticsearch
Elasticsearchのテスト
ソフトウェアをテストして、接続に応答することを確認します。
curl -X GET "localhost:9200"
システムは情報の全リストを表示する必要があります。 2行目には、 cluster_name
が表示されているはずです。 elasticsearch
に設定されています 。これにより、Elasticsearchが実行され、ポート9200でリッスンしていることが確認されます。 。
ステップ4:Kibanaをインストールしてセットアップする
Kibanaは、ログファイルを解析および解釈するためのグラフィカルインターフェイスです。
KibanaはElasticsearchと同じGPGキーを使用するため、キーを再インポートする必要はありません。さらに、KibanaパッケージはElasticsearchと同じELKスタックリポジトリにあります。したがって、別のリポジトリ構成ファイルを作成する必要はありません。
Kibanraをインストールするには、ターミナルウィンドウを開き、次のように入力します。
sudo dnf install kibana
システムはリポジトリをスキャンし、確認を求めます。 y
と入力します 次に入力 プロセスを終了させます。
Kibanaを構成する
Elasticsearchと同様に、 .ymlを編集する必要があります Kibanaの構成ファイル。
kibana.ymlを開きます 編集用ファイル:
sudo vim /etc/kibana/kibana.yml
次の行を見つけて、#を削除します 行頭から署名する:
#server.port: 5601
#server.host: "localhost"
#elasticsearch.hosts: ["http://localhost:9200"]
行は次のようになります。
server.port: 5601
server.host: "localhost"
elasticsearch.hosts: ["http://localhost:9200"]
詳細については、下の画像を参照してください。
カスタム名を割り当てるには、 server.name
を編集します 行。
必要に応じて他の編集を行います。ファイルを保存して終了します( Esc を押します) 、「 :wq
」と入力します Enterを押します 。
Kibanaを起動して有効にする
次に、Kibanaサービスを開始して有効にします:
sudo systemctl start kibana
sudo systemctl enable kibana
ポート5601でのトラフィックを許可する
CentOSシステムでfirewalldが有効になっている場合は、ポート5601でのトラフィックを許可する必要があります。 。ターミナルウィンドウで、次のコマンドを実行します。
firewall-cmd --add-port=5601/tcp --permanent
次に、firewalldサービスをリロードします:
firewall-cmd --reload
上記のアクションは、外部マシンからKibanaダッシュボードにアクセスする場合の前提条件です。
テストキバナ
Webブラウザーを開き、次のアドレスを入力します。
http://localhost:5601
システムはKibanaダッシュボードのロードを開始する必要があります。
ステップ5:Logstashのインストールとセットアップ
Logstashは、さまざまなソースからデータを収集するツールです。収集したデータはKibanaによって解析され、Elasticsearchに保存されます。
ELKスタックの他の部分と同様に、Logstashは同じElasticGPGキーとリポジトリを使用します。
CentOS 8にlogstashをインストールするには、ターミナルウィンドウで次のコマンドを入力します。
sudo dnf install logstash
Y
と入力します Enterを押します インストールを確認します。
Logstashの構成
すべてのカスタム構成ファイルを/etc/logstash/conf.d/に保存します ディレクトリ。構成は、使用するユースケースとプラグインによって大きく異なります。
カスタム構成の例については、Logstash構成の例を参照してください。
Logstashを開始
Logstashサービスを開始して有効にします:
sudo systemctl start logstash
sudo systemctl enable logstash
これで、KibanaダッシュボードとLogstashデータ収集パイプラインとともにElasticsearchが正常にインストールされているはずです。
ステップ6:Filebeatをインストールする
ロギングを簡素化するには、 Filebeatと呼ばれる軽量モジュールをインストールします 。 Filebeatは、データストリーミングを一元化するログの配送業者です。
Filebeatをインストールするには、ターミナルウィンドウを開き、次のコマンドを実行します。
sudo yum install filebeat
次に、システムを追加します モジュール。ローカルシステムログを調べます:
sudo filebeat modules enable system
次に、Filebeatセットアップを実行します:
sudo filebeat setup
システムは、システムをスキャンしてKibanaダッシュボードに接続する作業を行います。
Filebeatサービスを開始します:
sudo service filebeat start
次のアドレスにアクセスして、ブラウザでKibanaダッシュボードを起動します。
http://localhost:5601
左側の列で、ログをクリックします タブ。 ライブストリームを見つけてクリックします リンク。これで、ローカルログファイルのライブデータストリームが表示されます。