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
障害対応を自動化した話 / 20220609_Automation
Search
Rakus_Dev
June 09, 2022
Technology
0
860
障害対応を自動化した話 / 20220609_Automation
Rakus_Dev
June 09, 2022
Tweet
Share
More Decks by Rakus_Dev
See All by Rakus_Dev
AIは精算業務をどう変える? 自律型エージェントが実現する未来のワークフロー / RAKUS AI Meetup-1
rakus_dev
0
5
メールディーラーにおけるAI活用事例 ~クレーム検知機能リリースの舞台裏~ / RAKUS AI Meetup-2
rakus_dev
0
5
ラクス開発本部のAI駆動開発推進事例 / RAKUS AI Meetup-3
rakus_dev
0
12
読書シェア会 vol.5 / Yumemi.grow 20250526
rakus_dev
0
1.6k
PdM採用とAIの製品活用を同時に頑張ってみた話 / EM oasis 20250418
rakus_dev
0
170
多様なマネジメント経験から導き出した、事業成長を支えるEMの4つのコンピテンシー / 4 Key EM Competencies for Growth
rakus_dev
2
2.2k
圧倒的な『顧客志向』の文化の創り方 / Product Engineer Night 20250221
rakus_dev
0
250
読書シェア会 vol.2 / Yumemi.grow 20250225
rakus_dev
0
160
ラクスCTOが語る顧客視点を重視したプロダクト開発 / RAKUSTechCon2024_Kude
rakus_dev
0
3.1k
Other Decks in Technology
See All in Technology
AWS Summit Japan 2025 Community Stage - App workflow automation by AWS Step Functions
matsuihidetoshi
1
270
Javaで作る RAGを活用した Q&Aアプリケーション
recruitengineers
PRO
1
110
CI/CD/IaC 久々に0から環境を作ったらこうなりました
kaz29
1
170
2年でここまで成長!AWSで育てたAI Slack botの軌跡
iwamot
PRO
4
720
生成AI活用の組織格差を解消する 〜ビジネス職のCursor導入が開発効率に与えた好循環〜 / Closing the Organizational Gap in AI Adoption
upamune
4
2.8k
第9回情シス転職ミートアップ_テックタッチ株式会社
forester3003
0
240
セキュリティの民主化は何故必要なのか_AWS WAF 運用の 10 の苦悩から学ぶ
yoh
1
160
変化する開発、進化する体系時代に適応するソフトウェアエンジニアの知識と考え方(JaSST'25 Kansai)
mizunori
1
220
Node-REDのFunctionノードでMCPサーバーの実装を試してみた / Node-RED × MCP 勉強会 vol.1
you
PRO
0
110
Witchcraft for Memory
pocke
1
360
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全 / 20250625-aws-summit-aws-policy
opelab
9
1.1k
PHPでWebブラウザのレンダリングエンジンを実装する
dip_tech
PRO
0
200
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
7
700
A better future with KSS
kneath
239
17k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.8k
Speed Design
sergeychernyshev
32
1k
Practical Orchestrator
shlominoach
188
11k
Agile that works and the tools we love
rasmusluckow
329
21k
Code Review Best Practice
trishagee
68
18k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
5.9k
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. ご清聴ありがとうございました