Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Azureを使った監視通知自動化

 Azureを使った監視通知自動化

2019/3/29 Azure DevOps Tokyo, Japan 3rd strikeでの、西村の講演資料になります

Recruit Technologies

March 29, 2019
Tweet

More Decks by Recruit Technologies

Other Decks in Technology

Transcript

  1. (C) Recruit Technologies Co.,Ltd. All rights reserved. 2 Agenda 

    自己紹介  担当領域について  背景・目的  現状の課題と解決の方向性  言っておきたいこと  実装イメージ  実装方式  Azureについて  結果・効果
  2. (C) Recruit Technologies Co.,Ltd. All rights reserved. 3 西村 美香(にしむら

    みか) 株式会社リクルートテクノロジーズ ITソリューション本部 インフラソリューション部 サーバ運用/ストレージ運用/splunk運用・活用/ APM/監視自動化/kubernetes/openshift 自己紹介 趣味:釣り、テニス、Fab 特技:絶対音感
  3. (C) Recruit Technologies Co.,Ltd. All rights reserved. 4 担当領域について ポイント管理基盤

    リクルートグループ内の各サービスで利用できる 共通IDのユーザが使うシステムを支えるインフラ 影響範囲がとても広くなってきている →Recruitpointサービス →Recruitpoint 個人情報 →PontaWeb アクセスできなくなったり・・・ ログインできなくなっちゃうんです! ELIXIRで 障害発生した場合 だから何があってもサービスを止められない!
  4. (C) Recruit Technologies Co.,Ltd. All rights reserved. 5 背景・目的 障害検知・対応を迅速に実施したい!

    復旧という観点でユーザー影響を少なくする 理想的な状態 ・障害発生からすぐに連絡が来る状態 →検知~切り分けまでを環境に依存することなく瞬時に行いたい ・スムーズに対応開始できる状態 →エラー内容を分かりやすく受け取りたい
  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を見て 状況把握。
  6. (C) Recruit Technologies Co.,Ltd. All rights reserved. 7 言っておきたいこと とにかく低価格で実装可能!

    うちのインフラ、自動化に向いてないんだよなあ・・ 既存のインフラを変えずに自動化できないかなあ・・ ランニングコストが低く、初期費用もあまりかけずに いい感じのシステム作れないかなあ・・ こんな悩みもAzureなら解決!
  7. (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分以内に復旧しなかったら通知
  8. (C) Recruit Technologies Co.,Ltd. All rights reserved. 10 Azureについて クラウドサービスって色々ありますよね

    その中でAzureを選択したきっかけは ワークフロー自動化ツールFlow Office365Basicのアカウント持ってるなら誰でも使える でももう少し細かく定義(開発)したい・・・
  9. (C) Recruit Technologies Co.,Ltd. All rights reserved. 11 Azureについて ちなみに。。

    その他のツールも いろいろ検討したけど 今回は割愛。
  10. (C) Recruit Technologies Co.,Ltd. All rights reserved. 12 Azureについて ①システム連携を手軽に実装

    →Logic Appとても便利! コーディング不要で複数のAPIを 組み合わせることができる ②運用コストがかからない →サーバのメンテナンス不要 サーバーレスのアーキテクチャ のためメンテナンス不要 LogicApps Azureにある豊富なAPIを フロー自動化で連携できる! Function SQL Database
  11. (C) Recruit Technologies Co.,Ltd. All rights reserved. 13 結果・効果 ・検知から通知までの時間短縮

    ー自動化前 10~15分 ー自動化後 数十秒 ・低コスト 検証環境含めて6千円/月 程度 → slack通知まで ・高精度 誤検知率0% 結果 効果 現場からも嬉しい声が! アラートへの対応スピードがUP! ・日中はAlchemistに通知が来たらすぐ対応 ・夜間休日対応時も電話を受け取った時点で PC立ち上げずにアラート内容を確認できる ・アラートをslackで遡れるため、過去の対応方法や発生頻度をすぐに確認できる 月の課金額 1日あたりの実行数:約3000回