GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS8にElasticStack(Elasticsearch、Logstash、Kibana)をインストールする方法

Elasticsearchは、Javaで開発されたLuceneをベースにしたオープンソースの検索エンジンです。分散型およびマルチテナント型の全文検索エンジンにHTTPダッシュボードWebインターフェイス(Kibana)を提供します。データは、JSONドキュメントスキームを使用してクエリ、取得、および保存されます。 Elasticsearchは、ログファイルを含むすべての種類のテキストドキュメントを検索するために使用できるスケーラブルな検索エンジンです。 Elasticsearchは、「ElasticStack」またはELKスタックの心臓部です。

Logstashは、イベントとログを管理するためのオープンソースツールです。データ収集のためのリアルタイムのパイプライン化を提供します。 Logstashはログデータを収集し、データをJSONドキュメントに変換して、Elasticsearchに保存します。

Kibanaは、Elasticsearch用のオープンソースのデータ視覚化ツールです。 Kibanaは、美しいダッシュボードWebインターフェイスを提供します。 Elasticsearchからのデータを管理および視覚化することができます。美しいだけでなく、パワフルです。

このチュートリアルでは、CentOS8サーバーに「ElasticStack」をインストールして構成する手順を説明します。 Elasticsearch、Logstash、Kibanaをインストールしてセットアップします。次に、クライアントのUbuntuおよびCentOSシステムでBeatsの「filebeat」を設定します。

前提条件

  • 4GBのRAMを搭載したCentOS864ビット-elk-master
  • CentOS864ビットと1GBのRAM-client01
  • Ubuntu18.0464ビットと1GBのRAM-client02

私たちが行うこと:

  • CentOS8サーバーにElasticリポジトリを追加する
  • Elasticsearchのインストールと設定
  • Kibanaダッシュボードのインストールと構成
  • KibanaのリバースプロキシとしてNginxをセットアップする
  • Logstashのインストールと構成
  • Filebeatのインストールと構成
  • テスト
ステップ1-Elasticリポジトリを追加する

まず、ElasticsearcキーとリポジトリをCentOS8サーバーに追加します。 Elastic.coが提供するelasticsearchリポジトリを使用すると、Elasticsearch、Logstash、Kibana、BeatsなどのElastic製品をインストールできます。

次のコマンドを使用して、エラスティックキーをシステムに追加します。

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

その後、「/ etc / yum.repos.d」ディレクトリに移動し、新しいリポジトリファイル「elasticsearch.repo」を作成します。

cd /etc/yum.repos.d/
vim elasticsearch.repo

以下にelasticsearchリポジトリを貼り付けます。

[elasticsearch-7.x]
name=Elasticsearch 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
>

保存して閉じます。

次に、以下のdnfコマンドを使用して、システムで使用可能なすべてのリポジトリを確認します。

dnf repolist

そして、CentOS8サーバーに追加されたelasticsearchリポジトリを取得します。

その結果、Elasticsearch、Logstash、KibanaなどのElastic製品をインストールできます。

ステップ2-Elasticsearchのインストールと設定

このステップでは、Elasticsearchをインストールして構成します。

以下のdnfコマンドを使用してElasticsearchパッケージをインストールします。

sudo dnf install elasticsearch -y

インストールが完了したら、「/ etc / elasticsearch」ディレクトリに移動し、vimエディターを使用して構成ファイル「elasticsearch.yml」を編集します。

cd /etc/elasticsearch/
vim elasticsearch.yml

次の行のコメントを解除し、各行の値を次のように変更します。

network.host: 127.0.0.1
http.port: 9200

保存して閉じます。

オプション:

JVM構成ファイル「jvm.options」を編集してelasticsearchを調整し、メモリの量に基づいてヒープサイズを設定できます。

vimエディターを使用してJVM構成「jvm.options」を編集します。

vim jvm.options

以下のように、XmsおよびXmx構成を介して最小/最大ヒープサイズを変更します。

-Xms512m
-Xmx512m

保存して閉じます。

次に、systemd manager構成をリロードし、elasticsearchサービスを起動時間に追加します。

sudo systemctl daemon-reload
sudo systemctl enable elasticsearch

次に、elasticsearchサービスを開始します。

sudo systemctl start elasticsearch

その結果、elasticsearchは、CentOS8サーバーのデフォルトポート「9200」でローカルIPアドレス「127.0.0.1」の背後で稼働しています。

以下のcurlコマンドを使用してelasticsearchを確認できます。

curl -XGET 'http://127.0.0.1:9200/?pretty'

そして、以下はあなたが得る結果です。

ステップ3-Kibanaダッシュボードをインストールして構成する

Elasticsearchをインストールした後、CentOS8サーバーにKibanaダッシュボードをインストールして構成します。

以下のdnfコマンドを使用してKibanaダッシュボードをインストールします。

sudo dnf install kibana

インストールが完了したら、「/ etc / kibana」ディレクトリに移動し、構成ファイル「kibana.yml」を編集します。

cd /etc/kibana/
vim kibana.yml

コメントを外して、以下のようにいくつかの回線構成を変更します。

server.port: 5601
server.host: "127.0.0.1"
elasticsearch.url: "http://127.0.0.1:9200"

保存して閉じます。

次に、kibanaサービスをシステムブートに追加し、kibanaサービスを開始します。

sudo systemctl enable kibana
sudo systemctl start kibana

KibanaサービスはCentOS8サーバーで稼働しています。次のコマンドを使用して確認してください。

systemctl status kibana
netstat -plntu

そして、以下のような結果が得られます。

その結果、Kibanaサービスは稼働しており、デフォルトのTCPポート「5601」を実行しています。

ステップ4-KibanaのリバースプロキシとしてNginxをセットアップする

このステップでは、Nginx Webサーバーをインストールし、Kibanaダッシュボードのリバースプロキシとして設定します。

以下のdnfコマンドを使用してNginxとhttpd-toolsをインストールします。

sudo dnf install nginx httpd-tools

インストールが完了したら、「/ etc / nginx / conf.d」ディレクトリに移動し、新しい構成ファイル「kibana.conf」を作成します。

cd /etc/nginx/conf.d/
vim kibana.conf

次の構成を貼り付けます。

server {
    listen 80;
 
    server_name elk.hakase-labs.io;
 
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.kibana-user;
 
    location / {
        proxy_pass http://127.0.0.1:5601;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

保存して閉じます。

次に、Kibanaアクセスを保護するための基本認証を作成する必要があります。 'hakase'ユーザーを独自のユーザーに変更し、以下のようにhtpasspwdコマンドを実行します。

sudo htpasswd -c /etc/nginx/.kibana-user hakase
TYPE YOUR PASSWORD

パスワードを入力し、nginx構成をテストします。

nginx -t

エラーがないことを確認してください。

次に、nginxサービスをシステムブートに追加し、nginxサービスを開始します。

systemctl enable nginx
systemctl start nginx

その結果、KibanaダッシュボードのリバースプロキシとしてのNginxのインストールと構成が完了しました。

ステップ5-Logstashのインストールと構成

このステップでは、ログシッパーのlogstashをインストールして構成します。 logstashをインストールし、入力ビートを設定し、「grok」と呼ばれるlogstashプラグインを使用してsyslogフィルタリングを設定してから、elasticsearchへの出力を設定します。

以下のdnfコマンドを使用してlogstashをインストールします。

sudo dnf install logstash

インストールが完了したら、「/ etc / logstash」ディレクトリに移動し、vimエディターを使用してJVM構成ファイル「jvm.options」を編集します。

cd /etc/logstash/
vim jvm.options

以下のように、XmsおよびXmx構成を介して最小/最大ヒープサイズを変更します。

-Xms512m
-Xmx512m

保存して閉じます。

次に、「/ etc / logstash / conf.d」ディレクトリに移動し、「input-beat.conf」というビート入力の構成ファイルを作成します。

cd /etc/logstash/conf.d/
vim input-beat.conf

次の構成を貼り付けます。

input {
  beats {
    port => 5044
  }
}

保存して閉じます。

次に、「syslog-filter.conf」構成ファイルを作成します。

vim syslog-filter.conf

次の構成を貼り付けます。

filter {
  if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" }
      add_field => [ "received_at", "%{@timestamp}" ]
      add_field => [ "received_from", "%{host}" ]
    }
    date {
      match => [ "syslog_timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
    }
  }
}

保存して閉じます。

次に、elasticsearch'output-elasticsearch.conf'の出力構成を作成します。

vim output-elasticsearch.conf

次の構成を貼り付けます。

output {
  elasticsearch { hosts => ["127.0.0.1:9200"]
    hosts => "127.0.0.1:9200"
    manage_template => false
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
    document_type => "%{[@metadata][type]}"
  }
}

保存して閉じます。

次に、logstashサービスをシステムブートに追加し、logstashサービスを開始します。

systemctl enable logstash
systemctl start logstash

logstashサービスが稼働しています。次のコマンドを使用して確認してください。

systemctl status logstash
netstat -plntu

そして、以下のような結果が得られます。

その結果、logstashログシッパーはデフォルトのTCPポート「5044」を使用してCentOS8サーバーで稼働しています。これで基本的なElasticStackのインストールが完了し、ログをElastic(ELK Stack)サーバーに送信して監視する準備が整いました。

ステップ6-クライアントにFilebeatをインストールする

このステップでは、UbuntuおよびCentOSシステムでファイルビートを設定する方法を説明します。ファイルビートをインストールし、両方のサーバーからエラスティックサーバーのLogstashにログを送信するように構成します。

-CentOS8にFilebeatをインストールする

次のコマンドを使用して、elasticsearchキーをCentOS8システムに追加します。

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

次に、「/ etc / yum.repos.d」ディレクトリに移動し、vimエディターを使用して「elasticsearch.repo」ファイルを作成します。

cd /etc/yum.repos.d/
vim elasticsearch.repo

次の構成を貼り付けます。

[elasticsearch-7.x]
name=Elasticsearch 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
>

保存して閉じます。

次に、以下のdnfコマンドを使用してfilebeatをインストールします。

sudo dnf install filebeat

filebeatのインストールが完了するのを待ちます。

-Ubuntu18.04にFilebeatをインストールします

まず、apt-transport-httpsパッケージをインストールします。

sudo apt install apt-transport-https

その後、次のコマンドを使用してelasticsearchキーとリポジトリを追加します。

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

次に、すべてのリポジトリを更新し、以下のaptコマンドを使用してubuntuシステムにfilebeatをインストールします。

sudo apt update
sudo apt install filebeat

filebeatのインストールが完了するのを待ちます。

-Filebeatを構成する

'/ etc/filebeat'ディレクトリにあるfilebeat構成。 filebeatディレクトリに移動し、「filebeat.yml」構成ファイルを編集します。

cd /etc/filebeat/
vim filebeat.yml

次に、以下のようにデフォルトのelasticsearch出力を無効にします。

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

次に、logstash出力を有効にして、logstashホストのIPアドレスを指定します。

output.logstash:
  # The Logstash hosts
  hosts: ["10.5.5.25:5044"]

保存して閉じます。

次に、filebeatモジュールを有効にする必要があります。以下のfilebeatコマンドを実行して、filebeatモジュールのリストを取得します。

filebeat modules list

次のコマンドを使用して、「システム」モジュールを有効にします。

filebeat modules enable system

filebeatシステムモジュールは、構成ファイル'modules.d/system.yml'で有効になっています。

vimエディターを使用してシステムモジュール構成を編集します。

cd /etc/filebeat/
vim modules.d/system.yml

syslogファイルとssh認証ファイルのパスのコメントを解除します。

CentOSシステムの場合:

  # Syslog
  syslog:
    enabled: true
    var.paths: ["/var/log/messages"]

  # Authorization logs
  auth:
    enabled: true
    var.paths: ["/var/log/secure"]

Ubuntuシステムの場合:

  # Syslog
  syslog:
    enabled: true
    var.paths: ["/var/log/syslog"]

  # Authorization logs
  auth:
    enabled: true
    var.paths: ["/var/log/auth.log"]

保存して閉じます。

次に、filebeatサービスをシステムブートに追加し、サービスを開始します。

systemctl enable filebeat
systemctl start filebeat

filebeatサービスが稼働しています。次のコマンドを使用して確認できます。

systemctl status filebeat

そして、以下のような結果が表示されます。

以下は、CentOS8サーバーからの結果です。

以下はUbuntuServer18.04からのものです。

その結果、エラスティックスタックサーバーのIPアドレス「10.5.5.12」でfilebeatとlogstashサービス間の接続が確立されました。

ステップ7-テスト

Webブラウザーを開き、アドレスバーにElasticStackインストールドメイン名を入力します。

http://elk.hakase-labs.io/

次に、作成した基本認証アカウントを使用してKibanaダッシュボードにログインします。

そして、以下のようにKibanaダッシュボードを取得します。

次に、ファイルビートがlogstashに接続された後に自動的に作成されたelasticsearchインデックスデータに接続します。 'Elasticsearchインデックスに接続をクリックします 'リンク。

' filebeat-*を作成します 'インデックスパターンを選択し、'次のステップをクリックします 'ボタン。

フィルタ名には、「 @timestamp」を選択します 'フィルターして'インデックスパターンの作成をクリックします '。

そして、' filebeat-* 'インデックスパターンが作成されました。'検出をクリックします。 '左側のメニュー。

そして、以下のようにファイルビートクライアントからログデータを取得します。

CentOS8システムのログ。

Ubuntuシステムのログを記録します。

その結果、filebeatシステムモジュールで定義されたログデータがエラスティックスタックサーバーに送信されました。

そして、CentOS8でのElasticStackのインストールと構成は正常に完了しました。


Cent OS
  1. CentOS 7 / RHEL 7にElasticsearch、Logstash、Kibana4をインストールする方法

  2. CentOS7にELKスタックをインストールする方法

  3. Ubuntu 20.04にElasticsearch、Logstash、Kibanaをインストールします

  1. LinuxにElasticsearchとKibanaをインストールする方法

  2. Ubuntu 18.04 / 20.04にELKスタック(Elasticsearch、Logstash、Kibana)をインストールする方法

  3. Elasticsearch、Logstash、Kibana4をUbuntu14.04/15.04にインストールする方法

  1. CentOS7にNginxをインストールして構成する方法

  2. CentOS 8にElasticsearch、Logstash、およびKibana(ELKスタック)をインストールする方法

  3. CentOS7にElasticsearchをインストールする方法