elasticsearch + Kibana でログの可視化
動かしただけで,理解していないので,作業した内容だけをメモしておきます.
ab で Apache に負荷をかけて,その access.log のグラフを表示します.
elasticsearch の準備/起動
# aptitude -y install openjdk-7-jdk # curl -O https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.7.tar.gz # tar zxvf elasticsearch-0.90.7.tar.gz # cd elasticsearch-0.90.7 # ./bin/elasticsearch -f
Kibana3 の準備
# aptitude install apache2 # cd /var/www # curl -O https://download.elasticsearch.org/kibana/kibana/kibana-3.0.0milestone4.tar.gz # tar zxvf kibana-3.0.0milestone4.tar.gz # mv kibana-3.0.0milestone4 kibana
logstash を使用する場合
# mkdir logstash # cd logstash # curl -O https://download.elasticsearch.org/logstash/logstash/logstash-1.2.2-flatjar.jar # cat <<__EOT__ >logstash.conf > input { > file { > type => "apache" > path => "/var/log/apache2/access.log" > } > } > > filter { > grok { > type => "apache" > pattern => "%{COMBINEDAPACHELOG}" > } > } > > output { > elasticsearch { > embedded => true > } > } > __EOT__ # java -jar logstash-1.2.2-flatjar.jar agent -f logstash.conf -- web
fluentd を使用する場合
# gem install fluentd # gem install fluent-plugin-elasticsearch # cat <<__EOT__>fluent.conf > <source> > type tail > format apache > path /var/log/apache2/access.log > pos_file /var/log/apache2/access.pos > tag apache2-access > </source> > > <match apache2-access> > type elasticsearch > host 192.168.1.2 > port 9200 > logstash_format true > </match> > __EOT__ # fluentd -c fluent.conf
グラフの確認
下記のように ab で適当に負荷をかけつつ,ブラウザで http://192.168.1.2/kibana/index.html#/dashboard/file/logstash.json にアクセスして、グラフを確認します.
# ab -c 10 -n 1000000 http://192.168.1.2/index.html