GNU/Linux >> Linux の 問題 >  >> Debian

Debian 10 /Debian9でELKスタックをセットアップする方法

ELKスタックはフル機能のデータ分析プラットフォームであり、Elasticsearch、Logstash、およびKibanaオープンソースツールで構成されています。ログを一元的に保存および管理するのに役立ち、問題を分析する機能を提供します。

この記事は、Debian 10 /Debian9にELKスタックをインストールするのに役立ちます。

ELKスタックをインストールする

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

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

Kibana –イベントとログの視覚化を提供します。

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

Javaのインストール

Elasticsearchには、マシンで利用可能なOpenJDKまたはOracleJDKのいずれかが必要です。ここでは、このデモではOpenJDKを使用しています。

sudo apt update

sudo apt install -y openjdk-11-jre

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

java -version

出力:

openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Debian-3deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Debian-3deb10u1, mixed mode, sharing)

OracleJDKを使用する場合は、以下をお読みください。

読む:Debian 10 /Debian9にOracleJavaをインストールする方法

Elasticリポジトリを追加

aptのwgetとHTTPSサポートをインストールします。

sudo apt install -y wget apt-transport-https curl

ELKパッケージはElasticリポジトリから入手できます。

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

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

Elasticsearchのインストールと設定

まず、Luceneをベースにしたオープンソースの検索エンジンであるElasticsearchサーバーをインストールします。リアルタイムの分散型マルチテナント対応全文検索エンジンに、HTTPWebインターフェイスとスキーマフリーのJSONドキュメントを提供します。

Elasticsearchは、Logstashから送信されたデータを保存し、ユーザーのリクエストに応じてKibanaを介してデータを表示します。

次のコマンドを使用してElasticsearchをインストールします。

sudo apt update

sudo apt install -y elasticsearch-oss

Elasticsearchサービスを開始します。

sudo systemctl start elasticsearch

sudo systemctl enable elasticsearch

数分待ってから次のコマンドを実行して、ElasticsearchRESTインターフェースのステータスを確認します。

curl -X GET http://localhost:9200

出力:

{
  "name" : "debian10",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "6y4OcEnYS3qkN_AetQAYMQ",
  "version" : {
    "number" : "7.8.0",
    "build_flavor" : "oss",
    "build_type" : "deb",
    "build_hash" : "757314695644ea9a1dc2fecd26d1a43856725e65",
    "build_date" : "2020-06-14T19:35:50.234439Z",
    "build_snapshot" : false,
    "lucene_version" : "8.5.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

上記の出力は、Elasticsearchが正常に稼働していることを確認しています。

Logstashのインストールと構成

Logstashは、オープンソースのデータ収集およびログ解析エンジンです。ログを収集し、解析してElasticsearchに保存して検索します。 Logstashでは160以上のプラグインを利用できます。これにより、追加の作業なしでさまざまなタイプのイベントを処理できます。

sudo apt install -y logstash-oss

Logstash構成ファイルは、入力、フィルター、および出力の3つのセクションで構成されています。 3つのセクションすべてを単一のファイルに入れることも、セクションごとに別々のファイルに入れることもできます。末尾は.confです。

ここでは、入力、フィルター、および出力セクションを配置するために単一のファイルを使用します。 /etc/logstash/conf.d/ディレクトリの下に構成ファイルを作成します。

sudo nano /etc/logstash/conf.d/beats-syslog.conf

入力セクションでは、クライアントマシン上にあるビート(Forwarder)からの着信ログをポート5044でリッスンするようにLogstashを構成します。

input {
 beats {
   port => 5044
   ssl => false
  }
}

フィルタセクションでは、Grokを使用してログを解析してから、Elasticsearchに送信して保存します。

次のgrokフィルターは、ラベル付きログsyslogを検索し、それらを解析して構造化インデックスを作成しようとします。

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

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

}

その他のGROKフィルターパターンについては、こちらをご覧ください。

出力セクションでは、ログを保存する場所を定義します。ELKスタックの場合は明らかにElasticsearchです。

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

次に、Logstashサービスを開始して有効にします。

sudo systemctl start logstash

sudo systemctl enable logstash

問題が発生した場合は、Logstashファイルを確認してください。

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

Kibanaのインストールと構成

Kibanaは、Elasticsearchに保存されているデータの視覚化を提供します。次のコマンドを使用してKibanaをインストールします。

sudo apt install -y kibana-oss

デフォルトでは、Kibanaはローカルホストでリッスンします。つまり、別のマシンからKibanaWebインターフェイスにアクセスすることはできません。 /etc/kibana/kibana.ymlファイルを編集します。

sudo nano /etc/kibana/kibana.yml

サーバーのIPアドレスを使用して以下の行に変更を加えます。

server.host: "192.168.0.10"

マシンの起動時にKibanaを起動して有効にします。

sudo systemctl start kibana

sudo systemctl enable kibana

Filebeatのインストール

Filebeatは、クライアントマシンで実行されるソフトウェアです。構成に応じて、ログをLogstashサーバーに送信して解析するか、Elasticsearchを送信して保存します。

aptのwgetとHTTPSサポートをインストールします。

sudo apt install -y wget apt-transport-https curl

ELKパッケージはElasticリポジトリから入手できます。

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

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

次のコマンドを使用してFilebeatをインストールします。

sudo apt update

sudo apt install -y filebeat-oss

filebeatの主な設定ファイルは/etc/filebeat/filebeat.ymlです。

sudo nano /etc/filebeat/filebeat.yml

Logstashサーバーにログを送信するには、このファイルを編集する必要があります。

以下の構成では、syslog(/ var / log / syslog)をLogstashサーバーに送信します。このデモでは、すべてのログがLogstashサーバーに送信されないように、/ var / log/*。logをコメントアウトしました。

.  .  .

filebeat.inputs:

# Each - is an input. Most options can be set at the input level, so
# you can use different inputs for various configurations.
# Below are the input specific configurations.

- type: log

  # Change to true to enable this input configuration.
  enabled: true

  # Paths that should be crawled and fetched. Glob based paths.
  paths:
    - /var/log/syslog
    
.  .  .

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

次に、output.logstash:の行に移動し、エントリを変更してログをLogstashに送信し、コピーされたSSLファイルへのパスを指定します。

注: 「192.168.0.10」をLogstashサーバーのIPアドレスに置き換えます。

.   .   .

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

.   .   .

Filebeatサービスを再起動します。

sudo systemctl restart filebeat

Kibanaにアクセスする

次のURLを使用してKibanaWebインターフェイスにアクセスできます。

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

または

http:// your-serve-name:5601

最初のログイン時に、filebeatインデックスをマップする必要があります。 自分で探索をクリックします インデックスパターンを作成します。

メニュー(ハンバーガーアイコン)をクリックします>>スタック管理>>インデックスパターン>>インデックスパターンを作成

[インデックスパターン]ボックスに次のように入力し、[次のステップ]をクリックします。

filebeat-*

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

@timestamp

Elasticsearchによって記録されたインデックスのフィールドとそのコアタイプを確認します。

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

結論

それで全部です。 ELKスタックをDebian10/Debian9にインストールする方法を学んだことを願っています。コメントセクションでフィードバックを共有してください。


Debian
  1. DebianLinuxにElasticsearchをインストールする方法

  2. Debian9にElasticsearchをインストールする方法

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

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

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

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

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

  2. UbuntuとDebianにELKスタックをインストールして設定する方法

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