Submit Search
Fluentd casual
17 likes
5,223 views
oranie Narut
1 of 29
Download now
Downloaded 35 times
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
More Related Content
PDF
Webサーバ勉強会#5
oranie Narut
PPTX
PostgreSQL共有バッファと関連ツール
Masahiko Sawada
PDF
Bgworkerで簡易クラスタ管理
Masahiko Sawada
KEY
Mysql casial01
matsuo kenji
PPT
実践!データベースリファクタリングツール
Tatsunori Matoba
KEY
カジュアルにバックアップ - MySQL Casual Talks 福岡
Aya Komuro
PPTX
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
hiroi10
PDF
Chugoku db 17th-postgresql-9.6
Toshi Harada
Webサーバ勉強会#5
oranie Narut
PostgreSQL共有バッファと関連ツール
Masahiko Sawada
Bgworkerで簡易クラスタ管理
Masahiko Sawada
Mysql casial01
matsuo kenji
実践!データベースリファクタリングツール
Tatsunori Matoba
カジュアルにバックアップ - MySQL Casual Talks 福岡
Aya Komuro
MySQLメインの人がPostgreSQLのベンチマークをしてみた話
hiroi10
Chugoku db 17th-postgresql-9.6
Toshi Harada
What's hot
(20)
PDF
MySQLを割と一人で300台管理する技術
yoku0825
PDF
Postgres Toolkitのご紹介
Uptime Technologies LLC (JP)
PDF
MySQL Casual Talks in Fukuoka vol.2
学 松崎
PDF
MySQLからPostgreSQLへのマイグレーションのハマリ所
Makoto Kaga
PDF
SourceReading 20101020
Shinichi YAMASHITA
PDF
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014
Shigeru Hanada
PDF
20171106 ntt-tx-postgre sql-10
Toshi Harada
PDF
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
Shigeru Hanada
PDF
DBスキーマもバージョン管理したい!
kwatch
PDF
Kof2016 postgresql-9.6
Toshi Harada
PDF
20171028 osc-nagaoka-postgre sql-10
Toshi Harada
PDF
tcpdump & xtrabackup @ MySQL Casual Talks #1
Ryosuke IWANAGA
PDF
20171103 pg con-jp-lt-plpgsql
Toshi Harada
PDF
Migr8.rb チュートリアル
kwatch
PDF
とあるDBAの黒い画面(ターミナル)
Kazuhiro Yoshikawa
PDF
MySQL 初めてのチューニング
Craft works
PDF
Ansible入門
Akira Otsuka
PDF
今よりも少し(?)昔、 Windowsを作ろうとした話
Masaru Oki
PDF
PostgreSQL安定運用のコツ2009 @hbstudy#5
Uptime Technologies LLC (JP)
PPTX
OSC2015kyoto
Miki Shimogai
MySQLを割と一人で300台管理する技術
yoku0825
Postgres Toolkitのご紹介
Uptime Technologies LLC (JP)
MySQL Casual Talks in Fukuoka vol.2
学 松崎
MySQLからPostgreSQLへのマイグレーションのハマリ所
Makoto Kaga
SourceReading 20101020
Shinichi YAMASHITA
OSS-DB Gold技術解説セミナー@db tech showcase 東京 2014
Shigeru Hanada
20171106 ntt-tx-postgre sql-10
Toshi Harada
PostgreSQLではじめるOSS開発@OSC 2014 Hiroshima
Shigeru Hanada
DBスキーマもバージョン管理したい!
kwatch
Kof2016 postgresql-9.6
Toshi Harada
20171028 osc-nagaoka-postgre sql-10
Toshi Harada
tcpdump & xtrabackup @ MySQL Casual Talks #1
Ryosuke IWANAGA
20171103 pg con-jp-lt-plpgsql
Toshi Harada
Migr8.rb チュートリアル
kwatch
とあるDBAの黒い画面(ターミナル)
Kazuhiro Yoshikawa
MySQL 初めてのチューニング
Craft works
Ansible入門
Akira Otsuka
今よりも少し(?)昔、 Windowsを作ろうとした話
Masaru Oki
PostgreSQL安定運用のコツ2009 @hbstudy#5
Uptime Technologies LLC (JP)
OSC2015kyoto
Miki Shimogai
Ad
Similar to Fluentd casual
(20)
PPTX
Fluentd+elasticsearch+kibana(fluentd編)
Daisuke Kikuchi
PDF
Piwik fluentd at OSC Tokyo 2015 Fall
Takashi Yamamoto
PDF
fluentd を利用した大規模ウェブサービスのロギング
Yuichi Tateno
PDF
社内向けTech Talk資料~Fluentdの基本紹介~
Daisuke Ikeda
PDF
既存システムへの新技術活用法 ~fluntd/MongoDB~
じゅん なかざ
PDF
FluentdとGrothForecastをインストールする
regret raym
PDF
Fluentdへようこそ
Manabu Shinsaka
PDF
Fluentd Casual Talks LT #fluentd #fluentdcasual
Hitoshi Asai
PDF
Fluentd in #tkrk10
SATOSHI TAGOMORI
PDF
Hadoopによるリクルートでの技術調査とその活用
Chiaki Hatanaka
PDF
Fluentd meetup #2
Tomohiro Ikeda
PDF
Shadow Server on Fluentd at Fluentd Casual Talks #3
Naotoshi Seo
PDF
Hadoopを用いた大規模ログ解析
shuichi iida
KEY
Webサーバ勉強会 LT資料
学 松崎
PDF
OSSで支えられるライブドアの巨大ログ集計 #nhntech
SATOSHI TAGOMORI
PDF
Fluentとmongoで作るサービス
直也 堀松
PDF
第二回IoT関連技術勉強会 ログ収集編
tzm_freedom
PPTX
Fluentdの使い方
Tomohiro Goya
PPTX
20130215 fluentd esper_2
Ogibayashi
PDF
Big Data入門に見せかけたFluentd入門
Keisuke Takahashi
Fluentd+elasticsearch+kibana(fluentd編)
Daisuke Kikuchi
Piwik fluentd at OSC Tokyo 2015 Fall
Takashi Yamamoto
fluentd を利用した大規模ウェブサービスのロギング
Yuichi Tateno
社内向けTech Talk資料~Fluentdの基本紹介~
Daisuke Ikeda
既存システムへの新技術活用法 ~fluntd/MongoDB~
じゅん なかざ
FluentdとGrothForecastをインストールする
regret raym
Fluentdへようこそ
Manabu Shinsaka
Fluentd Casual Talks LT #fluentd #fluentdcasual
Hitoshi Asai
Fluentd in #tkrk10
SATOSHI TAGOMORI
Hadoopによるリクルートでの技術調査とその活用
Chiaki Hatanaka
Fluentd meetup #2
Tomohiro Ikeda
Shadow Server on Fluentd at Fluentd Casual Talks #3
Naotoshi Seo
Hadoopを用いた大規模ログ解析
shuichi iida
Webサーバ勉強会 LT資料
学 松崎
OSSで支えられるライブドアの巨大ログ集計 #nhntech
SATOSHI TAGOMORI
Fluentとmongoで作るサービス
直也 堀松
第二回IoT関連技術勉強会 ログ収集編
tzm_freedom
Fluentdの使い方
Tomohiro Goya
20130215 fluentd esper_2
Ogibayashi
Big Data入門に見せかけたFluentd入門
Keisuke Takahashi
Ad
More from oranie Narut
(10)
PDF
Devsumi2019 dynamodb
oranie Narut
PDF
Jvm operation casual talks
oranie Narut
PDF
cassandra 100 node cluster admin operation
oranie Narut
PDF
Webサーバ勉強会#4
oranie Narut
PDF
MySQL Casual LT : MySQL Upgrade 5.0 to 5.5
oranie Narut
PDF
Webサーバ勉強会03
oranie Narut
PDF
財務分析勉強会挨拶
oranie Narut
PPT
Webサーバ勉強会02
oranie Narut
PPT
Webサーバ勉強会 発表資料
oranie Narut
PPT
It勉強会の勉強会
oranie Narut
Devsumi2019 dynamodb
oranie Narut
Jvm operation casual talks
oranie Narut
cassandra 100 node cluster admin operation
oranie Narut
Webサーバ勉強会#4
oranie Narut
MySQL Casual LT : MySQL Upgrade 5.0 to 5.5
oranie Narut
Webサーバ勉強会03
oranie Narut
財務分析勉強会挨拶
oranie Narut
Webサーバ勉強会02
oranie Narut
Webサーバ勉強会 発表資料
oranie Narut
It勉強会の勉強会
oranie Narut
Fluentd casual
1.
fluentd Casual Talks
2.
自己紹介
id:oranie @oranie • サイバーエージェント グループ子会社で、グループ内でも余り知ら れていないシステムでなんか色々やる簡単なお仕事しています。 • 緑色のみんながよく知っているサービスの裏側とかは全く知らない です!聞かないで下さい! • カジュアル枠として参戦でございます。優しくしてね!
3.
今回のテーマ 「fluentdはじめました」
4.
言いたいこと fluentdを使ってみているという話が中心です。
詳細な話は結構割愛。 今日発売のSofftwareDesignが スピーカー殺しすぎる。
5.
なんでこんな事をやる? ●apacheログからレスポンスタイム、ステータスコードの可視 化とかやっている人いる? ●アプリが出している情報の可視化とかも。
6.
fluentd+ fluent-plugin-datacounter+Cactiを
使って Webサーバのレスポンスタイムを可視化したり
7.
他に Webサーバのレスポンスステータスの状況とか
8.
更にアプリログで なんのかは説明できないけど、 サービス的に意味のある統計情報がリアルタイムで見れる。 今まで日次+Excel手作業だった。 担当者(僕)がサボるともっと時間掛かっていたけど!
9.
なんでこんな事やるの? ●apacheログからの状況可視化→運用面でのメリット ●appログからのサービス状況可視化→ビジネス的な解析 ●システム運用面でのメリット+ビジネス的な解析も運用側だけ で出来そう。 ●サービス用DB参照するのとかは色々とね。 ●MySQLならレプリすぐ作れるけど、Oracleなのでサーバ作る のに・・・・。
10.
旧構成(と言っても今も動いている)
Webサーバ 日次処理によるログ退避 集約サーバ DBサーバ 各Webサーバの生Apacheログをパー ス、追加情報を付与して整形する 各log_data{yyyymm}テーブルを元に 日次、月次での各テー 解析用のテーブルとか分割したテーブ ル作る ブル作成、及び集計処 理を実行 必要な元ネタテーブルが作成完了した DBにINSERTする ら、各集計用スクリプトを実行し、それぞ れのテーブルを更新して行く
11.
この方式の欠点 ・ログが大量だと全部DBに入れるのに糞重い ・ログが大量だと日次処理、月次処理が糞重い ・基本処理が日次なので、昨日の状況を見たい時でもDBに格 納されてからバッチ実行を待って、それからデータをCSVで 落としてExcelでグラフ・・・・ヽ(`Д´)ノムキー ・「ログは日次で退避させる」という仕様は変えられない。
12.
そこに!
13.
なぜfluentdか? rsyslog syslog-ng cron(rsync、scp、ftp)で取得との違い
14.
思いつくままに ●設定が面倒くさい。 ● syslog-ngはオワコンくさい。
(2年前くらいから経路機器のログ集約で使ってますよ。ちくしょう!) ●デフォだから逆に使いたくない。 (設定問題でkernelが出すmessageログとかに支障を出したくない) ●今の仕組み変えなきゃいけない。 ● cronのタイムラグ。サイズが大きくなると差分だけ欲しい。 差分と言えばrsync? ●今の需要なら受信した側も差分だけで良いパターンがほと んどだけど、そこまで考慮したプログラム組むの面倒くさ い・・・。
15.
これらの問題を踏まえてfluentdの良い所 ●設定が柔軟 ●プラグインが豊富 (out系は主要なデータストア向けがほぼ出揃った。) ●既存のログシステムに影響を与えずに新たなログ収集・解析が出来る (主にin_tailを使えばね) ●大規模で使われている安心感(cookpadさん,NHNさん) ●開発が活発(本体&プラグイン共に) ●
運用サーバはRHEL系がメインなのでtd-agent使うと構築も捗る ●必要なプラグインを作るのが容易らしい(僕はまだ作っていないですが・・・・)
16.
設定例 もしローカル上のログを読んで、別ディレクトリに吐き出す場合。 LogFormat "%{X-Forwarded-For}i %h
%l %u %t ¥"%r¥" %>s %b ¥"%{Referer}i¥" ¥"%{User-Agent}i¥" %D" combined のapacheログを読んで、それをfluentdで構造化して別のディ レクトリに吐いてみる。
17.
設定例 #読み込む設定 <source> type tail
format /^(?<XFF-host>[^ ]*) (?<host>[^ ]*) [^ ]* (?<user>[^ ]*) ¥[(?<TIME>[^¥]]*)¥] "(?<method>¥S+)(?: +(?<path>[^ ]*) +¥S*)?" (?<status>[^ ]*) (?<size>[^ ]*)(?: "(?<referer>[^¥"]*)" "(?<agent>[^¥"]*)" (?<response_time>[^ ]*))?$/ path /var/log/httpd/access_log tag apache.access pos_file /var/log/td-agent/tmp/access.log.pos </source> #書き込む設定 <match *.**> type file time_slice_format %Y_%m_%d compress gzip path /var/log/td-agent/access_log </match>
18.
今使っている話。
19.
fluentdを導入した今の構成
20.
補足 収集サーバ+中間サーバ+集計サーバ なんでこの構成? 中間サーバの必要性 収集サーバ側fluentdプロセスのイレギュラー状況を避ける為に中間で 「必ず」受信出来る構成を取る為 中間サーバでの負荷分散 集計サーバが一個で良い理由は今そのレベルだから。
21.
ざっくり今の内部概要
22.
導入・運用していて困った事とか。 ●不具合はあった。 シンボリックリンク読むと永久ループとかUS-ASCII以外の文字列入る とエラーになるとか、prelink
のせいでrubyが壊れる為の回避設定に一 部環境で抜けがあったとか。(全部直ってますよ) ●公式ドキュメント古い!!!!!!&日本語版無い! ●プラグインの情報が散在している。 ●性能について in_forwardで安定して受信出来るのは1プロセス大体 10,000message/secが限界だった。(Xeon E5607 2.27GHz) ●プロセス単体では受信性能がCPUコア分スケールしないので、手動マ ルチプロセスしている。今は3プロセス起動でとりあえず凌いでいる。
23.
細かいtips的なもの ●Web/App側のconfigは動的生成して管理している。(詳細はこのあと) ●in_tailプラグインを使って読む時に、対象のログ構造を正規表現で記述するので、 fluentdで設定する前にperl5.10以降だと名前付き後方参照が出来るので、それ
でテストしています。 ●in_tailは今の所readするログファイルの名前の指定をしないといけない。 rotatelogsとかで/access_log.%Y-%m-%dな名前でプロセスが初めからログファ イルを作成する場合は、cronでシンボリックリンクを再作成する事で回避。 ●forwardで投げる場合、互いの死活監視にudpパケットも投げるので、tcpとudpを 許可しないと繋がらない。 ●細かい内容をブログに書いて、そのURLをTwitterで「#fluentd」を付けてつぶやく と結構幸せになれた。
24.
config管理について
25.
各サーバ用のconfig配布方法
26.
Configを動的生成する理由 ●各ホスト毎に個別の値を持つ設定を付与する為、 configをPSGIで
動的生成している。 (ex ミドルウェア名.ミドルウェア内のタグ.サービス名.IPアドレス tag: apache.access.web_A.192.168.220.101 ●負荷分散で受信する側のプロセスを複数起動しているので、サーバ 毎にメインで送信する先のportを分けている。 ●例の様な値を設定したい時とかに、いちいちサーバ毎のconfig書き たくないし、chefとか(大人の事情で)入れられないのでいちいちscp で配布とかしか出来ない環境なので嫌だ。
27.
なので ●チロッと書くには楽だったのでplack使っている。fluentdが rubyだからsinatraとかも良いかもね。 ●configの内容はblogとかに書いているので、適当に読んで 貰えれば。 ●include
rbとかでruby実行して動的生成されたconfig読み込 みが今後出来ると更に捗るかも。
28.
個人的な展望 ●fluentd-plugin-mongoを利用して、datacounterだけでは計 測出来ない細かい解析をしていきたい。 ●もっと詳細なログ情報を集約・視覚化する事でシステム運用 に役立てたいというか楽したい。 ●もっとビジネス的に意味のある数値をリアルタイムに可視化
したい。 ●グラフの数を増やす時にCactiだと死ねるので、新しいグラフ ツールの導入(GrowthForecast とか)。
29.
まとめ fluentdはとてもいい!! とりあえず影響が出ない様に小規模な所からサラッとやってみる。 細かい設定とかは直接質問して貰えれば。 ご清聴ありがとうございました。
Download