Submit Search
Fluentdで本番環境を再現
4 likes
3,469 views
Hiroshi Toyama
Fluentd Meetup 2015 夏 で発表した資料です。
Software
Read more
1 of 38
Download now
Download to read offline
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
30
31
32
33
34
35
36
37
38
More Related Content
PDF
TLS, HTTP/2演習
shigeki_ohtsu
PDF
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
PDF
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
Yahoo!デベロッパーネットワーク
PDF
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
PPTX
コンテナネットワーキング(CNI)最前線
Motonori Shindo
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
PDF
オンラインゲームの仕組みと工夫
Yuta Imai
TLS, HTTP/2演習
shigeki_ohtsu
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
Yahoo!デベロッパーネットワーク
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Shin Ohno
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
Amazon Web Services Japan
コンテナネットワーキング(CNI)最前線
Motonori Shindo
SPAセキュリティ入門~PHP Conference Japan 2021
Hiroshi Tokumaru
オンラインゲームの仕組みと工夫
Yuta Imai
What's hot
(20)
PDF
AWS Black Belt Online Seminar AWS CloudFormation アップデート
Amazon Web Services Japan
PDF
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
PDF
DockerとPodmanの比較
Akihiro Suda
PDF
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
PDF
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
matsu_chara
PDF
TIME_WAITに関する話
Takanori Sejima
PDF
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
PDF
オブジェクト指向エクササイズのススメ
Yoji Kanno
PPTX
DX実践!~ビジネスアジリティ向上とマイクロサービス技術GraphQLの活用~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
PDF
CloudFrontのリアルタイムログをKibanaで可視化しよう
Eiji KOMINAMI
PDF
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
PPTX
本当は恐ろしい分散システムの話
Kumazaki Hiroki
PPTX
MicrometerとPrometheusによる LINEファミリーアプリのモニタリング
LINE Corporation
PDF
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
PDF
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
PDF
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
Amazon Web Services Japan
PDF
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
techgamecollege
PPTX
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
ShuheiUda
PDF
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
AWS Black Belt Online Seminar AWS CloudFormation アップデート
Amazon Web Services Japan
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
DockerとPodmanの比較
Akihiro Suda
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
Kafkaを使った マイクロサービス基盤 part2 +運用して起きたトラブル集
matsu_chara
TIME_WAITに関する話
Takanori Sejima
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
オブジェクト指向エクササイズのススメ
Yoji Kanno
DX実践!~ビジネスアジリティ向上とマイクロサービス技術GraphQLの活用~(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
CloudFrontのリアルタイムログをKibanaで可視化しよう
Eiji KOMINAMI
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
本当は恐ろしい分散システムの話
Kumazaki Hiroki
MicrometerとPrometheusによる LINEファミリーアプリのモニタリング
LINE Corporation
MHA for MySQLとDeNAのオープンソースの話
Yoshinori Matsunobu
新入社員のための大規模ゲーム開発入門 サーバサイド編
infinite_loop
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
Amazon Web Services Japan
【TECH×GAME COLLEGE#32】ゼロからリアルタイムサーバーを作るまで
techgamecollege
サポート エンジニアが Azure Networking をじっくりたっぷり語りつくす会
ShuheiUda
Fluentdのお勧めシステム構成パターン
Kentaro Yoshida
Ad
Viewers also liked
(20)
PDF
CoreOS入門
Yutaka Matsubara
PPTX
マイナスを0にもっていくまで
Sora Hasimoto
PPTX
インフラエンジニアLv1がWordPressまわりに色々してみた話
Daisuke Kikuchi
PDF
Markdownでドキュメント作成
Yasuyuki Fujikawa
PDF
Re:dash Use Cases at iPROS
Jumpei Yokota
PDF
re:dash is awesome
Hiroshi Toyama
PPTX
Fluentd+MongoDB+Groovy
Daisuke Ando
PPTX
Vagrant
Hiroshi Toyama
PPTX
Ipros techmeetup 20131218_scala_handson
honda-y
PPTX
リーダブルコード 1.0'
Yamamura Takashi
PPTX
Fluentd勉強会 (導入編 TreasureData活用)
takeuchi-tk
PPTX
Fluentd
Hiroshi Toyama
PPTX
仮想マシンとVagrant + Vagrant 1.5
Daisuke Kikuchi
PDF
Fluentd introduction at ipros
Treasure Data, Inc.
PDF
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
Junya Yamaguchi
DOCX
6331 sayılı isg kanunu
NESİL BİLİŞİM TEKNOLOJİLERİ -
PPTX
Hubotを使ってbotをつくろう!
Daisuke Kikuchi
PDF
CSS Nite LP38に行ってきた
Yasuyuki Fujikawa
PDF
MBaaS - Parse
Junya Yamaguchi
PPTX
初心者Vimmerによるvim+rails開発
Daisuke Kikuchi
CoreOS入門
Yutaka Matsubara
マイナスを0にもっていくまで
Sora Hasimoto
インフラエンジニアLv1がWordPressまわりに色々してみた話
Daisuke Kikuchi
Markdownでドキュメント作成
Yasuyuki Fujikawa
Re:dash Use Cases at iPROS
Jumpei Yokota
re:dash is awesome
Hiroshi Toyama
Fluentd+MongoDB+Groovy
Daisuke Ando
Vagrant
Hiroshi Toyama
Ipros techmeetup 20131218_scala_handson
honda-y
リーダブルコード 1.0'
Yamamura Takashi
Fluentd勉強会 (導入編 TreasureData活用)
takeuchi-tk
Fluentd
Hiroshi Toyama
仮想マシンとVagrant + Vagrant 1.5
Daisuke Kikuchi
Fluentd introduction at ipros
Treasure Data, Inc.
戦国時代を生きた「黒田官兵衛」とWeb時代を生きる「エンジニア」
Junya Yamaguchi
6331 sayılı isg kanunu
NESİL BİLİŞİM TEKNOLOJİLERİ -
Hubotを使ってbotをつくろう!
Daisuke Kikuchi
CSS Nite LP38に行ってきた
Yasuyuki Fujikawa
MBaaS - Parse
Junya Yamaguchi
初心者Vimmerによるvim+rails開発
Daisuke Kikuchi
Ad
Similar to Fluentdで本番環境を再現
(20)
PDF
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
博文 斉藤
PDF
Nodeにしましょう
Yuzo Hebishima
PDF
Cloud Foundryは何故動くのか
Kazuto Kusama
PDF
NTTコミュニケーションズ Cloudn勉強会資料 SDKでAPIをたたいてみよう
Midori Oge
PDF
Fabricによるcloud stackインストール自動化
hiroyuki nakajima
PDF
ES6 はじめました
Net Kanayan
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
PDF
Jenkins に XFD を追加してみると
Kiro Harada
PDF
DPDKを拡張してみた話し
Lagopus SDN/OpenFlow switch
PDF
runC概要と使い方
Yuji Oshima
PDF
Vagrant を Web開発環境に使う
Masashi Shinbara
PDF
Docker lifecycle event hooks
Ryo Nakamaru
PPTX
Idcfクラウド 初心者の事始め(2)資料
Takako Miyagawa
PPTX
120517 cf tour_london
Takayoshi Tanaka
PDF
第4回 インフラ勉強会@福岡 Fluentdハンズオン
学 松崎
PDF
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
Masashi Shinbara
PDF
Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack
満徳 関
PPTX
120315 cloud founry_java_ironfoundry
Takayoshi Tanaka
PDF
[Osaka]AMIMOTO(HHVM) hands-on #cmsdou
Hiromichi Koga
PDF
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
Kazuto Kusama
日本 GNU AWK ユーザー会スライド 2 - OSC2012 Tokyo/Fall
博文 斉藤
Nodeにしましょう
Yuzo Hebishima
Cloud Foundryは何故動くのか
Kazuto Kusama
NTTコミュニケーションズ Cloudn勉強会資料 SDKでAPIをたたいてみよう
Midori Oge
Fabricによるcloud stackインストール自動化
hiroyuki nakajima
ES6 はじめました
Net Kanayan
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
Masahito Zembutsu
Jenkins に XFD を追加してみると
Kiro Harada
DPDKを拡張してみた話し
Lagopus SDN/OpenFlow switch
runC概要と使い方
Yuji Oshima
Vagrant を Web開発環境に使う
Masashi Shinbara
Docker lifecycle event hooks
Ryo Nakamaru
Idcfクラウド 初心者の事始め(2)資料
Takako Miyagawa
120517 cf tour_london
Takayoshi Tanaka
第4回 インフラ勉強会@福岡 Fluentdハンズオン
学 松崎
もう XAMPP / MAMP はいらない! Vagrant で作る PHP 開発環境
Masashi Shinbara
Chef+Vagrantでクラウド環境構築自動化ハッカソン 結果発表 #atithack
満徳 関
120315 cloud founry_java_ironfoundry
Takayoshi Tanaka
[Osaka]AMIMOTO(HHVM) hands-on #cmsdou
Hiromichi Koga
ひしめき合うOpen PaaSを徹底解剖! PaaSの今と未来
Kazuto Kusama
Fluentdで本番環境を再現
1.
Fluentdで 本番環境を再現 するFluentd Meetup 2015 夏
2.
3.
4.
https://iprostm.doorkeeper.jp /events/25664 参加者募集中! Speakerになってもいい人いたら是非連絡ください! @toyama0919
5.
6.
アジェンダ Shadow Proxy fluent-plugin-http_shadow ユースケース まとめ
7.
Shadow Proxy
8.
Shadow Proxy productionのhttp requestを複製してバックエンドに送 信するproxy 限りなく本番に近い環境をを再現できる 主な用途は負荷試験や結合試験 本番環境を開発環境で再現するアプローチ
9.
10.
Shadow Proxy何故? WEBのtestが年々複雑化してきている 本番に入れてみたら変なデータが入ってきて落ちた り。。 本番運用したら負荷が大きすぎて落ちたり。。
11.
導入 するしかない!
12.
方式を考えた 公開されているOSSを使う cookpad/kage lestrrat/p5-Geest kentaro/delta mod_mrubyやngx_mruby nginx層やapache層の処理をmrubyでscriptingできる
13.
14.
15.
懸念点があった ユーザーに密接するフロントエンドにミドルウェアをあ まり入れたくない proxyが挟まることによるユーザーへの影響が不安 もう少し安全にやりたい 要はフロントエンドに手を入れずShadow Proxyやりたい
16.
Fluentdで 出来そうな予感
17.
fluent-plugin-http_shadow
18.
fluent-plugin-http_shadow Fluentdからhttp requestを復元 フロントエンドに手を入れずにShadow Proxyを実現 ApacheやNginxのログを想定しているが、専用のログで post等も実現可能
19.
20.
パラメータ rateによる希釈 timeout 並列数 http headerとcookieを指定可能 virtual host
21.
rateによる希釈 本番と同じスペックを揃えられない 同じrequestを送信したらstaging環境が破裂した 最初は1%で運用、徐々に上げてくのが安全
22.
timeout timeoutが長すぎるとbufferが詰まる fluent-plugin-elasticsearchと同じ 短いtimeoutであればclient側でtimeoutするのでbuffer が詰まりにくい
23.
並列数 Apache Benchの用にhttp requestを並列で投げる Aggregatorが複数あればrequest元を分散できる あまり一斉にrequestを投げるとサーバー側が破裂する サーバー数でscaleさせたい場合は各サーバーの並列数を 低めに
24.
注意点config_paramsにhashが使えないversionはダメ
25.
<match http_shadow.example> type http_shadow host_hash
{ "www.example.com": "staging.example.com", } host_key host path_format ${path} method_key method header_hash { "Referer": "${referer}", "User-Agent": "${user_agent}" } max_concurrency 10 flush_interval 10 timeout 10 rate 10 </match>
26.
ユースケース
27.
主なユースケース バグ発見器 パフォーマンスの比較
28.
バグ発見器 開発環境でとりあえず流しとけば結構バグが見つかるw 通常テスト時には邪魔になるので、rateを下げる
29.
昨今のミドルウェア更新頻度 開発が活発なミドルウェアは毎週のようにアップデート が実施される ライブラリのアップデートの更新頻度も年々上がってい る 特にOSSだとその傾向が強い アップデートしないという選択肢もある
30.
ミドルウェアアップデート時 同じWEBサーバを2つ用意し、片方だけアップデートす る fluentdのcopyでhttp_shadowのmatch directiveを作る 全く同じrequestが送信されることが保証される newrelicでパフォーマンスを比較
31.
copyで複製<match http_shadow.**> type copy <store> type
http_shadow ... </store> <store> type http_shadow ... </store> ... </match>
32.
33.
productionと比較は? productionと同じ構成には費用がかかる Fluentdのcopyで同一のhttp requestが保証できる 環境間の差分を見る
34.
まとめと感想
35.
完全なShadow環境は難しい メールアドレスはMASKされており本番と違う Postのパラメータはログに出せない Kageでもgetだけ送信するようなサンプルが提示されて たりする ブラウザによるアクセスではない
36.
完全なるShadow環境は危険 意図しないデータの更新 Get(参照系)だけでも9割は再現出来る 管理画面とかとは相性が悪い
37.
まとめ shadow環境はバグを沢山見つけてくれる ミドルウェアの更新頻度が多い現代に合っている Fluentd上ならこういったことがCasualにできる
38.
ありがとう ございました
Download