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
840
障害対応を自動化した話 / 20220609_Automation
Rakus_Dev
June 09, 2022
Tweet
Share
More Decks by Rakus_Dev
See All by Rakus_Dev
多様なマネジメント経験から導き出した、事業成長を支えるEMの4つのコンピテンシー / 4 Key EM Competencies for Growth
rakus_dev
1
880
圧倒的な『顧客志向』の文化の創り方 / Product Engineer Night 20250221
rakus_dev
0
110
読書シェア会 vol.2 / Yumemi.grow 20250225
rakus_dev
0
110
ラクスCTOが語る顧客視点を重視したプロダクト開発 / RAKUSTechCon2024_Kude
rakus_dev
0
2.6k
マルチプロダクトでのプロダクトマネージャーのリアル / RAKUSTechCon2024_Inagaki
rakus_dev
4
4.5k
拡大するマルチプロダクトSaaSの顧客理解にデザイン組織はどう取り組んでいるか / RAKUSTechCon2024_Design
rakus_dev
0
2.4k
急成長する大規模プロダクト開発のマネジメント課題とアプローチ / RAKUSTechCon2024_Seisan
rakus_dev
0
2.3k
パフォーマンス向上とリソース管理のためのアプローチ / RAKUSTechCon2024_RLC
rakus_dev
0
2.2k
急成長するサービスを支えるためのインフラ戦略 / RAKUSTechCon2024_Fujii
rakus_dev
0
2.3k
Other Decks in Technology
See All in Technology
Exadata Database Service on Cloud@Customer セキュリティ、ネットワーク、および管理について
oracle4engineer
PRO
2
1.5k
急成長する企業で作った、エンジニアが輝ける制度/ 20250227 Rinto Ikenoue
shift_evolve
0
130
MIMEと文字コードの闇
hirachan
2
1.4k
Potential EM 制度を始めた理由、そして2年後にやめた理由 - EMConf JP 2025
hoyo
2
2.6k
偏光画像処理ライブラリを作った話
elerac
1
170
分解して理解する Aspire
nenonaninu
2
1.1k
ESXi で仮想化した ARM 環境で LLM を動作させてみるぞ
unnowataru
0
180
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
2
370
Change Managerを活用して本番環境へのセキュアなGUIアクセスを統制する / Control Secure GUI Access to the Production Environment with Change Manager
yuj1osm
0
100
OSS構成管理ツールCMDBuildを使ったAWSリソース管理の自動化
satorufunai
0
640
30→150人のエンジニア組織拡大に伴うアジャイル文化を醸成する役割と取り組みの変化
nagata03
0
170
技術スタックだけじゃない、業務ドメイン知識のオンボーディングも同じくらいの量が必要な話
niftycorp
PRO
0
100
Featured
See All Featured
Gamification - CAS2011
davidbonilla
80
5.2k
Embracing the Ebb and Flow
colly
84
4.6k
What's in a price? How to price your products and services
michaelherold
244
12k
Writing Fast Ruby
sferik
628
61k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
Producing Creativity
orderedlist
PRO
344
40k
RailsConf 2023
tenderlove
29
1k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
A designer walks into a library…
pauljervisheath
205
24k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
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. ご清聴ありがとうございました