share facebook facebook2 twitter menu hatena pocket slack

2014.03.01 SAT

Kibanaってなんじゃ?(kibana3 + elasticsearch + fluentd)

三浦 悟

WRITTEN BY 三浦 悟

memorycraftです。

ずいぶん前にKibanaの記事を書きましたが、時がたちKibana3がとても感じがよいと巷で評判なので、再入門してみます。

インデックスサーバー側

準備

インデックスサーバー側のポートは80,22の他に、fluent用に9200番ポートを開けておきます。
また、インデックスは最終的に大きくなるので、容量の大きなストレージに入れておきます。

# yum install xfsprogs httpd java-1.7.0-openjdk -y
# mkfs.xfs /dev/xvdf
# mount -t xfs /dev/xvdf /mnt/ebs/0

Kibana3のインストール

Kibanaはv3になってから、rubyではなくhtmlになりました。DocumentRoot下に置いてhttpdを起動するだけでOKです。

# cd /var/www/
# curl -OL http://download.elasticsearch.org/kibana/kibana/kibana-latest.zip
# unzip kibana-latest.zip
# mv html html.org
# mv kibana-latest html
# /etc/init.d/httpd start

ElasticSearchのインストール

# cd /mnt/ebs/0/
# curl -OL https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.11.tar.gz
# tar xzvf elasticsearch-0.90.11.tar.gz
# cd elasticsearch-0.90.11/
# ./bin/elasticsearch start

これで、インデックスサーバー側は準備ができました。

ログ送信サーバー側

apacheのログを送信するとして、ここではfluentdの設定はin:tailとout:elasticsearchプラグインを使います。

# yum install td-agent -y
# vim /etc/td-agent/td-agent.conf
<source>
  type tail
  format apache2
  path /var/log/httpd/access_log
  pos_file /tmp/access.log.pos
  tag server1.apache.access
</source>

<match server1.apache.access>
  type_name apache
  type elasticsearch
  include_tag_key true
  tag_key @log_name
  host XXX.XXX.XXX.XXX
  port 9200
  logstash_format true
  flush_interval 10s
</match>

# /etc/init.d/td-agent start

これでログの送信設定は完了です。

確認

ここまで設定できたらkibanaの画面を見てみます。
これがデフォルトのトップ画面です。
右側の[Logstash Dashboard]というリンクをクリックすると、ダッシュボード画面に遷移します。

img_kibana3-elasticsearch-fluentd_01

ダッシュボードでは、fluentdから送られてきたログがひな形のダッシュボードに表示されていることがわかります。

img_kibana3-elasticsearch-fluentd_02

クエリの追加

クエリフィールドはフィールドの「+」ボタンでいくつも登録できます。
クエリの書式はluceneの書式が基本となっているようです。

img_kibana3-elasticsearch-fluentd_03

パネルの追加

ダッシュボードはグリッド上にできており、基本的に行(ROW)にパネルを追加していきます。
パネルはひとつまたは複数のクエリを使用します。

ROWにある「Add Panel」ボタンでパネルを追加します。

img_kibana3-elasticsearch-fluentd_04

パネル追加画面では、パネルのタイプや使用するクエリや、その他パネル固有のパラメータを設定します。

img_kibana3-elasticsearch-fluentd_05

いくつかのクエリとパネルを組み合わせて目的に会ったダッシュボードを造ります。

img_kibana3-elasticsearch-fluentd_06

作成したら、名前をつけてダッシュボードを保存することで、リロードしても保持されるようになります。

img_kibana3-elasticsearch-fluentd_07

以前と比べてかなりいろいろなデータを表示できるようになってきました。
細かいところはまた今度。

以上です。

こちらの記事はなかの人(memorycraft)監修のもと掲載しています。

元記事は、こちら

三浦 悟

三浦 悟

高円寺在住のなんじゃ系男子 またの名をmemorycraftといいます。 炭水化物大好き 日々の「なんじゃ?」を記事にしてます。