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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Hiroki Matsumoto
September 24, 2023
Technology
270
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
システム改善・育成のための障害対応訓練
Hiroki Matsumoto
September 24, 2023
More Decks by Hiroki Matsumoto
See All by Hiroki Matsumoto
CI/CD環境としてGitHub Actionsを選んだ理由
hirokimatsumoto
0
260
初めてのPSI試験 with Vault Associate
hirokimatsumoto
0
270
多数のプロダクトを開発・運用するためのツール環境
hirokimatsumoto
0
210
デプロイメント手法を選択する/Decide the way of deployment
hirokimatsumoto
2
1.1k
Podライフサイクルを体験する/ux-with-pod-lifecycle
hirokimatsumoto
1
590
Effective Container with VSCode Remote Container
hirokimatsumoto
0
180
GKE+Argo workflow
hirokimatsumoto
1
620
Ansibleをやろうと思ったきっかけ/The-reason-why-I-want-to-learn-Ansible
hirokimatsumoto
0
130
GraalVM Native Imageが 見せた未来/graalvm-native-image showed the future
hirokimatsumoto
2
560
Other Decks in Technology
See All in Technology
消えない 動かない 効かない
yama3133
1
120
10分で知る最近のOmarchy
komagata
0
280
2026-09-11 【Snowflake World Tour Tokyo 2026】Snowflakeを起点に、AI Agentが自律稼働し続ける未来へ / Driving AI Agents with Snowflake
civitaspo
0
380
Gitは怖い?共有ワークスペースから始めるSnowflakeチーム開発
coco_se
0
190
新機種発売前に見直そう!端末移行で再ログインが要るアプリ・要らないアプリは何が違うのか 〜シームレスに再開できる設計と実装〜
zozotech
PRO
0
140
Tab5をRubyで動くパソコンにする
kishima
2
360
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
1.2k
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
140
GoCon2026 - Open Source, Open World
sanposhiho
4
3.5k
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
2.8k
Snowflakeで実現する全社横断の顧客の声(VOC)分析・活用基盤@Snowflake World Tour Tokyo 2026
yuto16
0
200
10Xに技術的負債をもたらした「2つの境界の歪み」その構造と解消への営み
10xinc
0
700
Featured
See All Featured
HDC tutorial
michielstock
2
860
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
Building the Perfect Custom Keyboard
takai
2
870
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
320
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
500
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
350
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Tell your own story through comics
letsgokoyo
1
1.1k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
480
Transcript
システム改善・育成のための障害対応訓練 September 22, 2023 Matsumoto Hiroki Marketing Cloud Platform Department
Rakuten Group, Inc.
2 Profile 松本宏紀 ( Matsumoto Hiroki ) • Reliability Engineering
Team • Software Engineer • Joined Rakuten in 2020 • Published • OSS: Passenger Go Exporter • Presentation: デプロイメント⼿法を選択する ~ Flagger/Argo Rollouts ~ • GKE + Java + Cassandra → Ruby + Go + Kubernetes ( Private Cloud / AKS ) • Twitter : @hirokimatsumo13
3 経験値を引き継ぐ
4 Table of Contents 1. Assets 2. Training 3. Examples
5 Assets RunBook 障害発⽣時の取り扱い説明書。リカバリ⼿順などをアラートに対してリンク、またはアラート⾃体に埋め込 まれる。 Incident Report Template 障害発⽣時の報告⽤テンプレート。ユーザー視点で、どこにどのような影響が発⽣したのかを展開するため の形式。
Training 過去の障害発⽣や、システムの構成要素から障害を実際に発⽣させ、リカバリーまでを実際に経験し、シス テム上の問題や⼈の成⻑ポイントを確認する。
6 Training Trainee ☑ 基本的な事は⾃⼰学習で⾜りる ☑ 新卒1-3年⽬ ☑ 役割: Developer
+ Operator Trainer ☑ 運⽤経験3年以上 ☑ 対象プロダクト有識者 Manager ☑ レポート先 Training Environment ☑ トレーニング専⽤環境 Conductor ☑ 運⽤経験3年以上 ☑ 対象プロダクト有識者 擬似障害発⽣ 検知・影響範囲確認・原因特定・復旧 協⼒ 報告
7 Example 1: 応答遅延 Load Balancer Istio App Nginx Proxy
Pattern A Nginx request_time : 10 upstream_response_time : 10 App elpased_time : 10 Pattern B Nginx request_time : 10 upstream_response_time : 10 App elpased_time : 0.1 Pattern C Nginx request_time : 10 upstream_response_time : 0.1 App elpased_time : 0.1 https://nginx.org/en/docs/http/ngx_http_log_module.html https://nginx.org/en/docs/http/ngx_http_upstream_module.html Pattern A~Cはそれぞれどこで問題が発⽣してる︖
8 Example 1: 応答遅延 Nginx: request_time request processing time in
seconds with a milliseconds resolution; time elapsed between the first bytes were read from the client and the log write after the last bytes were sent to the client. 引⽤元︓https://nginx.org/en/docs/http/ngx_http_log_module.html
9 Example 1: 応答遅延 Load Balancer Istio App Nginx Proxy
障害発⽣⽅法 専⽤PGにてクライアントからパケ ット送信箇所に遅延を⼊れて再現 単純に⾼負荷にする ( CPU/Packet送受信 ) Istio fault-injectionの利⽤ 単純に⾼負荷にする ( CPU/Packet送受信 )
10 Example 1: 応答遅延 それぞれ計測される時間がどこからどこまでかを正確に把握する これを理解していないと、システムの問題であるかどうかも正確に把握できない状況に陥る可能性がある。 SLI (Service Level Indicator)として、どの部分がより適切であるかを理解する
APMなどでアプリケーション側だけの応答速度を計測するだけでは不⼗分である事を理解する。
11 Example 2: PromQLの正確性 sum(rate(istio_requests_total{reporter="destination", response_code=~"5.*"}[5m])) / sum(rate(istio_requests_total{reporter="destination"}[5m])) * 100
> 5 実際のシステムに反映する場合、どのような点に考慮すべきか︖
12 Example 2: PromQLの正確性 rate/irateの違い Range全体 / 最後2点での計算の差異。 https://prometheus.io/docs/prometheus/latest/querying/functions/ counter
resetへの考慮 https://github.com/prometheus/prometheus/issues/1673 そもそもcounterは0から始まるとは限らない。 定期的にリセットされる。 ※バージョンによって期間、動きの差異有り
13 Example 2: PromQLの正確性 reporter=destination or source destination側はretry分も含まれてしまう場合がある。また逆にmetricsが取れていない場合もある のでsource側での計測結果を主に利⽤している。 https://istio.io/latest/docs/reference/config/metrics/
response_flag response_flagを⾒て、istio側でどのような問題が発⽣してそのエラーを返したのか確認。 https://istio.io/latest/docs/reference/config/metrics/ https://www.envoyproxy.io/docs/envoy/latest/configuration/observability/access_log/usage#config-access- log-format-response-flags Istio App Nginx Proxy destination source
14 理論と実践 ⾒て学び、経験を得て⾃分のものにしていく。 「わからないけど、そうなってる」ではなく、なぜそうなってるかを理解していく。 ただ基本的にはそういった要素がなくなるように、システムを改善できると良い。
None