GNU/Linux >> Linux の 問題 >  >> Ubuntu

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

ELK Stackは、世界で最も人気のあるログ管理プラットフォームです。これは、Elasticsearch、Logstash、Kibanaなどのオープンソース製品のコレクションです。これら3つの製品はすべて、Elasticによって開発、管理、保守されています。

ELK Stackは、大量のログデータを管理できる強力なオープンソースプラットフォームです。入力ログは通常、グラフィカルWebインターフェイス(GUI)からのものです。

  • Elasticsearchは、水平方向のスケーラビリティと管理の容易さを目的としたJSONベースの検索および分析エンジンです。
  • Logstashは、複数のソースから同時にデータを収集する機能を備えたサーバー側のデータ処理インターフェースです。次に、それを変換してから、データを目的のスタッシュに送信します。オープンソースアプリケーションです。
  • Kibanaは、データを視覚化し、ElasticStackをナビゲートするために使用されます。オープンソースツールでもあります。

UbuntuにELKスタックをインストールして設定する

このチュートリアルでは、 filebeatを使用します。 ログデータをLogstashに送信します。 Beatsは軽量のデータシッパーであり、まず、サーバーにエージェントをインストールする必要があります。

ステップ1)Java8のインストール

ElasticSearchはJava8および9をサポートしていますが、問題はLogstashがJava8とのみ互換性があることです。Java9はまだサポートされていません。したがって、OracleJava8をインストールします。

ターミナルを起動し、Oracle Java 8リポジトリを追加してから、システムを更新し、実際にインストールします。

sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt install oracle-java8-set-default

ターミナルに注意してください。続行するには、使用許諾契約のウィンドウに同意し、[はい]を選択する必要があります。インストールが完了したら、次のコマンドを使用してJavaのバージョンを確認できます。

.sudo java -version
sudo echo $JAVA_HOME

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

wgetから始めましょう Elasticsearchに続いて公開署名キーをダウンロードするコマンド:

sudo wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

次に、apt-transport-httpsパッケージをインストールします(Debianベースのディストリビューションにはこれが必要です)。

sudo apt-get install apt-transport-https

リポジトリを追加します:

echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

リポジトリリストを更新し、パッケージをインストールします:

sudo apt-get update
sudo apt-get install elasticsearch

「elasticsearch.yml」ファイルを変更しましょう:

sudo vim /etc/elasticsearch/elasticsearch.yml

「network.host」と「http.port」のコメントを解除します。次の構成を追加する必要があります:

network.host: localhost
http.port: 9200

次に、ファイルを保存して閉じます。

ElasticSearchがシームレスに機能することを確認するには、起動時にElasticSearchを有効にして、ElasticSearchを起動します。

sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

インストールを確認してください:

sudo curl -XGET 'localhost:9200/?pretty'

ステップ3)Kibanaのインストール

今すぐKibanaのインストールを開始し、Kibanaの設定を変更しましょう:

sudo apt-get install kibana
sudo vim /etc/kibana/kibana.yml

次の行のコメントを解除します:

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

ファイルを保存して終了します。

起動時に有効にして、Kibanaサービスを開始します:

sudo systemctl enable kibana.service
sudo systemctl start kibana.service

ステップ4)NginxをKibanaのリバースプロキシとして構成する

同様の行で、Nginxをインストールして構成し、サービスを開始しましょう。次のコマンドを一度に1つずつ使用します。

sudo apt-get install nginx apache2-utils

仮想ホストの構成:

sudo vim /etc/nginx/sites-available/elk

次の構成をファイルに追加します:

 server {
    listen 80;
 
    server_name elk.fosslinux.com;
 
    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/.elkusersecret;
 
    location / {
        proxy_pass http://localhost: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;
    }
}

Webブラウザ認証用のユーザーとパスワードのファイルを作成します:

sudo htpasswd -c /etc/nginx/.elkusersecret elkusr

パスワードを入力して繰り返します。 Nginx構成を確認してください:

sudo nginx -t

システムの起動時にNginxを有効にして、サービスを再起動します:

sudo systemctl enable nginx.service
sudo systemctl restart nginx.service

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

Logstashのインストール:

sudo apt-get install logstash

ここでは、ファイルビートクライアントからのログ転送を保護するためのSSL証明書キーを生成します。 SSL証明書を作成する前に「hosts」ファイルを変更してください。

sudo vim /etc/hosts

次の行をファイルに追加します。必ずIPとサーバー名を自分のものに変更してください。

172.31.31.158 elk-server elk-server

完了したら、ファイルを保存して終了します。

次に、ディレクトリをLogstashに変更します。

sudo cd /etc/logstash/

SSL用のフォルダを作成します:

sudo mkdir ssl

SSL証明書を生成します。以下のコマンドでelk-serverを自分のサーバー名に変更します。

sudo openssl req -subj '/CN=elk-server/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout ssl/logstash-forwarder.key -out ssl/logstash-forwarder.crt

「/etc/logstash/conf.d」内に次のファイルを作成します。

sudo cd /etc/logstash/conf.d/

vimを使用してfilebeat-inputファイルを作成します。

sudo vim filebeat-input.conf

次の行を追加します。

input {
  beats {
    port => 5443
    type => syslog
    ssl => true
    ssl_certificate => "/etc/logstash/ssl/logstash-forwarder.crt"
    ssl_key => "/etc/logstash/ssl/logstash-forwarder.key"
  }
}

ファイルを保存して閉じ、新しい構成ファイルを作成します。

sudo 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を作成します 出力ファイル。

sudo vim output-elasticsearch.conf

次の行を追加します。

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

起動時にLogstashを有効にして、サービスを開始しましょう:

sudo systemctl enable logstash.service
sudo systemctl start logstash.service

ステップ6)クライアントサーバーへのFilebeatのインストールと構成

ホストの編集から始めます elkホストエントリを追加するファイル。必ずIPと名前を自分のものに置き換えてください。

sudo vim /etc/hosts
172.31.31.158 elk-server

ファイルを保存して終了します。

公開署名キーをダウンロードしてインストールします:

sudo wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -

「apt-transport-https」をインストールしてリポジトリを追加します。

sudo apt-get install apt-transport-https
sudo echo "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-6.x.list

リポジトリを更新し、Filebeatをインストールします。

sudo apt-get update
sudo apt-get install filebeat

Filebeatの構成を変更します。

sudo vim /etc/filebeat/filebeat.yml

次の行を見つけて、値を「true」に変更します。

enabled: true

ここでは、ログパスと Filebeatを変更していません 「var/log」フォルダ内のすべてのログを転送します

  paths:
    - /var/log/*.log

次の行のコメントを解除します:

output.logstash:
  # The Logstash hosts
  hosts: ["elk-server:5443"]
  ssl.certificate_authorities: ["/etc/filebeat/logstash-forwarder.crt"]

コメントElasticsearch:

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

ファイルを保存して終了します。

次に、ELKサーバーに移動して、「logstash-forwarder.crt」のコンテンツを取得します

sudo cat /etc/logstash/ssl/logstash-forwarder.crt

出力をコピーしてから、Elkクライアントサーバーに移動します。

証明書ファイルを作成する

sudo vim /etc/filebeat/logstash-forwarder.crt

コピーした出力を挿入し、保存して終了します。

filebeatを有効にする システムの起動時にfilebeatを開始します サービス。

sudo systemctl enable filebeat.service
sudo systemctl start filebeat.service

ステップ7)Kibanaダッシュボードの閲覧

お気に入りのWebブラウザを起動し、ドメイン名に続けてユーザー名とパスワードを入力します。

http://elk.fosslinux.com

作成したユーザー名とパスワードを入力します。 Kibanaウェルカムページが表示されます。 [自分で探す]ボタンをクリックします。

Kibanaホームページに移動する必要があります。

左側の「発見」をクリックします。 「インデックスパターンの作成」をクリックします。

次に、インデックスパターン「filebeat-*」を定義します。

[次へ]をクリックして[@timestamp]を選択し、[インデックスパターンの作成]をクリックします。

インデックスパターンを作成する必要があります。

「検出」メニューをクリックして、サーバーログを表示します。

ログはタイムスタンプに従って表示されます。タイムスタンプをクリックして展開し、ログファイルの内容と詳細を確認します。

ここに到達した場合は、filebeatを使用してELKスタックを正常にインストールおよび構成したことを意味します。問題がありますか?以下のコメントでお気軽にお知らせください。


Ubuntu
  1. Ubuntu14.04へのELKスタックのインストール

  2. ubuntu20.04にZammadコミュニティをインストールする方法

  3. Ubuntu16.04にELKスタックをインストールする方法

  1. Ubuntu18.04にElasticsearchをインストールする方法

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

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

  1. Ubuntu16.04にElasticStackをインストールする方法

  2. Ubuntu20.04にELKをインストールする方法

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