Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
マイクロサービスのログ可視化
Search
SHIFT EVOLVE
PRO
July 26, 2021
Business
520
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
マイクロサービスのログ可視化
SHIFT EVOLVE
PRO
July 26, 2021
More Decks by SHIFT EVOLVE
See All by SHIFT EVOLVE
価値実現重視へとシフトした時代を生き抜くには / 20260713 Takeshi Watarai
shift_evolve
PRO
1
33
SHIFTのコミュニティ活動 / 20260828 Yumiko Ohata
shift_evolve
PRO
2
67
AI活用によるレガシーモダナイゼーションとプロジェクトマネジメント / 20260827 Tsukasa Takemura & Takashi Maekawa
shift_evolve
PRO
0
48
兼務の事務局から、組織へ SHIFTのAWSアライアンス立ち上げ記 / 20260807 Satoshi Torano
shift_evolve
PRO
1
66
AIは実装を速くする。では、私たちは何を今作るべきか?-立場を越えてリリースに向き合ったチーム開発の実践 / 20260801 Hiromi Nakaya and Naoki Takahashi
shift_evolve
PRO
3
1.2k
Issue設計から始める仕様駆動開発 / 20260731 Mizuki Hirata
shift_evolve
PRO
1
250
”そのまま移行”からの脱却へ ― AI解析で実現するSAP S/4HANA導入成功メソッド / 20260729 Akio Hane
shift_evolve
PRO
1
56
区民の問い合わせ、AIにどこまで任せる? 品川区×SHIFTが挑む自治体音声AI実証の現在地 / 20260626 Taku Nishizawa and Satoshi Torano
shift_evolve
PRO
1
99
コミュニティを、仕事にした。‐ 学びの場が会社の価値になるまで / 20260724 Ayana Chandler
shift_evolve
PRO
0
140
Other Decks in Business
See All in Business
なぜデベロッパーアドボカシーが必要なのか?
taiponrock
PRO
0
160
セーフィー株式会社(Safie Inc.) 会社紹介資料
safie_recruit
8
470k
エンジニアの示唆に溢れている漫画『HUNTER×HUNTER』
shinyasaita
0
170
PLAID ALPHA概要資料_202608
plaid
PRO
0
310
20260813_ブラジル産鶏肉『ほぼ半額』報道の裏側_AI推測
doradora09
PRO
0
130
株式会社TableCheck - 会社紹介 Company Profile
tablecheckac
0
9.6k
どうせなら「楽しい仕事」をする
kozotaira
0
320
AIがなくてもつよいPM/PdM/ディレクターになるには?
iflection
0
880
About APPLE WORLD
appleworld
0
14k
2026.9_中途採用資料.pdf
superstudio
PRO
5
120k
ラス恋カンパニーデック_260907
laskoi
0
260
個人的に感動した サクラエディタの機能2026822 ゆるweb
mikikosaka
6
6.3k
Featured
See All Featured
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
480
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
450
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
240
Building a Scalable Design System with Sketch
lauravandoore
463
34k
How to Ace a Technical Interview
jacobian
281
24k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Designing Experiences People Love
moore
143
24k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
510
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
410
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
510
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
Transcript
マイクロサービス の ログ可視化 ~分散トレーシング導入してみた~ 技術推進部オートメーションG 秋葉 啓充 2021/07/21
アジェンダ • マイクロサービスの課題 • 分散トレーシングの紹介 • 実際に導入してみた
マイクロサービスの課題 • マイクロサービスは、互いのサービスへの影響を最小限化した疎結合なモデルで構成されています。裏を返せば、 1つのリクエストにもかかわらず、複数のサービスをまたいで処理をしなければなりません。 • 故にリクエスト全体の流れを分析することが難しくなり、そのままではトレーサビリティの低下を招くことになります。 3 どのサービスがつながっているんだ??
4 そこで!!
分散トレーシングの紹介 • 分散トレーシングとは、SpanとTraceという考え方でマイクロサービスのアプリケーションの監視やトラブルシュー ティング障害が発生した場所とパフォーマンスの低下の原因を特定します。 5 • Spanとは、1回のsqlの実行や、1回の外部へのリクエストなど、各操作の開始から終了を表します。 • Traceとは、全体の開始から終了までのSpanの集合です。
分散トレーシング Jaeger Jaegerは、UberTechnologiesによってオープンソースとしてリリースされた分散トレースシステム です。 次のようなマイクロサービスベースの分散システムの監視とトラブルシューティングに使用され ます。 • 分散コンテキストトレース • 分散トランザクション監視
• 根本原因分析 • サービス依存性分析 • パフォーマンス/レイテンシーの最適化 6 https://www.jaegertracing.io/
Jaeger技術仕様 Jaegerの技術仕様は以下の通り • フロントエンドはReactによるUI実装 • バックエンドはGoによる実装 • サポートストレージバックエンド • Cassandra
3.4+ • Elasticsearch 5.x, 6.x • メモリストレージ 7
8 実際に導入してみた
案件概要 4月 5月 6月 ・案件ご相談 ・お客様環境に見合ったログ監視サービス検討 ・分散トレーシング機能試験導入 ・分散トレーシング機能ブラッシュアップ お客様
教育業界 スケジュール 体制図 9
ソフトウェア構成図 10
実際に起きた出来事 11 5 月 6 月 • EKSにログを取得する仕組みがない為、そもそもログをどうやって集約してよいかがわからない • 出ているログを分析してみたが、統計を知ったところで使いどころがイメージがつかない
• ElasticSearch Service があまりにも高い • ベトナムのホーチミンロックダウンに伴うオフィス出勤が禁止 • ログ監視サービスが定まらない • 他サービスが、忙しくてクライアントを導入ができない • VPCの上限数に到達してサービス稼働できない • サービスURLがデプロイの度に毎度変わるので連絡が追いつかない • ログを参照したが、そもそもログがほとんど出ていない • ログ監視サービスを見られる人と見られない人がいる • サービス選択時に訳の分からない数値が出ていると言われる • UIが直感的に使えないという意見をもらう • 検索ができない、動かないと言われる • 膨大な資料を英語で渡される • これではエラー補足できないという意見をもらう • 各サービスがプロトコル・言語・フレームワークが統一されているわけではない • …… etc
ログ監視サービスが定まらない 開発会社 事例の 多さ AWS マネージド 導入 経験 特徴 Jaeger
Uberが 開発 〇 - 〇 • Zipkinを 元に作成 X-Ray Amazon が開発 △ 〇 - • サービスマップ 作成 Instana Instana が開発 〇 - △ • パフォーマンス モニタリング Datadog Datadog が開発 △ - - • ダッシュボード による可視化 Zipkin Twitter が開発 〇 - - • Javaで作成 12 • ログ監視サービスが乱立していてどれにするか決められない • 導入経験があり、デファクトのJaegerを試すことにした
• 直感的に使えない(≒使い慣れていない)という意見と解釈して以下の対応を行いました • 操作マニュアル・ビデオを整備して配布 • 検索条件に正規表現を使用できるように変更 • 普段からローカルログで見るのではなく、Jaeger UI を使ってもらうようエスカレーション
13 UIが直感的に使えないという意見をもらう
これではエラー補足できないという意見をもらう 14 { “log”: “2021-06-11 05:05:22.039 [Account Service] XX.XXX.XXX.XX Root=1-XXXXXX-405811633a68259804ed32cd
PATCH /accounts/api/userinfo http-hogehoge-58081-exec-10 INFO jp.XXXXX.XXXXXX.account.infrastructure.XXXXX.XXXConfiguration 185 XXXAPIの結果メッセージ=¥"[BKE_0003](PF02)データベースの更新に失敗しました (TBL_PERSONAL)¥"¥n", "stream": "stdout" } エラーメッセージをINFOレベルで 出力しているケースなども散見される ログの出力レベルの統一の為に ログフォーマット出力ガイドラインを作成して展開
まとめ • 分散トレーシングを導入してみても、 そもそもログが適切に吐かれていないとつらい 15 • マイクロサービスを可視化するには、 分散トレーシングが有効
ご清聴ありがとうございました