Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
マイクロサービス環境における監視の効率化
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Yusuke Mito
September 15, 2021
Programming
1.8k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
マイクロサービス環境における監視の効率化
2021/09/15 NRUG : New Relic User Group
Nerd Life Talk
Yusuke Mito
September 15, 2021
More Decks by Yusuke Mito
See All by Yusuke Mito
GraphQL Q&A
y310
7
3.8k
Ruby on Rails Introduction
y310
0
330
WWDC2014 これだけ押さえておけば間違いなし! おすすめセッションTOP10
y310
11
5.6k
NSUserDefaultsの中身を見る
y310
0
2.2k
xctoolで爆速テスト
y310
2
1.6k
Kibana入門
y310
62
51k
Other Decks in Programming
See All in Programming
ユニットテストの先へ:テスト技法で要求・仕様を整理するJava開発実践 / Beyond_Unit_Testing_Practical_Java_Development_Techniques_for_Organizing_Requirements_and_Specifications
shimashima35
0
390
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
490
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
3.6k
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
210
Oxlintのカスタムルールの現況
syumai
6
1.1k
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
代数的データ型って何が嬉しいの? #frontend_phpcon_do
kajitack
8
3.3k
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
160
Technical Debt: Understanding it Rightly, Engaging it Rightly #LaravelLiveJP
shogogg
0
210
TypeScript+Orvalで実現する型安全かつ堅牢でスケーラブルなマルチチャネル通知基盤 / TSKaigi Night talks ~after conference~
d0riven
0
320
RTSPクライアントを自作してみた話
simotin13
0
520
Featured
See All Featured
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
1.2k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
250
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
720
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
410
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
We Are The Robots
honzajavorek
0
240
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
140
How to Think Like a Performance Engineer
csswizardry
28
2.6k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
570
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Transcript
Mobility Technologies Co., Ltd. マイクロサービス環境における監視の効率化 株式会社Mobility Technologies 技術戦略部SREグループ 水戸祐介
Mobility Technologies Co., Ltd. 2 水戸 祐介 Twitter: @y_310 株式会社Mobility
Technologies (通称MoT) SREグループ タクシーアプリ「GO」を作っている会社です。 自己紹介
Mobility Technologies Co., Ltd. 3 ▪ AWSを中心にGCPも使用 ▪ Kubernetesベースの共通基盤をEKS、GKEの上で動かし社内に提供 ▪
ネームスペース20以上、デプロイメント80以上、Pod数600以上 ▪ マイクロサービスアーキテクチャを取っていることで比較的小規模なサービスが大量 にあり、毎月のように新たなサービスが増えている状況 以上の環境をSREグループ4名で運用 MoTのインフラ環境
Mobility Technologies Co., Ltd. 4 ▪ 毎月のように増えるサービスに対して個別対応していると早々にコントロール不能に なる ▪ 不十分な監視体制のままリリースされる
▪ 同じような構成のサービスなのに監視項目に差異が生じる ▪ 他サービスの知見が生かされない マイクロサービスにおける監視の課題 効率化しなければ破綻する 一貫した監視のポリシーを設 計し自動化する
Mobility Technologies Co., Ltd. 5 ▪ メトリクスの設計 ▪ メトリクスの収集 ▪
メトリクスの利用 ▪ 可視化 ▪ アラート設定 監視のタスク分解
Mobility Technologies Co., Ltd. 6 ▪ メトリクスの設計 ▪ メトリクスの収集 ▪
メトリクスの利用 ▪ 可視化 ▪ アラート設定 監視のタスク分解
Mobility Technologies Co., Ltd. 7 The Four Golden Signals (*)をベースに監視すべきメトリクスを設計
▪ Latency ▪ アプリケーションのレスポンスタイム ▪ Traffic ▪ アプリケーションのRPS ▪ Errors ▪ アプリケーションのエラー数 ▪ Saturation ▪ アプリケーションやミドルウェアのリソース使用率(CPU、メモリ等) メトリクスの設計 - 監視ポイント * Site Reliability Engineering - Chapter 6 https://sre.google/sre-book/monitoring-distributed-systems/#xref_monitoring_g olden-signals
Mobility Technologies Co., Ltd. 8 ▪ メトリクスの設計 ▪ メトリクスの収集 ▪
メトリクスの利用 ▪ 可視化 ▪ アラート設定 監視のタスク分解
Mobility Technologies Co., Ltd. 9 メトリクスの収集 Latency レスポンスタイム Traffic RPS
Errors エラー数 アプリケーションのメトリクス MoT環境ではService MeshとしてIstioを導入しておりIstio経 由でサービス間通信のメトリクスを取得できる newrelic-istio-adapterでNew Relicに送信
Mobility Technologies Co., Ltd. 10 メトリクスの収集 Saturation CPU/Memory/etc インフラのメトリクス KubernetesのワーカーノードやAWS
RDS、SQS などのクラウドリソースのメトリクス New Relic Infrastructure Agent New Relic Infrastructure Integration でNew Relicに送信
Mobility Technologies Co., Ltd. 11 これらはKubernetesクラスタやクラウド側で予めセット アップしておくもの メトリクスの収集 newrelic-istio-adapter New
Relic Infrastructure Agent New Relic Infrastructure Integration つまりマイクロサービス単位での個別設定なしで必要なメト リクスを自動的に収集できる
Mobility Technologies Co., Ltd. 12 ▪ メトリクスの設計 ▪ メトリクスの収集 ▪
メトリクスの利用 ▪ 可視化 ▪ アラート設定 監視のタスク分解
Mobility Technologies Co., Ltd. 13 ▪ 必要なメトリクスが集まったため後はNRQLで好きなようにダッシュボード化、アラート 設定ができる メトリクスの利用 Traffic,
Errors, Latency アプリケーションのメトリクス Saturation Podのメトリクス Saturation クラウドリソースのメトリクス
Mobility Technologies Co., Ltd. 14 ▪ マイクロサービスを作る度にこれらのダッシュボードやアラートを作成するのは手間 が大きすぎるためTerraformで自動化する メトリクスの利用
Mobility Technologies Co., Ltd. 15 ▪ ダッシュボードはmodule化し、クラウドリソースのパネル のみオプションで表示を制御 ▪ アラートは以下の単位でmoduleを作成
▪ アプリケーションアラート ▪ クラウドリソースアラート ▪ RDS ▪ SQS ▪ DynamoDB ▪ etc ▪ マイクロサービス毎に必要なアラートを組み合わせて設 定 Terraformによる自動化 固定 オプションで必要 なリソースのみ表 示 固定
Mobility Technologies Co., Ltd. 16 Terraformのディレクトリ構成 ▪ terraform ▪ modules
▪ newrelic-dashboard/main.tf ▪ newrelic-application-alerts/main.tf ▪ newrelic-rds-alerts/main.tf ▪ newrelic-...-alerts/main.tf ▪ service1 ▪ development/main.tf ▪ production/main.tf ▪ service2 ▪ service3 Terraformによる自動化 ダッシュボードモジュール アプリケーションアラートモジュール - エラー数、レスポンスタイムなど RDSアラートモジュール - コネクション数、CPU使用率など service1で使用するモジュールを定義するテンプレート service1のインフラリソース service2のインフラリソース
Mobility Technologies Co., Ltd. 17 Terraformによる自動化 モジュールを読み込んでサービスに合った閾値を設定するだけ で必要なダッシュボードとアラートが作成される 共通ダッシュボードモジュール 共通アプリケーションアラートモジュール
共通クラウドリソースアラートモジュール
Mobility Technologies Co., Ltd. 18 ▪ マイクロサービス環境では新規サービスの立ち上げが頻繁に発生するため自動化 が不可避 ▪ 汎用的なメトリクス設計を元にメトリクスの収集から利用まで自動化することで効率
的な運用が可能になる ▪ New RelicはNRQLの柔軟性と性能によってマイクロサービスの監視を楽にしてくれる まとめ
文章·画像等の内容の無断転載及び複製等の行為はご遠慮ください。 Mobility Technologies Co., Ltd. 19