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

Ubuntu 16.04にELKスタックをセットアップする– Ubuntu 16.04にElasticSearch、Logstash、Kibanaをインストールします

エルク フル機能のデータ分析スタックであり、 Elasticsearchで構成されています 、Logstash、およびKibanaは、ログを一元的に保存および管理するのに役立ち、特定の時間のイベントを相互に関連付けることで問題を分析する機能を提供します。

このガイドは、ELKスタックをUbuntu16.04にインストールするのに役立ちます。

コンポーネント

Logstash –ビート(フォワーダー)によって送信された受信ログの処理(収集、エンリッチ、Elasticsearchへの送信)を行います。

Elasticsearch – Logstashからの受信ログを保存し、ログ/データをリアルタイムで検索する機能を提供します

Kibana –ログの視覚化を提供します。

Beats –クライアントマシンにインストールされ、beatsプロトコルを介してLogstashにログを送信します。

前提条件

rootユーザーに切り替えます。

su -

または

sudo su -

ElasticsearchはJavaに基づいているため、 OpenJDKが必要です。 または、マシンにインストールされているOracleJDK。

読む Ubuntu 16.04 /LinuxMint18にOracleJava8をインストールする方法

ここでは、OpenJをインストールすることを選択します D K

apt-get update
apt-get install -y openjdk-8-jdk wget

JAVAのバージョンを確認してください。

java -version

出力:

openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.16.04.3-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

Elasticsearchをインストールする

Elasticsearchはオープンソースの検索サーバーであり、RESTfulWebインターフェースを使用してリアルタイムの分散検索と分析を提供します。

Elasticsearchは、logstashによって送信されたすべてのデータを保存し、ユーザーの要求に応じてkibanaを介して表示します。

このトピックでは、ELKに必要な構成設定について説明します。 CentOS 7 / Ubuntu 16.04 / LinuxMint18にElasticsearchをインストールすることもできます。 詳細については

Elasticsearchリポジトリをセットアップします。

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elk.list

Elasticsearchをインストールします。

apt-get update
apt-get install -y elasticsearch

システムの起動中に開始するようにElasticsearchを構成します。

systemctl enable elasticsearch
systemctl start elasticsearch

Elastisearchは、HTTPリクエストを処理するために9200をリッスンしているはずです。 CURLを使用して応答を取得できます。

curl -X GET http://localhost:9200

出力:

{
 "name" : "gf5QYAn",
 "cluster_name" : "elasticsearch",
 "cluster_uuid" : "S6gZNkMERpSr-MGXqEFUJw",
 "version" : {
 "number" : "5.5.2",
 "build_hash" : "b2f0c09",
 "build_date" : "2017-08-14T12:33:14.154Z",
 "build_snapshot" : false,
 "lucene_version" : "6.6.0"
 },
 "tagline" : "You Know, for Search"
}

Logstashのインストール

Logstashはオープンソースツールであり、ログを収集し、解析してElasticsearchに保存して検索します。 Logstashには160以上のプラグインが用意されており、追加の作業なしでさまざまなタイプのイベントを処理する機能を提供します。

apt-getコマンドを使用してLogstashをインストールします。

apt-get install -y logstash

SSL証明書を作成する

クライアントサーバーにインストールされるフォワーダー(filebeat)は、SSL証明書を使用して、安全な通信のためにLogstashサーバーのIDを検証します。

ホスト名またはIPSANのいずれかを使用してSSL証明書を作成します。

オプション1:(ホスト名FQDN)

beats(フォワーダー)構成でホスト名を使用する場合は、logstashサーバーのAレコードがあることを確認してください。クライアントマシンがlogstashサーバーのホスト名を解決できることを確認してください。

ご使用の環境にネームサーバーがない場合。 logstashサーバーだけでなくクライアントマシンにもlogstashサーバーのホストエントリを追加してください。

sudo nano /etc/hosts

192.168.12.10 server.itzgeek.local

OpenSSLディレクトリに移動します。

cd /etc/ssl/

次に、SSL証明書を作成します。 「」を置き換えます 」1つは実際のlogstashサーバーのホスト名です。

openssl req -x509 -nodes -newkey rsa:2048 -days 365 -keyout logstash-forwarder.key -out logstash-forwarder.crt -subj /CN=server.itzgeek.local

オプション2:(IPアドレス)

ホスト名の代わりにIPアドレスを使用する場合は、手順に従ってIPSANのSSL証明書を作成してください。

前提条件として、OpenSSL構成ファイルのSubjectAltNameにlogstashサーバーのIPアドレスを追加する必要があります。

nano /etc/ssl/openssl.cnf

「[v3_ca]」セクションを探し、「 green」を置き換えます 」1つはlogstashサーバーのIPです。

subjectAltName = IP:192.168.12.10

OpenSSLディレクトリに移動します。

cd /etc/ssl/

次に、次のコマンドを実行してSSL証明書を作成します。

openssl req -x509 -days 365 -batch -nodes -newkey rsa:2048 -keyout logstash-forwarder.key -out logstash-forwarder.crt

このlogstash-forwarder.crtは、logstashサーバーにログを送信するすべてのクライアントサーバーにコピーする必要があります。

Logstashの構成

Logstashの構成は、/ etc / logstash /conf.d/にあります。ファイルが存在しない場合は、新しいファイルを作成します。 logstash構成ファイルは、入力、フィルター、および出力の3つのセクションで構成されています。 3つのセクションすべてが単一のファイルに含まれているか、各セクションに.confで終わる個別のファイルがあります。

入力、フィルター、出力セクションの配置には1つのファイルを使用することをお勧めします。

nano /etc/logstash/conf.d/logstash.conf

最初のセクションでは、入力構成のエントリを入力します。次の構成では、クライアントマシンにあるビート(フォワーダー)からの着信ログをポート5044でリッスンするようにLogstashを設定します。また、安全な通信のために、入力セクションにSSL証明書の詳細を追加します。

input {
 beats {
   port => 5044
   ssl => true
   ssl_certificate => "/etc/ssl/logstash-forwarder.crt"
   ssl_key => "/etc/ssl/logstash-forwarder.key"
   congestion_threshold => "40"
  }
}

フィルタセクション。 Elasticsearchに送信する前に、Grokを使用してログを解析します。次のgrokフィルターは、「syslog」というラベルの付いたログを検索し、それらを解析して構造化インデックスを作成しようとします。

filter {
if [type] == "syslog" {
    grok {
      match => { "message" => "%{SYSLOGLINE}" }
    }

    date {
match => [ "timestamp", "MMM  d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
  }

}

その他のフィルターパターンについては、grokdebuggerのページをご覧ください。

出力セクションでは、ログを保存する場所を定義します。明らかに、Elasticsearchである必要があります。

output {
 elasticsearch {
  hosts => localhost
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}"
       }
stdout {
    codec => rubydebug
       }
}

次に、logstashを起動して有効にします。

systemctl start logstash
systemctl enable logstash

以下のログを確認することで、問題のトラブルシューティングを行うことができます。

cat /var/log/logstash/logstash-plain.log

次に、ログをlogstashサーバーに送信するようにビートを構成します。

ファイルビートのインストール

利用可能なビートクライアントは4つあります。

  1. Packetbeat –ネットワークパケットデータを分析します。
  2. Filebeat –ログデータへのリアルタイムの洞察。
  3. トップビート–インフラストラクチャデータから洞察を得る。
  4. Metricbeat –メトリックをElasticsearchに送信します。

クライアントマシンの場合:

システムログを分析するために、ここではfilebeatを使用します。 filebeatは公式ウェブサイトからダウンロードできます。 、または次のコマンドを使用してインストールできます。

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/beats.list

Filebeatをインストールします。

apt-get update 
apt-get install -y filebeat

Filebeat(beats)は、logstashサーバーのIDを検証するためにSSL証明書を使用するため、logstash-forwarder.crtをlogstashサーバーからクライアントにコピーします。

$ scp -pr [email protected]:/etc/ssl/logstash-forwarder.crt /etc/ssl

ファイルビートの構成

次に、filebeatをLogstashに接続します。以下の手順に従って、ELKスタックでfilebeatを構成します。

Filebeat構成ファイルはYAML形式であるため、インデントが非常に重要です。ガイドで使用されているのと同じ数のスペースを使用してください。

filebeat構成ファイルを開きます。

nano /etc/filebeat/filebeat.yml

一番上に、Filebeatプロスペクターが表示されます。 ここでは、logstashに送信するファイルとその処理方法を指定する必要があります。各プロスペクターはで始まります キャラクター。

テストの目的で、 / var / log / syslogを送信するようにfilebeatを構成します Logstashサーバーへ。これを行うには、パスの下にある既存のプロスペクターを変更します セクション。 –/var/log/*.logをコメントアウトします すべての.logを送信しないようにするため そのディレクトリにあるファイルをLogstashに送信します。

.  .  .

      paths:

        - /var/log/syslog
        # - /var/log/*.log

.  .  .

[出力]セクション 、セクション output.elasticsearch:をコメントアウトします ログをElasticsearchに直接保存することはないためです。

ここで、「 output.logstash:」という行を見つけます。 」と入力し、以下のようにエントリを変更します。このセクションでは、ログをlogstashサーバー「 server.itzgeek.local」に送信するためのfilebeatを定義します。 」ポート「5044 」と入力し、コピーされたSSL証明書が配置されるパスを指定します。

注:「 server.itzgeek.local」を置き換えます 」IPSANを使用している場合は、IPアドレスを指定します。

.   .   .

output.logstash:
  # The Logstash hosts
  hosts: ["server.itzgeek.local:5044"]

  # Optional SSL. By default is off.
  # List of root certificates for HTTPS server verifications
  ssl.certificate_authorities: ["/etc/ssl/logstash-forwarder.crt"]

.   .   .

サービスを再開します。

systemctl restart filebeat
systemctl enable filebeat

Beatsログは通常、ログファイルにあります。

cat /var/log/filebeat/filebeat

Kibanaのインストールと構成

Kibanaは、elasticsearchに保存されているログの視覚化を提供し、公式ウェブサイトからダウンロードします。 または、次のコマンドを使用してリポジトリを設定します。

apt-get install -y kibana

kibana.ymlファイルを編集します。

nano /etc/kibana/kibana.yml

デフォルトでは、Kibanaはローカルホストでリッスンします。つまり、外部マシンからKibanaインターフェースにアクセスすることはできません。有効にするには、マシンのIPで以下の行を編集します。

server.host: "192.168.12.10"

次の行のコメントを解除し、ElasticsearchインスタンスのURLで更新します。私の場合、ローカルホストです。

elasticsearch.url: "http://localhost:9200"

システムの起動時にkibanaを起動して有効にします。

systemctl start kibana
systemctl enable kibana

次のURLを使用してKibanaにアクセスします。

http:// your-ip-address:5601 /

または

http:// your-serve-name:5601

最初のログイン時に、ファイルビートインデックスをマップする必要があります。

インデックス名またはパターンに次のように入力します ボックス。

filebeat-*

@timestampを選択します 次に、[作成]をクリックします。

@timestamp

インデックスパターンとそのマッピングを確認します。

検出をクリックします 左側のナビゲーションで、クライアントマシンからの受信ログを表示します。

それで全部です。 Ubuntu16.04でELKスタックを正常にセットアップしました


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

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

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

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

  2. Ubuntu 14.04にFilebeat、Logstash、ElasticSearch、Kibanaをインストールする

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

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

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

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