このチュートリアルでは、CentOS 7にELKスタックをインストールする方法を紹介します。知らない人のために、ELKスタックは人気のあるオープンソースのログ管理プラットフォームです。ログを保存、分析、表示するための集中管理として使用されます。集中管理により、ログの調査と、任意の数のサーバーの問題の特定が容易になります。
この記事は、少なくともLinuxの基本的な知識があり、シェルの使用方法を知っていること、そして最も重要なこととして、サイトを独自のVPSでホストしていることを前提としています。インストールは非常に簡単で、ルートアカウントで実行されていますが、そうでない場合は、'sudo
を追加する必要があります。 ルート権限を取得するコマンドに‘。 CentOS 7サーバーにELKStack(Elasticsearch、Logstash、Kibana)を段階的にインストールする方法を紹介します。
前提条件
- 次のオペレーティングシステムのいずれかを実行しているサーバー:CentOS7。
- 潜在的な問題を防ぐために、OSの新規インストールを使用することをお勧めします。
- サーバーへのSSHアクセス(またはデスクトップを使用している場合はターミナルを開く)
non-root sudo user
またはroot user
へのアクセス 。non-root sudo user
として行動することをお勧めします ただし、ルートとして機能するときに注意しないと、システムに害を及ぼす可能性があるためです。
CentOS7にELKスタックをインストールする
ステップ1.まず、システムが最新であることを確認することから始めましょう。
yum clean all yum -y update
ステップ2.Javaをインストールします。
ElasticsearchはJavaプログラミング言語で記述されているため、Javaランタイム環境(JRE)が必要です。JREを含むOpenJDKパッケージをインストールできます:
yum install java-1.8.0-openjdk.x86_64
Javaバージョンを確認します:
[[email protected] ~]# java -version openjdk version "1.8.0_131" OpenJDK Runtime Environment (build 1.8.0_131-b12) OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)>
ステップ3.Elasticsearchをインストールします。
Elasticsearchは、Elasticのパッケージリポジトリを追加することでパッケージマネージャーとともにインストールできます:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.0.0.rpm
次に、ダウンロードしたRPMパッケージをインストールします:
rpm -ivh elasticsearch-5.0.0.rpm
サービスを開始して有効にします:
systemctl enable elasticsearch systemctl start elasticsearch
ここで、ターミナルから次のコマンドを実行して、Elasticsearchが正しく機能しているかどうかを確認します。
curl -X GET http://localhost:9200
次の出力が得られるはずです:
{ "name" : "idroot.us", "cluster_name" : "elasticsearch", "cluster_uuid" : "k27ZZFJPTaOtwg6_pyzEiw", "version" : { "number" : "5.5.0", "build_hash" : "2cfe0df", "build_date" : "2017-05-29T16:05:51.443Z", "build_snapshot" : false, "lucene_version" : "6.5.1" }, "tagline" : "You Know, for Search" }
ステップ4.Kibanaをインストールします。
Kibanaのインストールは非常に簡単で、RPMパッケージを使用して簡単にインストールできます:
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.5.0-x86_64.rpm
次に、次のコマンドを実行するだけで、Kibanaサービスを開始できます。
systemctl daemon-reload systemctl start kibana
これで、Kibanaがインストールされ、システムで動作しています。Webページを確認するには、Webブラウザーを開き、以下のURLにアクセスしてください(ELKホストのIPアドレスを使用してください):
http://localhost:5601
ステップ5.ELKスタックを構成します。
まず、SSL証明書を作成する必要があります。この証明書は、logstashクライアントとfilebeatクライアント間の通信を保護するために使用されます。SSL証明書を作成する前に、 openssl.cnf
へのサーバーIPアドレスの入力 :
nano /etc/ssl/openssl.cnf
「subjectAltName」のセクションを探して、サーバーIPを追加します:
subjectAltName = IP:10.20.30.100
次に、ディレクトリを/etc/ssl
に変更します。 SSL証明書を作成します:
cd /etc/ssl openssl req -x509 -days 365 -batch -nodes -newkey rsa:2048 -keyout logstash-forwarder.key -out logstash_frwrd.crt
手順6.Logstashを構成します。
次に、「/etc/logstash/conf.d
」フォルダーの下にlogstashの構成ファイルを作成します。 ‘:
[[email protected] ~]# nano /etc/logstash/conf.d/logstash.conf # input section input { beats { port => 5044 ssl => true ssl_certificate => "/etc/ssl/logstash_frwrd.crt" ssl_key => "/etc/ssl/logstash-forwarder.key" congestion_threshold => "40" } }
次のセクション、つまり「フィルターセクション」は、ログをElasticsearchに送信する前に解析します:
# Filter section filter { if [type] == "syslog" { grok { match => { "message" => "%{SYSLOGLINE}" } } date { match => [ "timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] } } }
最後のセクションは「出力セクション」であり、ログの保存場所を定義します:
# output section output { elasticsearch { hosts => localhost index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" } stdout { codec => rubydebug } }>
ファイルを保存して終了します。logstashサービスを開始し、起動時に有効にします:
systemctl start logstash systemctl enable logstash
ステップ7.クライアントにFilebeatをインストールします。
ELKスタックと通信できるようにするには、Filebeatをすべてのクライアントマシンにインストールする必要があります:
$ nano /etc/yum.repos.d/filebeat.repo [beats] name=Elastic Beats Repository baseurl=https://packages.elastic.co/beats/yum/el/$basearch enabled=1 gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch gpgcheck=1
次に、次のコマンドを使用してfilebeatをインストールします。
yum install filebeat
ファイルビートがインストールされたら、SSL証明書をELKスタックサーバーから「/etc/ssl
」にコピーします ’。次に、filebeat構成ファイルに変更を加えて、クライアントをELKサーバーに接続します。
nano /etc/filebeat/filebeat.yml
ファイルに次の変更を加えます:
. . . paths: – /var/log/*.log . . . . . . document_type: syslog . . . . . . output: logstash: hosts: [“10.20.30.100:5044”] tls: certificate_authorities: [“/etc/ssl/logstash_frwrd.crt”] . . .
次に、サービスを開始し、起動時に有効にします:
systemctl restart filebeat systemctl enable filebeat
サーバー側とクライアント側の両方での構成が完了しました。これで、Kibana Webインターフェースにログインして、分析されたログを探すことができます。
http://your-ip-address:5601/
おめでとうございます!CentOS7にELKStackを正常にインストールしました。CentOS7システムにELKStack(Elasticsearch、Logstash、およびKibana)をインストールするためにこのチュートリアルを使用していただきありがとうございます。 、ELKStackの公式ウェブサイトを確認することをお勧めします。