トラブルシューティングのあれこれ Yoshihiko kamata
-
Upload
rakuten-inc -
Category
Technology
-
view
132 -
download
0
Transcript of トラブルシューティングのあれこれ Yoshihiko kamata
![Page 1: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/1.jpg)
トラブルシューティングのあれこれ
Oct.28.2017
Kamata Yoshihiko
EC Incubation Development Dept.
Rakuten, Inc.
![Page 2: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/2.jpg)
![Page 3: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/3.jpg)
3
担当業務
• 管理サーバー/サービスの保守・運用
• 品質保証:なんでもレビュー
• サービス巻取りの先行部隊
• 圧縮
• 仕組み化
• トラブルシューティング∠( ゚д゚)/
• その他
![Page 4: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/4.jpg)
4
問題意識
![Page 5: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/5.jpg)
5
問題意識
• 急ぎのタスク、急ぎの調査依頼が、集中する。
• 育成に時間をかける余裕がない。
• 急ぎの(省略)
• やりたいことが出来ない。。。
![Page 6: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/6.jpg)
6
管理ではなく、開発者目線でお話したいと思います。
![Page 7: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/7.jpg)
7
トラブル
障害に限定せず、イレギュラーに発生して工数を奪っていくもの、とします。
![Page 8: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/8.jpg)
8
まずは事例をいくつか。。。
![Page 9: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/9.jpg)
9
状況
何十台かあるWEBサーバーのLogから情報を抽出して、fluentdを利用してDBにINSERT。
事象
全台でfluentdを起動してまもなくDBへ接続しにくい状況が発生。
![Page 10: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/10.jpg)
10
状況
リダイレクタを提供している。
URLの管理は、専用の管理画面を用意している。
事象
転送先を更新したが、スマホからアクセスすると、更新前のURLにリダイレクトされる。という利用者からの問合せ。
![Page 11: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/11.jpg)
11
状況
ファイルストアサービスを提供している。このサービスは、API経由で、ファイルを登録できる。
事象
提供しているAPIで、特定のファイルだけがTimeoutになりアップロードできない、という問合せ。
![Page 12: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/12.jpg)
![Page 13: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/13.jpg)
13
質問
トラブルシューティングの得意なメンバーはいますか?
![Page 14: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/14.jpg)
14
インフラ?
設計?仕様?
実装?
![Page 15: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/15.jpg)
15
苦手意識 障壁
![Page 16: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/16.jpg)
16
知識不足
• インフラ / システム構成
• 仕様 / 設計 / 実装 / データ
• 基礎技術
経験不足
• 考え方
• オペレーション
ストレス
• 失敗 / 間違い
• 催促
誤解
• INPUT エラー
• OUTPUT エラー
責任境界
• 権限
• 他者(社)サービス依存
![Page 17: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/17.jpg)
17
トラブルシューティングとは?
![Page 18: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/18.jpg)
18
“Troubleshooting”. techopedia. https://www.techopedia.com/definition/5574/troubleshooting, (参照 2017-
10-24).
![Page 19: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/19.jpg)
19
体系化された技術だっけ?
![Page 20: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/20.jpg)
20
体系化されたものはないが、おおよそセオリーと呼べそうなものはありそう。
• 事象の確認/情報収集
• 問題の切り分け
• 仮説を立てる 状況によっては、並列で動くことも
• 仮説の検証
• 対処
• 振り返り
• 落ち着いた状態で、見落としや、勘違いがないか考え直してみる。
![Page 21: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/21.jpg)
21
一般的な進め方は?
![Page 22: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/22.jpg)
22
一般的・・・は、分からないので、私が担当する場合の進め方
![Page 23: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/23.jpg)
23
全体像
一次情報の確認 仮説を立てる 仮説を検証
因果関係の逆転
原因推測可能 裏付けを取る
特定
![Page 24: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/24.jpg)
24
簡単な場合
例えば・・・
• Permission error
• ディスク容量不足
• Validateエラー
• File Not Found
他にも、過去に経験しているものなど
一次情報の確認
原因推測可能 裏付けを取る
特定
![Page 25: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/25.jpg)
25
ちょっと考える場合
一次情報の確認 仮説を立てる 仮説を検証 特定
![Page 26: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/26.jpg)
26
仮説が立たない!?
入手可能な情報は全て集めた。
結果から推測できる原因が考え付かない。。。
一次情報の確認 仮説を立てる 仮説を検証
因果関係の逆転
特定
何を原因と仮定すれば、この結果を導けるのか?
どうすれば、この事象が引き起こせるのか?
という発想で、仮説を立ててみる。
![Page 27: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/27.jpg)
27
得意な人とそうでない人の差って何?
![Page 28: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/28.jpg)
良くない例
![Page 29: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/29.jpg)
29
問合せ受領問合せ内容を元
に調査分からない 困る
![Page 30: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/30.jpg)
さらに良くない例
![Page 31: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/31.jpg)
31
問合せ受領問合せ内容を元
に調査外部に問合せ
回答受領
再調査
![Page 32: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/32.jpg)
![Page 33: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/33.jpg)
33
問合せ受領問合せ内容を元
に調査外部に問合せ
回答受領
再調査
![Page 34: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/34.jpg)
34
確認
• 客観性はあるか?
• 専門性はあるか?
問合せ受領問合せ内容を元
に調査外部に問合せ
回答受領
再調査
![Page 35: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/35.jpg)
35
その他
• LOGを見ない。(LOGがないケースも。。)
• その事象だけを考えている。
• ネット(blog等)の情報を過信する。
• 始めから一つの可能性しか考えない。
• コミュニケーションミス
など
![Page 36: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/36.jpg)
36
鉄則
![Page 37: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/37.jpg)
37
• 受け取った情報を疑う。
• 客観性はあるか?専門性はあるか?
• LOGを先ず確認する。得られる情報をかき集める。
• 一次情報を確認する癖を付ける。
• 情報の保全も重要。
• 点ではなく、線で考える。視野を広く持つ。
• どういう状況で起きているのか考える。
• トリガーは?
• 規則性はあるのか?
• ホウレンソウにあたっては、事実を伝えるように心がける。
![Page 38: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/38.jpg)
38
教訓
![Page 39: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/39.jpg)
39
• 情報
• 相手が上司でも疑う。
• 担当部署からの回答であっても疑う。
• 情報ソースの確認を怠らない。
• コミュニケーション
• 自分の言いたいことではなく、事実を伝える。
• 思っていることを事実であるかのように言わない。
• 心理状態
• 相手に無駄なプレッシャーをかけない。
• 冷静さを欠いてる時は手を止める。
![Page 40: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/40.jpg)
40
スキルアップするには?
![Page 41: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/41.jpg)
41
• 経験 ⇒ 同じ事象への対応力
• 場数 ⇒ 類似事象への対応力
• 過去の経験、あるいは事例の記憶 ⇒ スピードアップ
• 蓄積された情報へのアクセス手段 ⇒ 底上げに期待
• 過去事例とどう結び付けるか?
• 事例共有だけでは、トラブルシューティングのスキルは身に付かない。
• 同じ事象であっても、原因は様々。原因に至るプロセスまで含めて共有しなければ意味がない。
![Page 42: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/42.jpg)
42
• 良いものを知る。 ⇒ 未知の事象への対応力
※設計者の視点で考えられるようにする。
• プロダクトの設計情報を読む。
• そのプロダクトが何故作られたのか?他と何が違うのか?
• どういう点が工夫されているのか?
• 特徴として書かれていることは、どう実現されているのか?
重要なのは、アーキテクチャを理解すること。
• ソースコードを読む。
• クラスやメソッドがどう設計されているか読み取る。
![Page 43: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/43.jpg)
43
• テキスト操作技術 ⇒ 情報収集の精度・スピード
• 最終的にスピードを左右するのは、知識量
• Application
• 仕様理解
• 背景・経緯の理解
• アーキテクチャの理解
• 設計の理解
• 依存関係の理解
• データ(DB/File/Cache)構成ライフサイクルの理解
• ソースコードの把握
• Server
• 基礎知識
• OS / コマンド / 言語
• ネットワーク
• 周辺知識
• Dir/File構成
• Logの場所/出力内容
• 負荷調査スキル
![Page 44: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/44.jpg)
44
![Page 45: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/45.jpg)
![Page 46: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/46.jpg)
46
状況
何十台かあるWEBサーバーのLogから情報を抽出して、fluentdを利用してDBにINSERT。
事象
全台でfluentdを起動してまもなくDBへ接続しにくい状況が発生。
![Page 47: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/47.jpg)
47
状況
何十台かあるWEBサーバーのLogから情報を抽出して、fluentdを利用してDBにINSERT。
事象
全台でfluentdを起動してまもなくDBへ接続しにくい状況が発生。
対応
fluentdのlog
⇒ error="Too many connections“
DBの”max connections”及び、現在の接続数を確認
一次情報の確認
![Page 48: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/48.jpg)
48
状況
何十台かあるWEBサーバーのLogから情報を抽出して、fluentdを利用してDBにINSERT。
事象
全台でfluentdを起動してまもなくDBへ接続しにくい状況が発生。
対応
1.fluentdがDBに書き込む度に新しいConnectionを張って、Closeしてない?
2.低レイヤーでのBug?
3.仕様によるものなので、DB側の閾値を上げるべき?
仮説を立てる
![Page 49: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/49.jpg)
49
状況
何十台かあるWEBサーバーのLogから情報を抽出して、fluentdを利用してDBにINSERT。
事象
全台でfluentdを起動してまもなくDBへ接続しにくい状況が発生。
対応
閾値を上げる案に対しては、Connectionの増加スピードが不明だったため見送った。原因が分からないまま、閾値を上げても追いつく可能性もある。
DB登録を行うpluginは、Rubyのコードだった。DB接続を行う箇所が2箇所あり、一方はconnectionの変数を取り、closeまでしていたが、もう一方は、メソッドチェーンで記述されていて、closeしていなかった。
仮説を検証
![Page 50: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/50.jpg)
![Page 51: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/51.jpg)
51
状況
リダイレクタを提供している。URLの管理は、専用の管理画面を用意している。
事象
転送先を更新したが、スマホからアクセスすると、更新前のURLにリダイレクトされる。という利用者からの問合せ。
![Page 52: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/52.jpg)
52
状況
リダイレクタを提供している。URLの管理は、専用の管理画面を用意している。
事象
転送先を更新したが、スマホからアクセスすると、更新前のURLにリダイレクトされる。という利用者からの問合せ。
対応
管理画面の確認と、実際にブラウザでアクセスしてみて問合せにあったものと同じ事象が再現できることを確認。
一次情報の確認
![Page 53: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/53.jpg)
53
状況
リダイレクタを提供している。URLの管理は、専用の管理画面を用意している。
事象
転送先を更新したが、スマホからアクセスすると、更新前のURLにリダイレクトされる。という利用者からの問合せ。
対応
1.ブラウザでキャッシュしてしまっている?2.APP側で古い情報のキャッシュが残っている?(memcachedを利用している)3.そもそもどうやってリダイレクト指示してる?(ソースコード確認)
仮説を立てる
![Page 54: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/54.jpg)
54
状況
リダイレクタを提供している。URLの管理は、専用の管理画面を用意している。
事象
転送先を更新したが、スマホからアクセスすると、更新前のURLにリダイレクトされる。という利用者からの問合せ。
対応
1.ブラウザでキャッシュしてしまっている? ⇒ 履歴をクリアすると解消した2.APP側で古い情報のキャッシュが残っている? ⇒ キャッシュは更新されていた3.そもそもどうやってリダイレクト指示してる? ⇒ 301 Redirect
仮説を検証
![Page 55: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/55.jpg)
![Page 56: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/56.jpg)
56
状況
ファイルストアサービスを提供している。このサービスは、API経由で、ファイルを登録できる。
事象
提供しているAPIで、特定のファイルだけがTimeoutになりアップロードできない、という問合せ
![Page 57: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/57.jpg)
57
状況
ファイルストアサービスを提供している。このサービスは、API経由で、ファイルを登録できる。
事象
提供しているAPIで、特定のファイルだけがTimeoutになりアップロードできない、という問合せ
対応
通常の監視でレスポンス遅延が起きていないことは分かっているので、
利用者側の環境からAPIへの経路上の問題、あるいは利用者側の実装の問題と推測。原因推測可能
![Page 58: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/58.jpg)
58
状況
ファイルストアサービスを提供している。このサービスは、API経由で、ファイルを登録できる。
事象
提供しているAPIで、特定のファイルだけがTimeoutになりアップロードできない、という問合せ
対応
ファイルの拡張子と実体がずれていないか、バイナリエディタで確認。実際に、APIに直接アクセスしてアップロードできることを確認。
裏付けを取る
![Page 59: トラブルシューティングのあれこれ Yoshihiko kamata](https://reader031.fdocuments.net/reader031/viewer/2022021500/5a64797d7f8b9a46568b46ed/html5/thumbnails/59.jpg)