kentana20 技忘録

技術ネタを中心に、セミナー、勉強会、書籍、会社での出来事を綴っていきます。不定期更新。

ElasticSearch勉強会#2 に参加してきました

11/12(火)にリクルートテクノロジーズで行われた「ElasticSearch勉強会#2」に参加してきました。

f:id:kentana20:20131117152629p:plain

勉強会の詳細はこちら
http://elasticsearch.doorkeeper.jp/events/6532

アジェンダはこんな感じでした。

●本編●

  • 株式会社シーマーク 大谷 純さん (@johtani)
    • タイトル:「sharding周り(仮)」
  • 株式会社富士通ソフトウェアテクノロジーズ 滝田聖己さん(@pisatoshi)
    • タイトル:「ElasticSearchを使ったBaaS基盤の開発(仮)」
  • クックパッド 水戸祐介さん(@y_310)
    • タイトル:Kibana入門

●LT●

  • 株式会社リブセンス Y.Kentaro さん (@yoshi_ken) さん
    • タイトル:「データ集計用ダッシュボードブラウザとしても使えるElasticSearch+Kibana v3を利用する際の運用ノウハウ紹介」
  • @repeatedly さん
    • タイトル:「Fluentd as a Kibana」
  • 株式会社エヌツーエスエム 菅谷信介さん (@shinsuke_sugaya)
    • タイトル:「Authプラグインでアクセスコントロール」

という内容。

ElasticeSearchはJavaで作られた全文検索エンジンApache Lucene上で稼働します。
RESTfulで、APIはすべてJSON形式でやりとりできるため扱いやすい印象があり社内のログ管理改善に流用できないかと思って参加しました。(現在、社内のログをとりまく環境はレガシーすぎて語れませんが、改善した後でご紹介できればと思います)

会社を脱出するのが遅れてしまい、到着したときには @pisatoshi さんの発表の終わりかけでしたので、@y_310さんの発表について書きたいと思います。

Kibana入門 水戸祐介さん(@y_310)

クックパッド本体ではなく別のサービスでログ可視化・解析にkibanaを使っています、kibana使えるのでご紹介します、というお話。kibana はElasticSearchの公式ツールとなったログの可視化、解析ツールで最近注目されているツール。

kibana http://www.elasticsearch.org/overview/kibana/

  • kibanaの良いところ

    • kibana自身は言語やフレームワークに依存せず、js, cssで動作するためwebサーバ1つあれば動作する(これ、良いと思いました)
    • 見たいときに、見たい情報を素早くダッシュボードを構成して見る事ができる
    • kibanaの設定(ダッシュボード)の設定もElasticSearchに入れて管理できるのでストレージいらず
  • kibanaの使い方、Tips

    • ダッシュボードはRow単位で構成されている
    • RowにPanel(アイテム的なもの)を追加してカスタマイズする
    • RowにPanelを追加してダッシュボードを作ったら必ずSave!!(saveしないとリロードで消えてしまうらしいです。。)
  • Panelにセットできるものには以下のような種類がある

    • Histgram:時系列ベースでデータ表示をする
    • Hits:クエリの条件に合致した件数をグラフ表示する(棒グラフ、円グラフなど)
    • Sparklines:クエリ毎の傾向を可視化
    • Table:クエリの結果を表形式で表示(アクセス上位URI TOP10とか)
    • Trends:指定値からの変化を表示(株価みたいな感じ)
    • Map:IPアドレスかアクセス元を地図表示(日本地図は未対応。。)
    • Column:2つをPanelに縦に並べる(どういうときに使うのかはわかりませんでした)
    • Text:HTML, markdownなどでテキストを表示する(パネルの説明とか、ダッシュボードの説明とか)
  • クエリの書き方

    • $column_name:"$search_word" 的な投げ方($column_name -> カラム名、$search_word -> 検索したいワード)
  • kibana tips

    • 1つのindexに異なるschemaを入れられる(1indexにaccess_log, app_log とか)
    • auto mappingは大概うまくいかない(これは他の方も言ってたので、そうなんでしょうね)
  • 性能

    • EC2 largeインスタンス1台でindexのサイズが10GB/dayくらいでelastic searchがボトルネックになる
    • JVMのGCをチューニングして安定
    • 6mbps程度のトラフィックには耐えられるようになった(この辺りはとても参考になります)

感想

ちょっと端折っていますがこんな感じです。
「入門」だけあって、とてもわかりやすいスライドでこれから使用を検討しようと思っている自分にとっては有り難い情報がいくつも得られました。一休でもログ管理をmysqlにためつつ、elastic searchにもoutputしてkibanaのコンボで可視化・解析するというロードマップが見えた気がしました。年内にfluentdを使用してログをためる仕組みは構築できそうなので、水戸さんの後に発表をされてたリブセンスの@yoshi_kenさんが仰っていた

などを可視化できるようにロードマップに沿って進めていこうと思います。

水戸さんの発表スライドはこちら。
https://speakerdeck.com/y310/kibanaru-men