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
Yusuke Mito
September 15, 2021
Programming
0
1.5k
マイクロサービス環境における監視の効率化
2021/09/15 NRUG : New Relic User Group
Nerd Life Talk
Yusuke Mito
September 15, 2021
Tweet
Share
More Decks by Yusuke Mito
See All by Yusuke Mito
GraphQL Q&A
y310
7
3.7k
Ruby on Rails Introduction
y310
0
280
WWDC2014 これだけ押さえておけば間違いなし! おすすめセッションTOP10
y310
11
5.5k
NSUserDefaultsの中身を見る
y310
0
2.2k
xctoolで爆速テスト
y310
2
1.6k
Kibana入門
y310
62
51k
Other Decks in Programming
See All in Programming
英語文法から学ぶ、クリーンな設計の秘訣
newnomad
1
280
SLI/SLOの設定を進めるその前に アラート品質の改善に取り組んだ話
tanden
2
770
コンテナでLambdaをデプロイするときに知っておきたかったこと
_takahash
0
160
マルチアカウント環境での、そこまでがんばらない RI/SP 運用設計
wa6sn
0
670
海外のアプリで見かけたかっこいいTransitionを真似てみる
shogotakasaki
1
140
小さく段階的リリースすることで深夜メンテを回避する
mkmk884
2
140
Develop Faster With FrankenPHP
dunglas
2
2.9k
The Weight of Data: Rethinking Cloud-Native Systems for the Age of AI
hollycummins
0
220
Coding Experience Cpp vs Csharp - meetup app osaka@9
harukasao
0
590
今から始めるCursor / Windsurf / Cline
kengo_hayano
0
110
リアクティブシステムの変遷から理解するalien-signals / Learning alien-signals from the evolution of reactive systems
yamanoku
2
1.2k
SQL Server ベクトル検索
odashinsuke
0
140
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
39
7.2k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
A Modern Web Designer's Workflow
chriscoyier
693
190k
The Cost Of JavaScript in 2023
addyosmani
48
7.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Visualization
eitanlees
146
16k
Navigating Team Friction
lara
184
15k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
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