Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
FluentdやNorikraを使った
データ集約基盤への取り組み紹介
Hadoop Conference Japan 2014 LT
添田健輔 そえだけんすけ
    そえだ けんすけ
!  添田 健輔
!  Twitter:@soestudio
!  所属:リクルートテクノロジーズ
!  イクメンエンジニア
自己紹介
資料の要約
データ集約にはFluentdを、
自動復旧にmonitを、
データ可視化にelasticsearch, kibanaを、
異常値検知にNorikraを、
ポータビリティのためにdockerを使った話し。
データ集約基盤を作った話し
資料の要約
データ集約基盤を作った話し
※Hadoopほとんど関係ない
データ集約といえば
Fluentd!
http://docs.fluentd.org/articles/architecture
Fluentd
http://docs.fluentd.org/articles/architecture
Fluentd
!  超定番のログコレクタ / アグリゲータ。
!  各種データソースを各種データストアに出力可能。
!  Inputデータはタグで管理可能。
!  Json形式でデータを扱う。
!  プラグインで自由に拡張可能。
どのように使っているか?
http://docs.fluentd.org/articles/architecture
Beaconログ S3 Redshift
やっていることは超シンプル!
データをかき集めて貯めるだけ。
※一部加工処理もあり
•  データ集約 = Fluentd
•  自動復旧 = monit
•  データ可視化 = elasticsearch, kibana
•  異常値検知 = Norikra
•  ポータビリティ = docker
データ集約基盤の中身
データ集約基盤の中身
•  データ集約 = Fluentd
•  自動復旧 = monit
•  データ可視化 = elasticsearch, kibana
•  異常値検知 = Norikra
•  ポータビリティ = docker
•  fluent-plugin-record-reformer
•  fluent-plugin-secure-forward
•  fluent-plugin-flowcounter
•  fluent-plugin-dstat
•  fluent-p...
getconfig()
サービスの起動時にカジュアルに設定
ファイルをダウンロード。
getconfig(){
echo -n "Getting config file:”
/usr/lib64/fluent/ruby/bin/ruby /etc/td-...
データ集約基盤の中身
•  データ集約 = Fluentd
•  自動復旧 = monit
•  データ可視化 = elasticsearch, kibana
•  異常値検知 = Norikra
•  ポータビリティ = docker
サービスやプロセスを監視し、
自動メンテナンスや復旧を行うためのOSS
http://mmonit.con/monit/
monit
monit
Monitを使用して、万が一td-agentが
 ダウンした際に自動復旧。
check process td-agent with pidfile /var/run/td-agent/td-agent.pid
start progra...
データ集約基盤の中身
•  データ集約 = Fluentd
•  自動復旧 = monit
•  データ可視化 = elasticsearch, kibana
•  異常値検知 = Norikra
•  ポータビリティ = docker
elasticsearch + kibana
fluent-plugin-elasticsearchで超簡単に
可視化
データ可視化
データ集約基盤の中身
•  データ集約 = Fluentd
•  自動復旧 = monit
•  データ可視化 = elasticsearch, kibana
•  異常値検知 = Norikra
•  ポータビリティ = docker
SQLでスキーマレスなストリーム処理ができるOSS
Norikra
http://norikra.github.io/
Norikra
td-agentのキューやバッファが れてい
ないかを一定間隔でチェック
"queries": [
{
"name": "view.monitor_agent.per_5min",
"group": null,
"express...
データ集約基盤の中身
•  データ集約 = Fluentd
•  自動復旧 = monit
•  データ可視化 = elasticsearch, kibana
•  異常値検知 = Norikra
•  ポータビリティ = docker
OSSのコンテナ管理ツール
docker
http://www.docker.com/
FROM centos
MAINTAINER Kensuke Soeda <ksoeda@r.recruit.co.jp>
ADD gpg-key/GPG-KEY-td-agent /tmp/GPG-KEY-td-agent
RUN rpm -...
•  データ集約 = Fluentd
•  自動復旧 = monit
•  データ可視化 = elasticsearch, kibana
•  異常値検知 = Norikra
•  ポータビリティ = docker
まとめ
データ集約基盤の中身
•  td-agentは安定していて運用が楽。
•  これまでに特に大きな障害もなし。
•  データ可視化はes & kibanaが楽ちん。
•  Norikraは他にも使い道はいろいろありそう。
•  docker超便利。
どうだったか。
•  td-agent2に置き換えていきたい。
•  Bigqueryなどにも本格的に貯めていきたい。
•  Treasure Agent Monitoring Serviceも試してい
きたい。
•  Norikraはリアルタイム集計用途で他...
最後に
Upcoming SlideShare
Loading in …5
×

FluentdやNorikraを使った データ集約基盤への取り組み紹介

22,660 views

Published on

Hadoop Conference Japan 2014 LTの資料になります。

Published in: Technology
  • Be the first to comment

FluentdやNorikraを使った データ集約基盤への取り組み紹介

  1. 1. FluentdやNorikraを使った データ集約基盤への取り組み紹介 Hadoop Conference Japan 2014 LT 添田健輔 そえだけんすけ
  2. 2.     そえだ けんすけ !  添田 健輔 !  Twitter:@soestudio !  所属:リクルートテクノロジーズ !  イクメンエンジニア 自己紹介
  3. 3. 資料の要約 データ集約にはFluentdを、 自動復旧にmonitを、 データ可視化にelasticsearch, kibanaを、 異常値検知にNorikraを、 ポータビリティのためにdockerを使った話し。 データ集約基盤を作った話し
  4. 4. 資料の要約 データ集約基盤を作った話し ※Hadoopほとんど関係ない
  5. 5. データ集約といえば
  6. 6. Fluentd!
  7. 7. http://docs.fluentd.org/articles/architecture
  8. 8. Fluentd http://docs.fluentd.org/articles/architecture
  9. 9. Fluentd !  超定番のログコレクタ / アグリゲータ。 !  各種データソースを各種データストアに出力可能。 !  Inputデータはタグで管理可能。 !  Json形式でデータを扱う。 !  プラグインで自由に拡張可能。
  10. 10. どのように使っているか?
  11. 11. http://docs.fluentd.org/articles/architecture
  12. 12. Beaconログ S3 Redshift
  13. 13. やっていることは超シンプル! データをかき集めて貯めるだけ。 ※一部加工処理もあり
  14. 14. •  データ集約 = Fluentd •  自動復旧 = monit •  データ可視化 = elasticsearch, kibana •  異常値検知 = Norikra •  ポータビリティ = docker データ集約基盤の中身
  15. 15. データ集約基盤の中身 •  データ集約 = Fluentd •  自動復旧 = monit •  データ可視化 = elasticsearch, kibana •  異常値検知 = Norikra •  ポータビリティ = docker
  16. 16. •  fluent-plugin-record-reformer •  fluent-plugin-secure-forward •  fluent-plugin-flowcounter •  fluent-plugin-dstat •  fluent-plugin-elasticsearch •  fluent-plugin-s3 •  fluent-plugin-redshift Fluentdで使っているPlugin
  17. 17. getconfig() サービスの起動時にカジュアルに設定 ファイルをダウンロード。 getconfig(){ echo -n "Getting config file:” /usr/lib64/fluent/ruby/bin/ruby /etc/td-agent/download_config_file.rb RETVAL=$? if [ $RETVAL -eq 0 ]; then success else failure fi echo return $RETVAL } td-agent.confの設定反映
  18. 18. データ集約基盤の中身 •  データ集約 = Fluentd •  自動復旧 = monit •  データ可視化 = elasticsearch, kibana •  異常値検知 = Norikra •  ポータビリティ = docker
  19. 19. サービスやプロセスを監視し、 自動メンテナンスや復旧を行うためのOSS http://mmonit.con/monit/ monit
  20. 20. monit Monitを使用して、万が一td-agentが  ダウンした際に自動復旧。 check process td-agent with pidfile /var/run/td-agent/td-agent.pid start program = "/etc/init.d/td-agent start" stop program = "/etc/init.d/td-agent stop" if 5 restarts within 5 cycles then timeout 自動復旧
  21. 21. データ集約基盤の中身 •  データ集約 = Fluentd •  自動復旧 = monit •  データ可視化 = elasticsearch, kibana •  異常値検知 = Norikra •  ポータビリティ = docker
  22. 22. elasticsearch + kibana fluent-plugin-elasticsearchで超簡単に 可視化 データ可視化
  23. 23. データ集約基盤の中身 •  データ集約 = Fluentd •  自動復旧 = monit •  データ可視化 = elasticsearch, kibana •  異常値検知 = Norikra •  ポータビリティ = docker
  24. 24. SQLでスキーマレスなストリーム処理ができるOSS Norikra http://norikra.github.io/
  25. 25. Norikra td-agentのキューやバッファが れてい ないかを一定間隔でチェック "queries": [ { "name": "view.monitor_agent.per_5min", "group": null, "expression": "SELECT * FROM monitor_agent.win:ext_timed_batch(timestamp * 1000, 300 sec)" } ] キューやバッファ れ対策など
  26. 26. データ集約基盤の中身 •  データ集約 = Fluentd •  自動復旧 = monit •  データ可視化 = elasticsearch, kibana •  異常値検知 = Norikra •  ポータビリティ = docker
  27. 27. OSSのコンテナ管理ツール docker http://www.docker.com/
  28. 28. FROM centos MAINTAINER Kensuke Soeda <ksoeda@r.recruit.co.jp> ADD gpg-key/GPG-KEY-td-agent /tmp/GPG-KEY-td-agent RUN rpm --import /tmp/GPG-KEY-td-agent ADD yum.repos.d/td.repo /etc/yum.repos.d/td.repo RUN yum install -y td-agent RUN sed -i 's/ulimit/# ulimit/' /etc/init.d/td-agent RUN cat /dev/null > /var/log/td-agent/td-agent.log RUN chown td-agent. -R /var/log/td-agent/ RUN chkconfig td-agent on EXPOSE 8888 EXPOSE 24224 docker runするだけでどっかーの環境でも再現可能に!!
  29. 29. •  データ集約 = Fluentd •  自動復旧 = monit •  データ可視化 = elasticsearch, kibana •  異常値検知 = Norikra •  ポータビリティ = docker まとめ データ集約基盤の中身
  30. 30. •  td-agentは安定していて運用が楽。 •  これまでに特に大きな障害もなし。 •  データ可視化はes & kibanaが楽ちん。 •  Norikraは他にも使い道はいろいろありそう。 •  docker超便利。 どうだったか。
  31. 31. •  td-agent2に置き換えていきたい。 •  Bigqueryなどにも本格的に貯めていきたい。 •  Treasure Agent Monitoring Serviceも試してい きたい。 •  Norikraはリアルタイム集計用途で他サービスへ も展開していきたい。 •  dockerは今後も各種アプリやプロセスの配布に 使っていきたい。 今後どうしていきたいか。
  32. 32. 最後に

×