SlideShare a Scribd company logo
Submit Search
Upload
Login
Signup
サイボウズのサービスを支えるログ基盤
Report
Shin'ya Ueoka
Follow
Computer Programmer at Cybozu Inc.
Jul. 25, 2017
•
0 likes
•
47,045 views
1
of
29
サイボウズのサービスを支えるログ基盤
Jul. 25, 2017
•
0 likes
•
47,045 views
Download Now
Download to read offline
Report
Technology
Cybozu Meetup #6 大規模サービスを支える名脇役たちでの発表 https://cybozu.connpass.com/event/61329/
Shin'ya Ueoka
Follow
Computer Programmer at Cybozu Inc.
Recommended
遅いクエリと向き合う仕組み #CybozuMeetup
S Akai
14.7K views
•
26 slides
最高のリモート開発を実現するために取り組んでいること - Cybozu Tech Conference 2017
Yuki Okada
3.4K views
•
60 slides
すべての人にチームワークを サイボウズのアクセシビリティ
Kobayashi Daisuke
13.5K views
•
43 slides
サイボウズのオープンソースへの取り組み - OSC 2018 Osaka
Yuki Okada
16.1K views
•
41 slides
【MashupAwards11】kintoneのご紹介
Koji Asaga
852 views
•
27 slides
なぜ、サイボウズでアクセシビリティなのか?
力也 伊原
16.6K views
•
102 slides
More Related Content
What's hot
あなたの言葉で伝えるWebアクセシビリティ
Kobayashi Daisuke
9.8K views
•
54 slides
UXを損ねる静的コンテンツ配信アンチパターン7選
Yuki Okada
5.4K views
•
34 slides
サイボウズがre:Inventに参加した話し。
Koji Asaga
982 views
•
30 slides
kintone dev camp vol.11 kintoneの基本説明
kintone papers
1.5K views
•
29 slides
gusukuではじめるデベロッパーフレンドリーなキントーンのアプリ管理_金春氏&どりぃ氏
kintone papers
1.5K views
•
35 slides
チームで取り組む!サイボウズのアクセシビリティ 開発プロセスにアクセシビリティをインクルードする | GAAD Japan 2021
Kobayashi Daisuke
552 views
•
16 slides
What's hot
(20)
あなたの言葉で伝えるWebアクセシビリティ
Kobayashi Daisuke
•
9.8K views
UXを損ねる静的コンテンツ配信アンチパターン7選
Yuki Okada
•
5.4K views
サイボウズがre:Inventに参加した話し。
Koji Asaga
•
982 views
kintone dev camp vol.11 kintoneの基本説明
kintone papers
•
1.5K views
gusukuではじめるデベロッパーフレンドリーなキントーンのアプリ管理_金春氏&どりぃ氏
kintone papers
•
1.5K views
チームで取り組む!サイボウズのアクセシビリティ 開発プロセスにアクセシビリティをインクルードする | GAAD Japan 2021
Kobayashi Daisuke
•
552 views
Webアクセシビリティの現状ダイジェスト 2014
Mitsue-Links Co.,Ltd. Accessibility Department
•
15K views
サイトをアクセシブルにするための受発注のセオリー
力也 伊原
•
2K views
kintonecafefukushima-vol1-20161001
kintone papers
•
489 views
kintone devCamp Vol.10 ルックアップのことだけ、考えた。
kintone papers
•
3.1K views
baserCMSのエコシステムが目指すもの
tecking
•
1.2K views
WikiWikiアジャイル
Fumio Kawakami
•
1K views
管理部門の仕事をチームから組織にした話
Yukie Ozaki
•
747 views
上司が信用できない会社の内部統制~第32回WebSig会議「便利さと、怖さと、心強さと〜戦う会社のための社内セキュリティ 2013年のスタンダードとは?!...
WebSig24/7
•
291.2K views
[db tech showcase Tokyo 2017] E21: InfluxDB+αで時系列データの異常検知を可視化してみた by 株式会社インサイ...
Insight Technology, Inc.
•
3.2K views
Devrel#8_オンラインのエンゲージメントを考える_jawsug_bgnr
Kahori Takeda
•
160 views
アジャイルパラレル開発
Fumio Kawakami
•
942 views
Webアクセシビリティ なぜ?どうやって?
Mitsue-Links Co.,Ltd. Accessibility Department
•
2.8K views
Web制作者が知っておきたいアクセシビリティ最新動向
Mitsue-Links Co.,Ltd. Accessibility Department
•
8.2K views
私はこうやってSlackを社内で流行らせました
NHN テコラス株式会社
•
67.9K views
Viewers also liked
すべてを自動化せよ! 〜生産性向上チームの挑戦〜
Jumpei Miyata
17.3K views
•
51 slides
サイボウズのフロントエンド開発 現在とこれからの挑戦
Teppei Sato
20.5K views
•
75 slides
あなたの開発チームには、チームワークがあふれていますか?
Yusuke Amano
36.2K views
•
45 slides
Api Strat Portland 2017 Serverless Extensibility talk
Glenn Block
4.1K views
•
28 slides
WalB: Real-time and Incremental Backup System for Block Devices
uchan_nos
5.2K views
•
37 slides
3000社の業務データ絞り込みを支える技術
Ryo Mitoma
11.4K views
•
72 slides
Viewers also liked
(20)
すべてを自動化せよ! 〜生産性向上チームの挑戦〜
Jumpei Miyata
•
17.3K views
サイボウズのフロントエンド開発 現在とこれからの挑戦
Teppei Sato
•
20.5K views
あなたの開発チームには、チームワークがあふれていますか?
Yusuke Amano
•
36.2K views
Api Strat Portland 2017 Serverless Extensibility talk
Glenn Block
•
4.1K views
WalB: Real-time and Incremental Backup System for Block Devices
uchan_nos
•
5.2K views
3000社の業務データ絞り込みを支える技術
Ryo Mitoma
•
11.4K views
Jenkins 2.0 最新事情 〜Make Jenkins Great Again〜
Jumpei Miyata
•
7.4K views
離れた場所でも最高のチームワークを実現する方法 ーサイボウズ開発チームのリモートワーク事例ー
Teppei Sato
•
20.7K views
Kubernetes in 30 minutes (2017/03/10)
lestrrat
•
29.2K views
Atlassian Summit US 2017 #augj
グロースエクスパートナーズ株式会社/Growth xPartners Incorporated.
•
11.6K views
プロジェクト管理でkintone
Cybozucommunity
•
70.3K views
Kubernetesにまつわるエトセトラ(主に苦労話)
Works Applications
•
29.4K views
形態素解析
Works Applications
•
14.7K views
小さく始める大規模スクラム
Keisuke Tsukagoshi
•
35K views
缶詰屋さんの課題解決にスクラムを使ってみた
Toshiyuki Ohtomo
•
16.8K views
重要なのはリサーチ・プランニング・プロトタイプの三本柱
Yuya Toida
•
8.5K views
Next-generation Python Big Data Tools, powered by Apache Arrow
Wes McKinney
•
12.9K views
シリコンバレーの「何が」凄いのか
Atsushi Nakada
•
183.3K views
ログ基盤をGDPで運用してIQを下げたい話(Supership 古谷遼)
Supership株式会社
•
2.4K views
報奨金制度の近況について
Yuriko Otsuka
•
7.6K views
Similar to サイボウズのサービスを支えるログ基盤
インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは
Shin'ya Ueoka
10.4K views
•
31 slides
AWSオンリーで実現するIoTクラウド基盤
Godai Nakamura
395 views
•
105 slides
Automation with SoftLayer and Zabbix
softlayerjp
1.5K views
•
52 slides
Data API + AWS = (CMS どうでしょう 札幌編)
Yuji Takayama
2.6K views
•
40 slides
基幹システムでOSSは使えるのか?oss採用から見直す運用管理コスト
UNIRITA Incorporated
1.7K views
•
29 slides
Intalio会社概要とIntalio Bopの特長 030109
Tomoaki Sawada
1.3K views
•
79 slides
Similar to サイボウズのサービスを支えるログ基盤
(20)
インフラ刷新プロジェクト「Neco」が目指す最高のクラウドとは
Shin'ya Ueoka
•
10.4K views
AWSオンリーで実現するIoTクラウド基盤
Godai Nakamura
•
395 views
Automation with SoftLayer and Zabbix
softlayerjp
•
1.5K views
Data API + AWS = (CMS どうでしょう 札幌編)
Yuji Takayama
•
2.6K views
基幹システムでOSSは使えるのか?oss採用から見直す運用管理コスト
UNIRITA Incorporated
•
1.7K views
Intalio会社概要とIntalio Bopの特長 030109
Tomoaki Sawada
•
1.3K views
[大図解]ピグライフはこう動いている
Akihiro Kuwano
•
12.3K views
サイボウズ リモートサービス ご提案資料
Cybozucommunity
•
9.4K views
楽天インターネットスケーラブルコンピューティング;丸山先生レクチャーシリーズ2010第3回@楽天
Hiro Yoshioka
•
1.5K views
Kintone hands on
twilioforkwc
•
1.5K views
MA2016 kintone 紹介
kintone papers
•
590 views
チャットサービス運用の舞台裏
Hiroaki Nagata
•
2K views
Intalio BPMS V5 Advantage (Japanese)
Tomoaki Sawada
•
599 views
Tibco mashery資料
TAKESHI KIURA
•
854 views
サイボウズ Officeユーザーのためのクラウド移行講座
Cybozucommunity
•
3.1K views
イマドキのソフトウェア開発プロジェクトの流れ
Takashi Takebayashi
•
990 views
kintone café 大阪 Vol.1
Koji Asaga
•
2.2K views
クラウド鎖国からクラウド維新へ
Cybozucommunity
•
4K views
MA2017 kintone説明
kintone papers
•
2.3K views
GRAND FRONTEND OSAKA 2016 kintone説明
Yoshihiko Takeuchi
•
325 views
Recently uploaded
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
81 views
•
16 slides
テスト自動化.pdf
ssuserf8ea02
16 views
•
26 slides
GraphQLはどんな時に使うか
Yutaka Tachibana
6 views
•
37 slides
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
25 views
•
20 slides
IGDA Japan SIG Audio #20-1 室内・野外でのマイク収録と整音.pdf
IGDA Japan SIG-Audio
97 views
•
31 slides
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
57 views
•
12 slides
Recently uploaded
(8)
20230921_IoTLT_vol103_kitazaki_v1.pdf
Ayachika Kitazaki
•
81 views
テスト自動化.pdf
ssuserf8ea02
•
16 views
GraphQLはどんな時に使うか
Yutaka Tachibana
•
6 views
CCoE実践者コミュニティ#1_CCoEが進めるセキュリティカイゼンの旅.pptx
Tomoaki Tada
•
25 views
IGDA Japan SIG Audio #20-1 室内・野外でのマイク収録と整音.pdf
IGDA Japan SIG-Audio
•
97 views
遠隔お酌IoTLT2309.pptx
Yoshiaki Ito
•
57 views
松下研究室紹介_関西大学高槻キャンパスオープンキャンパス
Matsushita Laboratory
•
26 views
gtk4_gem_usage.pdf
ssuser0ef4681
•
11 views
サイボウズのサービスを支えるログ基盤
1.
サイボウズのサービスを 支えるログ基盤 ゼロからの刷新とこれから Cybozu Meetup #6,
2017-07-25 @ueokande Cybozu Inc.
2.
$ whois 上岡 真也 2016年サイボウズ入社 アプリケーション基盤チーム GitHub/Twitter:
@ueokande
3.
目次 cybozu.comのこれまでのログ基盤 ログ基盤のゼロからの刷新 新しいログ基盤のこれから
4.
cybozu.comの これまでのログ基盤
5.
cybozu.com
6.
cybozu.comとは 2011年にスタートした、企業向けクラウドサービス 契約社数 20,000社以上 ユーザ数70万人以上 リクエスト数1.7億/day
7.
cybozu.comを支えるインフラ 自社製データセンター ホスト数(実機 + VM):
1200程度 ログ量 20億 行/day, 800 GB/day (毎秒平均 23,000行 くらい)
8.
なぜログが重要か ログはWebサービスの健康状態を示す 障害対応の手がかり サービスの改善に役立てる 性能検証 ユーザの行動をビジネスに利用する
9.
これまでのcybozu.comのログ基盤 1. ログを毎分ローテート 2. ローテートされたログをtarに固める 3.
SSHでtarをストレージサーバーに転送 4. 転送が完了したログをホストから削除
10.
そろそろ限界... ログの増加にシステムが追いつかない スケールしたいけどできない 転送システムがSPOF 転送ホストが止まると、全体のログ転送が停止する ログを活用できていない 可視化・解析できていない、開発者以外が利用できていない
11.
ちくちょう。 刷新だ! Trying to crawl
here by Donnie Ray Jones | https://www.flickr.com/photos/donnieray/32890584381/
12.
ログ基盤のゼロからの刷新
13.
新ログ基盤の要件 ① at least
once ログを取りこぼすことなく集める ② 信頼性 どこかで障害が発生しても、全体の転送が止まらない ③ ログを活用できる ログを活用できるサービスを容易に導入できる
14.
新ログ基盤アーキテクチャ 出力されたログは Kafkaに転送 必要なサービスが Kafkaからログを取り出す
15.
Apache Kafkaとは pub/sub型の分散メッセージングシステム LinkedInが開発してOSS化した Twitter、Netflix、LINEなどの採用実績
16.
Apache Kafkaを使う理由 分散メッセージングサービス データはレプリケーションされるので、急にノードが死んでも大丈夫 ノードを追加することで容易にスケールできる pull型consumerのpub/subシステム データを購読する側が任意のタイミングでデータを読みだす 入力側・出力側が粗結合になり、それぞれ独自のタイミングで読み書きできる
17.
各ホストからKafkaへの転送 ログファイルの更新を監視してKafkaに送る ローテートされて転送が完了したログはディ スクから削除
18.
Kafka clusterから各サービス HBase ログをHadoop上に長期保存する Hive +
Presto ユーザの動向をクエリで検索・解析する Graylog ログの検索、監視
19.
At least once システム全体で、ログを取りこぼすことなく配送 どこかのホストが突然の死を遂げても、ログのデータロスが発生しない ログの重複は許す(≠
exactly once)
20.
At least once
| Kafkaへのログ転送 初めはFluentdでKafkaへ転送してたが、 at least onceを満たすことが難しいと判明 転送エージェントをGoで実装 状態はatomicに更新 ローテート後もしばらく監視
21.
At least once
| Kafkaからの転送 HiveやHBaseへの経路は冗長構成 HDFS上のファイル操作もatomicに更新する必 要がある
22.
信頼性とログの活用 信頼性 Kafka/Hadoopのノードが死んでも全体の転送は止まらない ラックの電源が落ちても大丈夫なように、同クラスタのノードはラックを分離 ログの活用 用途に応じて、様々なサービスを追加できた 新たなサービスを追加するのに、他の箇所に影響しない
23.
新ログ基盤の要件 at least once →
電源断してもデータロスが起こらないように設計 信頼性 → 冗長性をもたせたクラスタ構成とラック設計 ログを活用できる → Kafkを使うことで容易にサービスを追加できる
24.
苦労話 | 長いログの対応 Kafkaのレコード長には上限がある MySQLのスローログでは1行が10MBを超えるケースもある Kafkaのレコードに、断片化されたログかのフラグを付与 Kafkaからログを取り出す時、再び結合するのが少し大変
25.
苦労話 | 転送遅延 ある日、Kafkaからの転送が大きく遅延した 本番環境と同じ環境を開発環境に構成してたた め、早期に気付けた Kafkaのパラメータチューニングして解決
26.
苦労話 | journaldに悩まされる アプリケーションのログをjournaldに集める計画もあった 社内でjournaldを導入してみたらいろいろ問題が 長いログの行が勝手に分割される Disk
Full時にjournaldが死亡する 結局ファイル最強だった
27.
新しいログ基盤のこれから
28.
これからやっていきたいこと より良い製品づくりに役立てる ユーザデータを可視化・解析して製品改善に役立てる 必要なログやデータを組合せて、障害調査を加速させる 開発者以外も広く利用できる環境 エンジニア以外もログを利用できる環境の用意 ユーザへのサポートやマーケティングを効率化させる
29.
まとめ サイボウズのログ基盤が新しくなりました Kafka導入で「at least once」「信頼性」「ログを活用できる仕組み」を実現 これからもログをどんどん活かして、より良い製品づくりに役立てます