外形監視はどうしてる！？クラウド管理型APの監視をJenkins&Seleniumで自動化してみた！

東日本電信電話株式会社
サービスクリエイション部)))

)))

石原慎也
森直樹

自己紹介
もりなおき

森 直樹
所属
メール
業務

東日本電信電話株式会社
サービスクリエイション部
クラウドアプリケーション担当

いしはらしんや石原 慎也
所属

naoki.mori.rf@east.ntt.co.jp

メール

クラウドを使用したソリューション開発、技術選定、運用業務等

業務

東日本電信電話株式会社
サービスクリエイション部
パブリッククラウド担当
shinya.ishihara.ca@east.ntt.co.jp

クラウドを使用したソリューション開発、運用業務等

NTT東日本では大規模通信サービスを東日本中に提供しています。
そのため障害時は大規模な影響が発生することも…

テーマ
クラウドの運用者のみなさん！このような経験をしてませんか？

「ユーザから利用できないの申告！」「クラウドベンダからは、何のエラー情報もなし」「上司からはエラー原因を報告しろ、ユーザからは早く治して、と催促...」そんな方も多いのではないでしょうか？
クラウドサービスは、責任分界モデルにより、クラウドベンダに多くの運用を任せることができて便利です
が一方で、エンタープライズサービスの提供会社として、クラウドベンダに任せたままでは一貫したサービスの信頼性を保つというのは簡単ではございません！
弊社ではどうやって解決したのかご紹介します！

高品質なサービス維持のために何万ユーザもつく大サービス

高品質なサービス維持のため障害にはいち早く対応がしたい！

しかし問題が…

問題点

障害発生から障害発生連絡まで数時間のラグが…

そもそも連絡がこないサイレント障害も…

これでは高品質なサービスの維持ができない！！

解決の方向性

ベンダへ高頻度で詳細な故障情報をもらえるように交渉
しかし我々のもとめるレベルの改善には至らず…

ベンダからの連絡を待つのはやめよう！
自分たちで故障を察知しよう！

ユーザの環境を再現して外形監視を行おう！

ユーザみなし試験ツールを作成！

要件• よりユーザと近い環境• よりたくさんのユーザ環境をシミュレートできる• 故障時は迅速に通知される• 影響範囲が一目で把握できる
この4点を重視して開発！

ユーザみなし試験ツール全体概要

試験用PC群（拠点A）

アクセスポイント指定された試験を実施

監視対象
クラウド群A

Jenkinsサーバ（本社）
VPN経由でSSH接続しスクリプト起動

試験用PC群（拠点B）

アクセスポイント

試験結果をメール通知

監視対象
クラウド群Bユーザみなし試験ツール詳細✓✓✓✓✓

スケジューリングキューイング

各試験シナリオの実行

Jenkins

シナリオ
実行スクリプト(Python)

Chromeの自動操作

Selenium

試験対象へのWebアクセス

Headless
Chrome： 処理の流れ(プロセス起動の親子関係)

メール送出スクリプト(email_util.py)

SSID接続スクリプト(ssid_connect.py)

SSID切断スクリプト(ssid_disconnect.py)

試験実施スクリプト(XXXXX.py)

ログ保存スクリプト(mk_dir.py)✓

試験結果メールの送信✓✓

Wi-FI接続
デフォルトルートの変更✓✓

Wi-FI切断
デフォルトルートの変更✓

各種試験仕様に則った試験の実施✓

ログファイルの保存苦労した点実際は正常状態であるはずであるにも関わらず、タイミングによって該当SSIDに接続できないことがあった。

障害の誤検知は避けたいが、単純にリトライを繰り返すと試験パターンが多いため、負荷となってしまう。

エクスポネンシャルバックオフのアルゴリズムを使い、誤検知を防ぎつつ、負荷をかけにくい仕組みで解決した。

成果① 監視対象のクラウドそのものは正常だがバックグラウンドのISP起因による障害を検知できたことで迅速な対応ができた。

アクセスポイント

インターネットサービスプロバイダ（ISP）

ISPで大規模障害が発生していたが、障害検知できた

監視対象
クラウド群

クラウド側は正常稼働している

成果② ブラックボックスだった監視対象クラウドの構造を理解でき、監視対象の効率化や自社で障害内容を特定することができた。

試験用PC群（拠点A）

アクセスポイント

監視対象
クラウド群A

アクセスポイント

監視対象
クラウド群B

Jenkinsサーバ（本社）
試験用PC群（拠点B）

今後の展望電話やメールで受けていたユーザからの障害報告により、手動で試験を実施し、結果を通知していたが自動化したい。
クラウドAのWi-Fiには接続できるが、インターネットに繋がらない。
要件抽出

ユーザみなし試験ツール
対象：クラウドA
障害：Wi-Fiには接続できる
インターネットに抜けられない・インターネットに繋がらないが、クラウドAのWi-Fiには接続できる。
・Wi-Fiには接続できるが、クラウドAではネットに接続できない。
・クラウドAのSSIDには接続できるが、ネットに繋がらない。

自然言語ではパターンが膨大でルールベースでは限界がある今後の展望
電話やメールで受けていたユーザからの障害報告により、手動で試験を実施し、結果を通知していたが自動化したい。

要件抽出

ユーザみなし試験ツール
対象：クラウドA
障害：Wi-Fiには接続できる
インターネットに抜けられない

大量の試験が必要

・クラウドAでインターネットに繋がらない。
・Wi-Fiには接続できるが、インターネットに繋がらない。
必要な要件が漏れてしまうと試験ができない

今後の展望生成AIを用いることで自然言語で入力した障害報告から自動試験に必要な要件に分解し、取り出すことが可能。
生成AIで要件抽出

ユーザみなし試験ツール
対象：クラウドA
障害：Wi-Fiには接続できる
インターネットに抜けられない・クラウドAのWi-Fiには接続できるが、インターネットに繋がらない。
・インターネットに繋がらないが、クラウドAのWi-Fiには接続できる。
・Wi-Fiには接続できるが、クラウドAではネットに接続できない。
・クラウドAのSSIDには接続できるが、ネットに繋がらない。

このような前後の単語が入れ替わっていたり、置き換わっていても対応可能

今後の展望生成AIを用いることで自然言語で入力した障害報告から自動試験に必要な要件に分解し、取り出すことが可能。
AIエージェント

Wi-Fiには接続できるが、インターネットに繋がらない。
どのクラウドか教えてください。

ユーザみなし試験ツール
対象：クラウドA
障害：Wi-Fiには接続できるインターネットに抜けられないクラウドAです。

AIエージェントを用いることで要件を揃えることが可能

・クラウドAでインターネットに繋がらない。
・Wi-Fiには接続できるが、インターネットに繋がらない。

今後の展望ユーザからの障害報告を生成AIで解釈し、適切な試験を自動で実施する仕組みを構築したい。
ユーザみなし試験ツール

AmazonConnect

AmazonConnect

LambdaSimple Email Service(SES)

Bedrock（Agents）

LambdaSES

まとめ● 外形監視は運用業務ではとても重要で大変だが、自動化したことで24時間365日漏れなく正確に行うことが可能● クラウド以外も含めて提供サービスをトータルで監視可能なため、より迅速で正確なサポートができ、ユーザの満足度向上に繋げることが可能● 内製開発をしたことで業務に則した開発が可能、クラウド側の仕様変更に迅速に対応が可能、拠点が増えても素早く対応可能● 今回の外形監視の仕組みはさまざまなシステムの監視に応用可能質疑応答

ご清聴ありがとうございました

本セッション資料や記載内容については一切の転用を禁止しております。
記載内容は2024年9月時点での情報です。
(使用期間2024/9/4～2025/9/3 K24-02194)