インストール編(Kibana)では、Kibanaのインストールと設定を行ないました。Elasticスタックのインストールと、その後の可視化システムの構築の流れを再掲します。(下図)

  1. Elasticsearch, Elasticsearch X-Packのインストール(済)
  2. Kibana, Kibana X-Packのインストール、Basicライセンスの取得と投入(済)
  3. Logstash, Logstash X-Packのインストール(本記事)
  4. Beats (Filebeat)のインストール
  5. Logstashのログ処理ルールの作成とテストデータでの動作確認
  6. Filebeat→Logstash→Elasticsearchでの運用開始
  7. Kibanaでの検索、ダッシュボードの作成

Elasticスタックを用いたHGWログ可視化 - 構築の流れ - Logstashインストール

本記事では、構築手順の3番めであるLogstashのインストールと設定を行ないます。インストールにあたり、Elasticsearch社の公式ガイド(以下の二つの記事)を参考にします。

また、インストール編(Kibana)に引き続き、FreeBSD向けのインストールガイド的記事である、以下の二つのURLも参考にしながら進めます。

Logstashのインストール

まず、Logstashをインストールしましょう。ElasticsearchやKibanaと同様、以下のコマンドを実行すればOKです。

pkg install logstash6

Logstash X-Packのインストール

Logstashのインストールが終わったら、次にX-Packをインストールします。以下のコマンドを実行してください。

# /usr/local/logstash/bin/logstash-plugin install x-pack
Downloading file: https://artifacts.elastic.co/downloads/logstash-plugins/x-pack/x-pack-6.2.3.zip
Downloading [=============================================================] 100%
Installing file: /tmp/studtmp-bc39b326ef855a76a0fd2f7de4cb5f7c40b29eb6b643966badc64a06b56c/x-pack-6.2.3.zip
Install successful

Logstashの設定ファイルの編集

次に、設定ファイルの内容を確認します。設定ファイルは、ディレクトリ/usr/local/etc/logstash以下に格納されています。このディレクトリをlsすると、設定ファイルが複数あるのがわかると思いますが、本記事では以下の二つのファイルの内容を見ていきます。

まず、Logstashの動作パラメータなどを設定するlogstash.ymlの内容を見てみましょう。(コメント部分は除いています。)

次に、Logstashにおけるログ加工処理を記述するlogstash.confについて見てみましょう。(コメント部分は除きます。)

注: 以下の内容は、構築手順の5番め(次々回の記事)で動作確認を行なうときに用いる、もっとも単純な設定であることに注意してください。本番運用時のログ加工ルールはもっと複雑なものになりますが、これについても次々回の記事で説明したいと思います。

自動起動の設定

まだ完全に設定が終わったわけではありませんが、ひとまず、FreeBSDの起動時にLogstashが自動的に起動されるよう設定しておきましょう。

sysrc logstash_enable=YES

ただし、自動起動の設定を行なうだけにとどめておきます。

Logstashの起動確認

動作確認のための設定ができましたので、ここで一度、Logstashが起動することを確認しておきましょう。以下のコマンドを実行して、Logstashをテスト起動します。マシンスペックによっては起動までにかなり時間がかかりますので、しんぼう強くお待ちください。

/usr/local/logstash/bin/logstash --path.settings /usr/local/etc/logstash --path.logs /var/log/logstash

うまく起動すれば、ログファイル/var/log/logstash/logstash-plain.logの最後に次のようなメッセージが表示されると思います。ログ加工用のパイプラインであるmainパイプラインと、モニタリング用のもう一つのパイプラインを合わせて、二つのパイプラインが動作中であることがわかればOKです。

[2018-04-30T13:57:33,230][INFO ][logstash.pipeline        ] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>4, "pipeline.batch.size"=>125, "pipeline.batch.delay"=>50}
[2018-04-30T13:57:33,364][INFO ][logstash.inputs.beats    ] Beats inputs: Starting input listener {:address=>"0.0.0.0:5044"}
[2018-04-30T13:57:33,425][INFO ][logstash.pipeline        ] Pipeline started succesfully {:pipeline_id=>"main", :thread=>"#<Thread:0x430c412e sleep>"}
[2018-04-30T13:57:33,455][INFO ][org.logstash.beats.Server] Starting server on port: 5044
[2018-04-30T13:57:33,548][INFO ][logstash.agent           ] Pipelines running {:count=>2, :pipelines=>[".monitoring-logstash", "main"]}
[2018-04-30T13:57:33,586][INFO ][logstash.inputs.metrics  ] Monitoring License OK

無事起動を確認できたら、いったんLogstashを終了します。Ctrl+cで終了させてください。

最後に念のため、Logstashのデータディレクトリとログファイルディレクトリのオーナー、グループを修正しておきます。

chown -R logstash:logstash /usr/local/logstash/data /var/log/logstash

以上で、Logstashのインストールと動作確認のための設定は終了です。次回の記事では、Beatsのインストールと設定を行ないます。Logstashの動作確認とログ加工処理の詳細については、次々回の記事で説明したいと思います。

参考文献

  1. Installing Logstash, https://www.elastic.co/guide/en/logstash/6.2/installing-logstash.html
  2. Installing X-Pack in Logstash, https://www.elastic.co/guide/en/logstash/6.2/installing-xpack-log.html
  3. ELK Stackのインストール, https://gato.intaa.net/archives/11302
  4. Elastic Stackでシステム監視 FreeBSDのportsで6.2.3に更新, https://gato.intaa.net/archives/12499