LogStashでElasticSearchにlogを送る

リンクバルの井上です。
ElastcSearch, Kibana, Logstashの使用例の定番といえばアクセスログなどのログ収集と可視化かと思います。
今回はログ収集からKibanaでの可視化までの簡単なsampleをご紹介します。

 

Logstashのインストール

今回はbrewでinstallしてみたいと思います

brew install logstash

log収集のためのconfファイルの作成

今回は簡単な設定ファイルを作成します

この設定ファイルを使用してlogをelasticsearchへ送信します。

 

設定ファイルの解説

input

読み込むファイルを指定する今回は標準入力の設定です

[bash]
input  {
stdin { }
}
[/bash]

下記のように直接ファイルを指定することも可能

[bash]
input  {
file { path="/var/log/apache2/access.log" }
}
[/bash]

filter

logファイルから取得したログをelasticsearchように整形する

[bash]
filter {
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
locale => "en"
}
mutate {
replace => { "type" => "apache_access" }
}
}
[/bash]

output

ログの送信先を設定今回はローカルのElasticsearchを指定している

[bash]
output {
#stdout { codec => rubydebug }
elasticsearch { hosts => ‘127.0.0.1:9200’ }
}
[/bash]

logをElasticSearchへ送信

下記のようにファイルを指定してコマンドを実行してみます

/usr/local/bin/logstash -f logstash.conf < -f   logファイルのpath

kibanaでの確認

kibanaを開くと下記のように画面が表示されてますが緑色のCreateボタンを押下します

すると下記のような画面になるかと思いますので次にDiscoverを押下します

logstashから送信されたデータが確認できました。

 

いかがでしたでしょうか?意外と簡単にログ送信できるイメージできたでのではないでしょうか

リンクバルではエンジニアを積極募集中です。興味のある方は、こちらまでご応募ください。もちろん、社内の人間と面識があるのでしたら、直接にご連絡いただいてもかまいません。