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