Logstash メモ書き


試してみる

以下のコマンドを実行する。

docker run --rm -it docker.elastic.co/logstash/logstash:6.7.0 -e 'input { stdin { } } output { stdout { } }'

コマンドライン上でHello Worldと入力する。

Hello World

と、以下の応答が返ってくる。

{
      "@version" => "1",
    "@timestamp" => 2019-04-02T15:25:48.400Z,
          "host" => "6e84982806ef",
       "message" => "Hello World"
}

Logstashとは

Logstashは、なんか色んな所からデータを書き集めて、色んな人に配分するやつ。


図出典:Logstash Reference

ログファイル、ウェブ、IoTとか何でも対応できる。

アーキテクチャ

LogstashはLogstash pipelineというパイプライン・アーキテクチャを採用している。Logstash pipelineは以下3つで構成される。

  1. inputs plugins*
  2. filters plugins*
  3. outputs plugins
  • は必須項目


図出典:Logstash Reference

設定ファイル

Logstashには設定ファイルがいっぱいある。

Pipeline Configuration Files

パイプラインの設定ファイル。要するにログの処理の仕方を決める。

Settings Files

Logstash自体の起動制御ファイル。

logstash.yml

Logstashのコマンドライン引数をyml化したファイル。

pipelines.yml

単一のインスタンスで複数パイプラインを処理するための設定ファイル。

jvm.options

Logstashが乗ってるJVMのオプションをファイル化したもの。

log4j2.properties

Logstash自体のログを出すlog4jの設定ファイル。