LoginSignup
5
13

More than 5 years have passed since last update.

Logstashの導入方法

Last updated at Posted at 2017-02-14

Logstashの導入方法

実行環境

  • OS:Ubuntu 16.04 LTS
  • JDK:Open JDK 8

事前準備

  • Elasticsearchが構築済みであること
  • JDKがインストール済みであること

手順

  1. Logstashのダウンロード
  2. Logstashのインストール
  3. 設定ファイルの準備
  4. Logstashの起動
  5. Logstashの停止

1. Logstashのダウンロード

下記のサイトよりLogstashのダウンロードを行います

ダウンロードサイト:https://www.elastic.co/jp/downloads/logstash

本手順ではcURLを使ってダウンロードを行っています

ダウンロードコマンド例:curl -k -L -O "https://artifacts.elastic.co/downloads/logstash/logstash-5.1.1.deb"

2. Logstashのインストール

ダウンロードしたLogstashをインストールします

インストールコマンド例:sudo dpkg -i logstash-5.1.1.deb

3. 設定ファイルの準備

3-1. 設定ファイルの形式と配置場所

Logstashの受け口の指定や送られてくるデータ整形の形式などを定義します
ファイル形式は下記のように.conf形式で作成します

Logstashファイル例:logstash.conf

設定ファイルの記載が終わったら~/logstash/conf.d以下に作成した設定ファイルを配置します

本環境においては下記の場所に配置を行いました

設定ファイル配置場所:/etc/logstash/conf.d/

3-2. 設定ファイルの記載内容

設定ファイルには3つのプラグインに関する記載を行っていきます

プラグイン名 説明
input {} Logstashへの入力に関するプラグインの記載を行います
filter {} Logstashに入ってきたデータのフィルタリングに関するプラグインの記載を行います
output {} Logstashから外部への出力に関するプラグインの記載を行います

今回はFileBeatからデータの受け取りを行い、その受け取ったデータを整形しElasticsearchへデータを出力することを想定し、下記のような設定ファイルを作成しました

logstash.conf

logstash.conf
input {
  # inputのプラグインに存在する「beats」を用いて、受け口のIPアドレスとポートを指定します
  beats {
    host => "192.168.1.1"
    port => 5044
  }
}

filter {
  # filterのプラグインに存在する「grok」を用いて、送られてきたデータのパースを行っています
  # 今回送られてくるデータの想定例:{"id":"123ID","order_number":1}
  grok { 
    match => { "message" => "\{\"id\":\"%{WORD:ID}\",\"order_number\":%{NUMBER:order}\}" }
  }
  # filterのプラグインに存在する「date」を用いて、日付の形式をパースを行っています
  date {
    match => [ "timestamp", "dd/MMM/YYYY:HH:mm:ss Z" ]
  }
}
output {
  # outputのプラグインに存在する「elasticsearch」を用いて、出力先のelasticsearchの指定とindexの指定を行っています
  elasticsearch {
    hosts => [ "localhost:9200" ]
    index => "Test-%{+YYYYMMdd}"
  }
}

※ 各プラグインの種類や属性などの詳しい情報は公式ドキュメントをご参照ください

4. Logstashの起動

設定ファイルの配置までが完了したら、下記コマンドでLogstashを起動します

本環境おいてはあらかじめElasticsearchの起動を行っておく必要があります

起動コマンド:sudo service logstash start

また、logstashが起動しているかどうかは下記コマンドにて確認することができます

確認コマンド:sudo service logstash status

正常に起動している場合、「active」や「running」といった応答が返ります

5. Logstashの停止

下記コマンドでLogstashの停止を行うことができます

停止コマンド:sudo service logstash stop

5
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
13