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
Azureを使った監視通知自動化
Search
Recruit Technologies
March 29, 2019
Technology
0
950
Azureを使った監視通知自動化
2019/3/29 Azure DevOps Tokyo, Japan 3rd strikeでの、西村の講演資料になります
Recruit Technologies
March 29, 2019
Tweet
Share
More Decks by Recruit Technologies
See All by Recruit Technologies
障害はチャンスだ! 障害を前向きに捉える
rtechkouhou
1
670
Flutter移行の苦労と、乗り越えた先に得られたもの
rtechkouhou
3
11k
ここ数年間のタウンワークiOSアプリのエンジニアのチャレンジ
rtechkouhou
1
1.5k
大規模環境をAWS Transit Gatewayで設計/移行する前に考える3つのポイントと移行への挑戦
rtechkouhou
1
1.9k
【61期 新人BootCamp】TOC入門
rtechkouhou
3
42k
【RTC新人研修 】 TPS
rtechkouhou
1
41k
Android Boot Camp 2020
rtechkouhou
0
41k
HTML/CSS
rtechkouhou
10
51k
TypeScript Bootcamp 2020
rtechkouhou
9
45k
Other Decks in Technology
See All in Technology
開発組織を進化させる!AWSで実践するチームトポロジー
iwamot
1
270
AWSを活用したIoTにおけるセキュリティ対策のご紹介
kwskyk
0
340
(機械学習システムでも) SLO から始める信頼性構築 - ゆる SRE#9 2025/02/21
daigo0927
0
260
【詳説】コンテンツ配信 システムの複数機能 基盤への拡張
hatena
0
230
"TEAM"を導入したら最高のエンジニア"Team"を実現できた / Deploying "TEAM" and Building the Best Engineering "Team"
yuj1osm
1
120
IAMポリシーのAllow/Denyについて、改めて理解する
smt7174
2
200
What's new in Go 1.24?
ciarana
1
110
手を動かしてレベルアップしよう!
maruto
0
200
Raycast Favorites × Script Command で実現するお手軽情報チェック
smasato
1
140
OPENLOGI Company Profile for engineer
hr01
1
20k
Cracking the Coding Interview 6th Edition
gdplabs
14
28k
CDKでカスタムランタイムを作成して、Lambdaをnode.js23+TypeScriptで動かしてみた
smt7174
2
110
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Git: the NoSQL Database
bkeepers
PRO
427
65k
Designing for Performance
lara
604
68k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
GraphQLとの向き合い方2022年版
quramy
44
14k
How STYLIGHT went responsive
nonsquared
98
5.4k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
366
25k
Faster Mobile Websites
deanohume
306
31k
Transcript
Azureを使った監視通知自動化 2019年3月29日 リクルートテクノロジーズ ELIXIR2G 西村美香
(C) Recruit Technologies Co.,Ltd. All rights reserved. 2 Agenda
自己紹介 担当領域について 背景・目的 現状の課題と解決の方向性 言っておきたいこと 実装イメージ 実装方式 Azureについて 結果・効果
(C) Recruit Technologies Co.,Ltd. All rights reserved. 3 西村 美香(にしむら
みか) 株式会社リクルートテクノロジーズ ITソリューション本部 インフラソリューション部 サーバ運用/ストレージ運用/splunk運用・活用/ APM/監視自動化/kubernetes/openshift 自己紹介 趣味:釣り、テニス、Fab 特技:絶対音感
(C) Recruit Technologies Co.,Ltd. All rights reserved. 4 担当領域について ポイント管理基盤
リクルートグループ内の各サービスで利用できる 共通IDのユーザが使うシステムを支えるインフラ 影響範囲がとても広くなってきている →Recruitpointサービス →Recruitpoint 個人情報 →PontaWeb アクセスできなくなったり・・・ ログインできなくなっちゃうんです! ELIXIRで 障害発生した場合 だから何があってもサービスを止められない!
(C) Recruit Technologies Co.,Ltd. All rights reserved. 5 背景・目的 障害検知・対応を迅速に実施したい!
復旧という観点でユーザー影響を少なくする 理想的な状態 ・障害発生からすぐに連絡が来る状態 →検知~切り分けまでを環境に依存することなく瞬時に行いたい ・スムーズに対応開始できる状態 →エラー内容を分かりやすく受け取りたい
(C) Recruit Technologies Co.,Ltd. All rights reserved. 6 現状と解決の方向性(障害検知~通知の自動化) 現状
パトランプで エラー検知 切り分けツールで 対応確認 運用担当者に連絡 自動化後 JP1から エラーメール 切り分け 監視センター Alchemist 人手による対応はベストエフォートの為、どれほど早くても10〜15分かかる JP1ログを自動で切り分け~通知によって 発生から数十秒で担当者が検知 *現在は並行運用中! 10分後:電話 15分後:メール 1分以内:Slack 電話(検証中) b..a..t..c..h.. 監視センターの人にアラートを 読み上げられても分からない。 結局メールを確認。 電話がきた時点でslackを見て 状況把握。
(C) Recruit Technologies Co.,Ltd. All rights reserved. 7 言っておきたいこと とにかく低価格で実装可能!
うちのインフラ、自動化に向いてないんだよなあ・・ 既存のインフラを変えずに自動化できないかなあ・・ ランニングコストが低く、初期費用もあまりかけずに いい感じのシステム作れないかなあ・・ こんな悩みもAzureなら解決!
(C) Recruit Technologies Co.,Ltd. All rights reserved. 8 実装イメージ 1.メール受信
3.Slack(電話) 通知 2.Azureで切り分け
(C) Recruit Technologies Co.,Ltd. All rights reserved. 9 実装方式 実現方式
JP1 監視対象 障害検知 メール送信 メール受信 JSON変換 (Javascript) メール取得 DB操作 定義 テーブル 抑止 対象? 通知 対象? cmn END END ELIXIR環境 Office365 Alchemist(Azure) Slack プログラムで扱いやすいオブジェクトに変換 監視パターンをテーブルに定義 オブジェクト化されたメールが 監視パターンとマッチするかをSQLで評価 通知パターン別に返り値をLogicAppsに返す 本案件の実装範囲 IDP ctx spg EAP RETURN_CASE_CODEの値に 合致する振り分け先に通知 サービスを繋げてくれる LogicAppsがとても便利 特殊対応定義 テーブル 特殊対応判別 人手で実施している判断を定義 Ex.) -日中/夜間、平日/休日など日時の判別 -xx分以内に復旧しなかったら通知
(C) Recruit Technologies Co.,Ltd. All rights reserved. 10 Azureについて クラウドサービスって色々ありますよね
その中でAzureを選択したきっかけは ワークフロー自動化ツールFlow Office365Basicのアカウント持ってるなら誰でも使える でももう少し細かく定義(開発)したい・・・
(C) Recruit Technologies Co.,Ltd. All rights reserved. 11 Azureについて ちなみに。。
その他のツールも いろいろ検討したけど 今回は割愛。
(C) Recruit Technologies Co.,Ltd. All rights reserved. 12 Azureについて ①システム連携を手軽に実装
→Logic Appとても便利! コーディング不要で複数のAPIを 組み合わせることができる ②運用コストがかからない →サーバのメンテナンス不要 サーバーレスのアーキテクチャ のためメンテナンス不要 LogicApps Azureにある豊富なAPIを フロー自動化で連携できる! Function SQL Database
(C) Recruit Technologies Co.,Ltd. All rights reserved. 13 結果・効果 ・検知から通知までの時間短縮
ー自動化前 10~15分 ー自動化後 数十秒 ・低コスト 検証環境含めて6千円/月 程度 → slack通知まで ・高精度 誤検知率0% 結果 効果 現場からも嬉しい声が! アラートへの対応スピードがUP! ・日中はAlchemistに通知が来たらすぐ対応 ・夜間休日対応時も電話を受け取った時点で PC立ち上げずにアラート内容を確認できる ・アラートをslackで遡れるため、過去の対応方法や発生頻度をすぐに確認できる 月の課金額 1日あたりの実行数:約3000回
(C) Recruit Technologies Co.,Ltd. All rights reserved. 14 ご清聴ありがとうございました