Your SlideShare is downloading. ×
Fluentd勉強会 (導入編 TreasureData活用)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Fluentd勉強会 (導入編 TreasureData活用)

2,753
views

Published on

Ipros Techmeetup …

Ipros Techmeetup
fluentdの外部向け勉強会で使った資料

主にTreasureDataの使い方について記述

Published in: Technology

0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,753
On Slideshare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
15
Comments
0
Likes
7
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. fluentd 勉強会 at ipros 導入編 TreasureData活用 株式会社イプロス カイゼンチームリーダー 竹内孝志
  • 2. 自己紹介 竹内 孝志(たけうち たかし) 1985年12月18日生まれ Sierで3年間金融系システムの保守・運用 現在はイプロスにWEBエンジニアとして勤務 主な業務はイプロスサイトの改善と機能拡張 アジャイル開発を極めるため修行中 Railsでサービスを作ろうと目論んでる 趣味はオンラインゲーム 土日祝日自宅警備
  • 3. 導入編の目的 fluentd, td-agentを使ったことがない人 が・・・ td-agentとTreasureDataを使って ・ログの収集ができるようになる ・データの集計ができるようになる
  • 4. アジェンダ ・fluentd、td-agent、TreasureData概要 ・td-agent、TreasureData使い方 ・イプロスでのTreasureData活用例 ・デモ(GoogleDriveと連携)
  • 5. アジェンダ ・fluentd、td-agent、TreasureData概要 ・td-agent、TreasureData使い方 ・イプロスでのTreasureData活用例 ・デモ(GoogleDriveと連携)
  • 6. fluentd,td-agent概要 fluentdはログを収集し格納するためのログ収 集基盤ソフトウェア。 td-agentはTreasureDataが公開している fluentdの安定版。 これを使えばテキストベースで書きだされて いるログを構造化された形で処理ができ、運 用時にログファイルをgrepして確認をしなく て済む。
  • 7. TreasureData概要 TreasureDataとはトレジャーデータが提供す るクラウドデータウェアハウスサービスのこ とをいう。 正式名称『Treasure Data Cloud Data Warehousing Service』。 クラウドストレージ上の任意のデータに対す るアクセス,および大規模な集計ジョブを走 らせることが可能。
  • 8. TreasureData構成図 TreasureData データウェアハウ ス APサーバー 管理画面 td-agent 安定版パッケー ジ fluentd データを送信する デー タ デー タ デー タ ログ ログ ログ
  • 9. TreasureDataの機能 td-agentから 管理ツール クエリー発行 ◯ ◯ スケジュール設定 ◯ ◯ ジョブの履歴 ◯ ◯ データ投入 ◯ × ユーザー管理 × ◯
  • 10. 題材として TreasureDataを選んだ理由 ・td-agentと連携しやすい ・ストレージが利用可能 ・管理画面の機能が豊富 ・無料で試せる fluentdの初心者向けのサービス
  • 11. アジェンダ ・fluentd、td-agent、TreasureData概要 ・td-agent、TreasureData使い方 ・イプロスでのTreasureData活用例 ・デモ(GoogleDriveと連携)
  • 12. td-agent及び TreasureDataの使い方 ・クライアントからTreasureDataへ接続 ・td-agentを使ってログを送信 ・TreasureDataを使った小技
  • 13. クライアントから TreasureDataへ接続 ローカルマシン (Mac or Windows) TreasureData Toolbelt データを操作
  • 14. クライアントから TreasureDataへ接続 ・Toolbeltインストール ・TreasureDataへ接続 ・TreasureDataのオブジェクトを操作
  • 15. Toolbeltインストール 公式ページから環境にあったインストーラーを取得し実行する。 http://toolbelt.treasure-data.com/
  • 16. TreasureDataへ接続 $ td account –f Enter your Treasure Data credentials. Email: ※TreasureDataのIDとパスワードを入力する。
  • 17. TreasureDataの操作 DB作成 $ td db:create データベース名 $ td table:create データベース名テーブル名 データ投入 $ td sample:apache apache.json $ td table:import データベース名 テーブル名--json apache.json tail -n 1 apache.json {"host":"200.129.205.208","user":"","method":"GET","path”:"/category/electronics”,"code":200,"refe rer":"-","size":62, "agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11","time":1334035906}
  • 18. TreasureDataの操作 データベースの確認 $ td tables データにアクセス $ td query -w –d データベース名 "SELECT v['code'] AS code, COUNT(1) AS cnt FROM テーブル名 GROUP BY v['code']"
  • 19. サーバーから TreasureDataへログを送信 サーバー (CentOS) TreasureData Td-agent Apache ログ アプリ ログ ログの送信
  • 20. サーバーから TreasureDataへログを送信 ・td-agentインストール ・apacheのログを送信 ・自由形式のログを送信
  • 21. td-agentインストール yumコマンドでtd-agentをインストール $ sudo vi /etc/yum.repos.d/td.repo $ sudo yum install -y td-agent td.repo [treasuredata]name=TreasureDatabaseurl= http://packages.treasure-data.com/redhat/$basearchgpgcheck=0
  • 22. td-agentインストール 起動 $ /etc/init.d/td-agent start APIキー確認 $ td account -f $ td apikey:show
  • 23. apacheのログ送信 設定ファイルを書き換えて再起動するとログの送信を開始する。 $ vi /etc/td-agent/td-agent.conf
  • 24. apacheのログ送信 td-agent.conf <match td.*.*> type tdlog apikey XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX auto_create_table buffer_type file buffer_path /var/log/td-agent/buffer/td use_ssl true </match> <source> type tail path /var/log/httpd/httpd.access_log pos_file /tmp/httpd.access.log.pos format apache tag td.test.httpd </source>
  • 25. 自由形式のログを送信 こんなアクセスログがあったとする。 アクセスログ 2013-10-22 07:46:37,028 1270859 2013-10-17 2013-10-22 09:03:46,635 1197675 2013-10-19 2013-10-22 12:32:25,593 1189472 2013-10-22 2013-10-22 12:33:05,671 1271888 2013-10-22 2013-10-22 12:38:21,005 1272255 2013-10-22 2013-10-22 12:41:40,961 1021213 2013-10-22 2013-10-22 12:43:46,654 1271174 2013-10-19 2013-10-22 12:44:43,604 1077677 2013-10-22 2013-10-22 12:45:38,035 1272280 2013-10-22 2013-10-22 12:47:23,007 1080238 2013-10-22 2013-10-22 12:47:38,265 1271174 2013-10-19
  • 26. 自由形式のログを送信 設定ファイルに送信するログの記述を追加する td-agent.conf <source> type tail path /var/ipros/log/followmailopen.log tag td.applog<%= env_suffix %>.followmailopen format /^(?<time>d{4}-d{2}-d{2} d{2}:d{2}:d{2},d{3}) (?<memberid>S+) (?<senddate>d{4}-d{2}-d{2})/ pos_file /var/log/td-agent/td.applog.followmailopen.pos </source>
  • 27. フォーマットの指定方法 format /^(?<time>d{4}-d{2}-d{2} d{2}:d{2}:d{2},d{3}) 定型文 各カラムのフォーマット (?<memberid>S+) (?<senddate>d{4}-d{2}-d{2})/ カラム名 フォーマット
  • 28. TreasureDataを使った小技 アプリケーションサーバー ログの送信 TreasureData GoogleDrive 集計結果の送信
  • 29. googledriveと連携 スケジュール作成時にスプレッドシートを指定 する $ td sched:create [スケジュール名]"0 7 * * *" -t "Asia/Tokyo" -d applog --result „gspreadsheet://[ユーザー名]:[パスワード] @[ドメイン名]/[ドライブ名]/[シート名]?mode=replace' “SELECT ・・・・・・・・・・・” ※td-agentもしくはtoolbeltが入ったマシンからコマンドを実行する。
  • 30. アジェンダ ・fluentd、td-agent、TreasureData概要 ・td-agent、TreasureData使い方 ・イプロスでのTreasureData活用例 ・デモ(GoogleDriveと連携)
  • 31. イプロスの事例 ・システム構成 ・アクセスログ集計 ・メール開封率集計 ・電話トラッキングログ収集 ・導入時に発生した問題
  • 32. システム構成 イプロスサイト APサーバー ログの集約サーバー tdagent tdagent TreasureData tdagent tdagent tdagent
  • 33. アクセスログの集計 TreasureData ログの送信 実験的に導入した 機能の分析などに利用 クエリー発行
  • 34. システムメールの開封率集計 TreasureData ログの送信 メールを開封 集計 ジョブ 集計結果 グラフで可視化 GoogleDrive
  • 35. 電話トラッキングログ収集 発信 問い合わせ用 電話番号 転送 通話履歴の出力 TreasureData
  • 36. 導入時に発生した問題 特になし
  • 37. アジェンダ ・fluentd、td-agent、TreasureData概要 ・td-agent、TreasureData使い方 ・イプロスでのTreasureData活用例 ・デモ(GoogleDriveと連携)
  • 38. デモ ①ログと設定ファイルの確認 アプリケーションサーバー ログの送信 ②クエリーの発行 + GoogleDriveへ送信 GoogleDrive TreasureData 集計結果の送信 ③クエリーの発行 + GoogleDriveへ送信 ④スケジュールの登録
  • 39. まとめ ・TreasureDataはクラウドデータウェアハウスサー ビス ・td-agentはfluentdの安定版パッケージ ・TreasureDataとtd-agentを使えばデータを蓄積可 能 ・TreasureDataは外部サービスを連携でき、データ の可視化も可能
  • 40. 参考文献 TreasureData公式 http://www.treasure-data.com/
  • 41. ご清聴 ありがとうございまし た