リンクバルの井上です。
ElastcSearch, Kibana, Logstashの使用例の定番といえばアクセスログなどのログ収集と可視化かと思います。
今回はログ収集からKibanaでの可視化までの簡単なsampleをご紹介します。
目次
Logstashのインストール
今回はbrewでinstallしてみたいと思います
brew install logstash
log収集のためのconfファイルの作成
今回は簡単な設定ファイルを作成します
この設定ファイルを使用してlogをelasticsearchへ送信します。
設定ファイルの解説
input
読み込むファイルを指定する今回は標準入力の設定です
[bash]
input {
stdin { }
}
[/bash]
stdin { }
}
[/bash]
下記のように直接ファイルを指定することも可能
[bash]
input {
file { path="/var/log/apache2/access.log" }
}
[/bash]
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]
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]
#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から送信されたデータが確認できました。
いかがでしたでしょうか?意外と簡単にログ送信できるイメージできたでのではないでしょうか
リンクバルではエンジニアを積極募集中です。興味のある方は、こちらまでご応募ください。もちろん、社内の人間と面識があるのでしたら、直接にご連絡いただいてもかまいません。