Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
障害対応を自動化した話 / 20220609_Automation
Rakus_Dev
June 09, 2022
Technology
0
520
障害対応を自動化した話 / 20220609_Automation
Rakus_Dev
June 09, 2022
Tweet
Share
More Decks by Rakus_Dev
See All by Rakus_Dev
新サービスのプロジェクト推進に向けた、トライ&エラー / 20221109_kawasaki
rakus_dev
0
360
レガシーになりゆく システムとの向き合い方 / 20221005_inoue
rakus_dev
0
840
PMMやプロダクト関係者と協働するために役割を整理した話 / 20220810_pdmtipslt
rakus_dev
0
230
既存システムのフロントエンド・バックエンド分離 / meetup0706-seki
rakus_dev
0
640
プロダクトデザイン組織の 新しい取り組み / meetup0706-onoda
rakus_dev
1
560
横断部門としての取り組み紹介(研究開発、共通基盤開発) / rakus-meetup-202206
rakus_dev
0
1k
若手が可読性を上げるために気を付けたこと / 20210707_readablelt_nazato
rakus_dev
0
1.3k
リーダブルなPHPDocを目指して / 20210707-readablelt-nishihara
rakus_dev
0
1.3k
インフラエンジニアとしての成長記 / 20220302_Meetup_maekawa
rakus_dev
0
620
Other Decks in Technology
See All in Technology
NGINXENG JP#2 - 3-NGINX Plus・プロダクトのアップデート
hiropo20
0
250
CUEとKubernetesカスタムオペレータを用いた新しいネットワークコントローラをつくってみた
hrk091
1
290
SmartHRからOktaへのSCIM連携で作り出すHRドリブンのアカウント管理
jousysmiler
1
120
03_ユーザビリティテスト
kouzoukaikaku
0
530
re:Invent2022 前後の Amazon EventBridge のアップデートを踏まえつつ、情シスの仕事をより楽しくしたい話。 / EventBridge for Information Systems Department
_kensh
2
750
金属加工屋の営業マンがSTマイクロで・・・
usashirou
0
170
S3とCloudWatch Logsの見直しから始めるコスト削減 / Cost saving S3 and CloudWatch Logs
shonansurvivors
0
250
230125 古いタブレットの活用 かーでぃさん
comucal
PRO
0
16k
2年で10→70人へ! スタートアップの 情報セキュリティ課題と施策
miekobayashi
1
640
DNS権威サーバのクラウドサービス向けに行われた攻撃および対策 / DNS Pseudo-Random Subdomain Attack and mitigations
kazeburo
5
1.3k
Raspberry Pi Camera 3 介紹
piepie_tw
PRO
0
160
Periodic Multi-Agent Path Planning
hziwara
0
120
Featured
See All Featured
Facilitating Awesome Meetings
lara
33
4.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
6
840
Why You Should Never Use an ORM
jnunemaker
PRO
49
7.9k
Designing with Data
zakiwarfel
91
4.2k
Designing for humans not robots
tammielis
245
24k
How New CSS Is Changing Everything About Graphic Design on the Web
jensimmons
214
12k
Web development in the modern age
philhawksworth
197
9.6k
The Mythical Team-Month
searls
210
40k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
175
9.1k
Unsuck your backbone
ammeep
659
56k
Infographics Made Easy
chrislema
235
17k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
2
400
Transcript
#RAKUSMeetup ©2019 RAKUS Co., Ltd. ©2019 RAKUS Co., Ltd. 障害対応を自動化した話
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 自己紹介 • 名前:下西 章王 (しもにし
あきおう) • 出身:大阪 • 趣味:ゴルフ、野球、サウナ、麻雀、etc… • 所属:ラクス インフラ開発部 • 業務内容:インフラを担当してます。 コーポレートサイト・サービスサイトの運用・保守 メール配信システムの運用・保守
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 今日話すこと • 自動化した内容 • 使ったツールの話
• こんなことしました • まとめ
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 自動化した内容
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 自動化した内容 メール配信システムの話 • 障害の内容 •
RabbitMQにメールキューをためているのですが、アプリのバグ?でなぜかキューが1つ残り 続けてしまうことがあります。 • このままでは残ったキューが配信されず、残り続けてしまい、読者に届かない… • 復旧方法はアプリを再起動すれば直る アプリ インターネット キューに残り続ける 再起動で復旧
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 自動化した内容 メール配信システムの話 作業時間は5~10分くらいなのですが、 毎回アラートが上がるたびにPCを起動して… アプリ再起動させて…
キューがなくなったの確認して… とめんどくさい。。。 そしてまぁまぁな頻度で発生する…(ならすと1日1回以上…) ヨシ。自動化しよう。
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 使ったツールの話
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 使ったツールの話 • Prometheus (監視のデータ収集) •
Grafana (監視データの描画・アラート発砲) • Django (Pythonのフレームワーク) • Rundeck (ジョブ実行ツール) 上記を使って自動化しました。
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 構成
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 構成 アプリ
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 構成 MQを監視 アプリ
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 構成 キューが残っている アラートを検知 アプリ
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 構成 Webhookで Djangoに通知 アプリ
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 構成 APIを叩いて ジョブを実行 アプリ
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 構成 アプリを再起動 アプリ
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 構成 キューを取得し配信 アプリ
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 構成 アプリ 復旧を検知
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 構成 MQを監視 アプリ アラート発砲 ジョブを実行
アプリを再起動 キューを取得し配信
#RAKUSMeetup ©2019 RAKUS Co., Ltd. 使ったツールの話 当時、Rundeckはwebhookを受けられなかったので、仕方なくDjangoを挟みまし たが、現在ではRundeckもwebhookを受けられるようになっています。 これで、Djangoを挟まずに自動復旧ができるようになりました。 が、まだ使ってはいない。。。
#RAKUSMeetup ©2019 RAKUS Co., Ltd. まとめ
#RAKUSMeetup ©2019 RAKUS Co., Ltd. まとめ GrafanaからRundeckへ連携ができるようになったことで、障害の自動復旧がやり やすくなりました。 手順が決まっているような障害には使えるはず… 無駄な作業は機械にやらせてしまいましょう。
自動復旧に頼ってしまうとそもそもの根本原因の解決が後回しになってしまうこ とは注意が必要です。 (この件でいうと障害の根本原因を解決していないのは内緒。)
#RAKUSMeetup ©2019 RAKUS Co., Ltd. ご清聴ありがとうございました