弱いエンジニアの備忘録

自分的に気になった技術に関するメモや備忘録です。Elasticsearchに関する記事が多くなりそうです。

MacにLogstashをインストールする

概要

Macにlogstashをインストールします。
logstashはrpmパッケージやzipなどが提供されていますが、今回はtar.gz形式です。

バージョン情報など

OS : macOS Sierra 10.12.5
logstash : logstash-5.4.1
メモリ : 4GB

手順

1. logstashのファイルを公式サイトからダウンロードする。

$ wget https://artifacts.elastic.co/downloads/logstash/logstash-5.4.1.tar.gz

2. ダウンロードしたファイルを解凍する。

$ tar zxvf logstash-5.4.1.tar.gz

ディレクトリ構成は下記の通り。

$ tree -L 1 logstash-5.4.1
logstash-5.4.1
├── CHANGELOG.md
├── CONTRIBUTORS
├── Gemfile
├── Gemfile.jruby-1.9.lock
├── LICENSE
├── NOTICE.TXT
├── bin
├── config
├── data
├── lib
├── logstash-core
├── logstash-core-plugin-api
└── vendor

3. 実行する。

$ logstash-5.4.1/bin/logstash
Sending Logstash's logs to /Users/SHIN/Elastic/Elastic5.4/logstash-5.4.1/logs which is now configured via log4j2.properties
[2017-06-03T00:17:07,073][INFO ][logstash.setting.writabledirectory] Creating directory {:setting=>"path.queue", :path=>"/Users/SHIN/Elastic/Elastic5.4/logstash-5.4.1/data/queue"}
ERROR: No configuration file was specified. Perhaps you forgot to provide the '-f yourlogstash.conf' flag?
usage:
  bin/logstash -f CONFIG_PATH [-t] [-r] [] [-w COUNT] [-l LOG]
  bin/logstash -e CONFIG_STR [-t] [--log.level fatal|error|warn|info|debug|trace] [-w COUNT] [-l LOG]
  bin/logstash -i SHELL [--log.level fatal|error|warn|info|debug|trace]
  bin/logstash -V [--log.level fatal|error|warn|info|debug|trace]
  bin/logstash --help

...これだと怒られます。(知ってた)
 通常は "-f" オプションをつけて、logstashのconfファイル(挙動を定義したファイル)を指定します。

4. confファイル(logstash.conf)を作成する。(confファイルについては別エントリで書きます。)

テキストエディタなどで、logstash.confを作成します。
文字コードUTF-8(BOM無し)にしてください。SJISとかだとエラーが出ると思います。

$ cat logstash.conf
input{
  stdin{}
}
filter{}
output{
  stdout{}
}

5. logstash.confファイルを指定して実行する。

$ logstash-5.4.1/bin/logstash -f logstash.conf
Sending Logstash's logs to /Users/SHIN/Elastic/Elastic5.4/logstash-5.4.1/logs which is now configured via log4j2.properties
[2017-06-03T00:20:54,260][INFO ][logstash.agent           ] No persistent UUID file found. Generating new UUID {:uuid=>"d94c4cf3-ef18-404d-9dac-7df53125e1f6", :path=>"/Users/SHIN/Elastic/Elastic5.4/logstash-5.4.1/data/uuid"}
[2017-06-03T00:20:54,662][INFO ][logstash.pipeline        ] Starting pipeline {"id"=>"main", "pipeline.workers"=>4, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>5, "pipeline.max_inflight"=>500}
[2017-06-03T00:20:54,707][INFO ][logstash.pipeline        ] Pipeline main started
The stdin plugin is now waiting for input:
[2017-06-03T00:20:54,867][INFO ][logstash.agent           ] Successfully started Logstash API endpoint {:port=>9600}
Hello, world!!
2017-06-02T15:22:26.676Z Macintosh.local Hello, world!!

まとめ

  • logstashをインストールして実行することができました。
  • confファイルは設定が色々複雑なので別エントリで書きます。

================================================