IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立システムズの特許一覧

<>
  • 特開-監視システムおよび監視方法 図1
  • 特開-監視システムおよび監視方法 図2
  • 特開-監視システムおよび監視方法 図3
  • 特開-監視システムおよび監視方法 図4
  • 特開-監視システムおよび監視方法 図5
  • 特開-監視システムおよび監視方法 図6
  • 特開-監視システムおよび監視方法 図7
  • 特開-監視システムおよび監視方法 図8
  • 特開-監視システムおよび監視方法 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024147352
(43)【公開日】2024-10-16
(54)【発明の名称】監視システムおよび監視方法
(51)【国際特許分類】
   G06F 11/07 20060101AFI20241008BHJP
   G06F 11/34 20060101ALI20241008BHJP
【FI】
G06F11/07 181
G06F11/07 140A
G06F11/34 147
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023060306
(22)【出願日】2023-04-03
(71)【出願人】
【識別番号】000233491
【氏名又は名称】株式会社日立システムズ
(74)【代理人】
【識別番号】110000062
【氏名又は名称】弁理士法人第一国際特許事務所
(72)【発明者】
【氏名】那須 弘志
(72)【発明者】
【氏名】高村 啓輝
【テーマコード(参考)】
5B042
【Fターム(参考)】
5B042JJ29
5B042KK13
5B042MA08
5B042MA14
5B042MA16
5B042MC22
5B042MC35
5B042MC37
(57)【要約】
【課題】本発明では、システム管理者に対して適切な通知を行う技術を提供することを目的とする。
【解決手段】本発明の監視システムの一つは、業務システムの稼働状況を示す監視指標を取得し、監視指標が正常であるとみなされる範囲を示すベースラインを算出する監視指標分析部と、業務システムに対する運用作業と運用作業の実施期間を示す運用作業情報を取得する運用作業情報取得部と、ベースラインおよび運用作業情報に基づいて、業務システムに関する通知を行う通知判定部と、を備え、通知判定部は、監視指標がベースラインを逸脱した期間である外れ値発生期間を検出し、外れ値発生期間と運用作業情報の間に関連性がある場合、異常を示す通知である異常通知を行わず、外れ値発生期間と運用作業情報の間に関連性がない場合、異常通知を行う。
【選択図】図1

【特許請求の範囲】
【請求項1】
業務システムを監視し、異常を通知する監視システムであって、
前記業務システムの稼働状況を示す監視指標を取得し、監視指標が正常であるとみなされる範囲を示すベースラインを算出する監視指標分析部と、
前記業務システムに対する運用作業と前記運用作業の実施期間を示す運用作業情報を取得する運用作業情報取得部と、
前記ベースラインおよび前記運用作業情報に基づいて、前記業務システムに関する通知を行う通知判定部と、を備え、
前記通知判定部は、
前記監視指標が前記ベースラインを逸脱した期間である外れ値発生期間を検出し、
前記外れ値発生期間と前記運用作業情報の間に関連性がある場合、異常を示す通知である異常通知を行わず、
前記外れ値発生期間と前記運用作業情報の間に関連性がない場合、前記異常通知を行う、監視システム。
【請求項2】
請求項1に記載の監視システムであって、
前記通知判定部は、
前記外れ値発生期間と前記実施期間の間に重複する部分がない場合、前記異常通知を行わず、
前記外れ値発生期間と前記実施期間の間に重複する部分がある場合、前記異常通知を行う、監視システム。
【請求項3】
請求項2に記載の監視システムであって、
前記通知判定部は、
前記外れ値発生期間と前記実施期間の間のずれが許容期間以内である場合、前記外れ値発生期間と前記実施期間の間に重複する部分があるとみなし、前記異常通知を行う、監視システム。
【請求項4】
請求項1に記載の監視システムであって、
前記運用作業情報は、前記業務システムのシステム管理者によって入力される、監視システム。
【請求項5】
請求項1に記載の監視システムであって、
前記通知判定部は、前記業務システムに対して行われた操作ログを取得し、前記操作ログに基づいて前記運用作業および前記実施期間を検出する、監視システム。
【請求項6】
請求項1に記載の監視システムであって、
前記業務システムの前記稼働状況を示すインターフェース部と、
前記監視システムの外部の通知サービスを経由して通知を行う外部通知部と、をさらに備え
前記通知判定部は、
前記外れ値発生期間と前記運用作業情報の間に関連性がある場合、前記インターフェース部を用いて前記異常通知を行わず、
前記外れ値発生期間と前記運用作業情報の間に関連性がない場合、前記インターフェース部または前記外部通知部の少なくともいずれかを用いて前記異常通知を行う、監視システム。
【請求項7】
請求項1に記載の監視システムであって、
前記業務システムは仮想マシンである、監視システム。
【請求項8】
業務システムを監視し、異常を通知する監視方法であって、
前記業務システムの稼働状況を示す監視指標を取得し、監視指標が正常であるとみなされる範囲を示すベースラインを算出する監視指標分析ステップと、
前記業務システムに対する運用作業と前記運用作業の実施期間を示す運用作業情報を取得する運用作業情報取得ステップと、
前記ベースラインおよび前記運用作業情報に基づいて、前記業務システムに関する通知を行う通知判定ステップと、を備え、
前記通知判定ステップは、
前記監視指標が前記ベースラインを逸脱した期間である外れ値発生期間を検出する検出ステップと、
前記外れ値発生期間と前記運用作業情報の間に関連性がある場合、異常を示す通知である異常通知を行わず、
前記外れ値発生期間と前記運用作業情報の間に関連性がない場合、前記異常通知を行う異常通知ステップと、をさらに有する監視方法。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、監視システムおよび監視方法に関する。
【背景技術】
【0002】
従来から、仮想マシンが形成されたシステムにおいて、システムを監視し異常を検知する方法が知られている。
【0003】
例えば、特許文献1は、少なくとも一つのHCIノード103~105及びこのHCIノード103~105と通信可能に構成され、HCIノード103~105の稼働情報を取得して異常検知を行う上位管理基盤100を有する計算機システムSであって、HCIノード103~105は、HCIノード103~105において実行されるイベントに関連するHCIノード103~105のリソース、及び、イベントによるHCIノード103~105の影響の種別を含むイベント通知テーブル113を作成し、上位管理基盤100に送信し、稼働情報は、HCIノード103~105のリソースの負荷を含んでおり、上位管理基盤100は、稼働情報とイベント通知テーブル113とを用いて異常検知を行う、技術が開示されている。
これによって、特許文献1においては、学習モデルに基づいた異常検知機能時に、本来不必要な通知によって発生する確認作業が削減される。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2022-28208号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、従来の機械学習によるシステム異常検知においては、ソフトウエアアップデート等の運用作業により発生する不定期かつ想定内の挙動が、誤って異常と見なされる場合がある。つまり、本来であれば必要のない通知がシステム管理者に発せられ、システム管理者を煩わせることになる。特許文献1では、このような不要な通知の発生について想定されていない。
そこで、本発明では、システム管理者に対して適切な通知を行う技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記の課題を解決するために、代表的な本発明の監視システムの一つは、業務システムを監視し、異常を通知する監視システムであって、前記業務システムの稼働状況を示す監視指標を取得し、監視指標が正常であるとみなされる範囲を示すベースラインを算出する監視指標分析部と、前記業務システムに対する運用作業と前記運用作業の実施期間を示す運用作業情報を取得する運用作業情報取得部と、前記ベースラインおよび前記運用作業情報に基づいて、前記業務システムに関する通知を行う通知判定部と、を備え、前記通知判定部は、前記監視指標が前記ベースラインを逸脱した期間である外れ値発生期間を検出し、前記外れ値発生期間と前記運用作業情報の間に関連性がある場合、異常を示す通知である異常通知を行わず、前記外れ値発生期間と前記運用作業情報の間に関連性がない場合、前記異常通知を行うものである。
【発明の効果】
【0007】
本発明によれば、システム管理者に対して適切な通知を行うことができる。
上記した以外の課題、構成および効果は、以下の実施をするための形態における説明により明らかにされる。
【図面の簡単な説明】
【0008】
図1図1は、監視システムの構成を示す図である。
図2図2は、メトリクス分析サービスにおける分析の一例を示す図である。
図3図3は、操作ログ収集サービスにおける運用作業の検出の一例を示す図である。
図4図4は、運用作業情報記憶部に保存される運用作業スケジュールの一例を示す図である。
図5図5は、通知判定部の動作を説明する図である。
図6図6は、通知判定部が行う外れ値発生期間の検出方法を示す図である。
図7図7は、通知判定部が行う外れ値発生期間と運用作業との関連性の判断方法を示す図である。
図8図8は、IF部の表示の一例を示す図である。
図9図9は、第1実施形態に係る作用・効果を示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して、本発明の実施形態について説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
【0010】
本開示において、「クラウドサービス」とは、ネットワーク、サーバ、ストレージ、ソフトウエア、データなどのインフラストラクチャ(以下、「インフラ」ともいう。)および通信資源(リソース)をインターネットなどの通信ネットワークを通じて提供すること、または提供されるインフラおよび通信資源を指す。インフラおよびコンピュータ資源には、サービスをも含む。
また、「サービス」という用語を用いる場合、例えば「情報収集サービス」という場合、情報収集の機能を実現するためのインフラおよびコンピュータ資源を意味する。
【0011】
「オペレーションシステム(OS)」とは、コンピュータとユーザの間のユーザインターフェースとして機能する基本ソフトウエアである。アプリケーション(以下、「アプリ」ともいう。)とは、コンピュータのOS上で動作するソフトウエアのことを指す。
「仮想マシン(VM)」とは、物理的なハードウエア構成によらずに形成されたソフトウエア上で実現されたコンピュータのことを指す。
「プログラム」とは、一般的にはソフトウエアを指すところ、本開示においてはクラウドサービスによって提供される機能およびシステムの意味を含む。
【0012】
[第1実施形態]
(監視システムの構成)
図1は、監視システム1の構成を示す図である。監視システム1は、インフラ管理サービス10と、メトリクス分析サービス20と操作ログ収集サービス30と可視化通知サービス40によって構成される。
【0013】
(インフラ管理サービス)
インフラ管理サービス10は、クラウドサービスによって構成されるシステムである。インフラ管理サービス10は、業務システム11、データベース(DB)部16、メトリクス監視サービス17、操作ログ監視サービス18、ネットワーク19、を含む。
【0014】
業務システム11は、企業における特定の業務を行うために構成されたシステムであり、例えば在庫管理システムや会計管理システムや顧客管理システムなどが含まれる。業務システム11は、仮想的なメモリの機能および仮想的なCPUの機能を有する仮想マシンである。業務システム11は、OS12とウイルス対策ソフト13と業務アプリ14と情報収集エージェント15を有する。
【0015】
OS12は、業務システム11における基本ソフトウエアである。OS12は、運用作業者の入力操作に基づいて、ウイルス対策ソフト13、業務アプリ14、および情報収集エージェント15を動作させる。ウイルス対策ソフト13は、業務システム11をウイルスから防御するためのソフトウエアである。例えば、ウイルス対策ソフト13は、業務システム11に侵入したウイルスを駆除したり、業務システム11から出力されるファイルにウイルスが含まれていないかどうかをチェックしたりする。また、ウイルス対策ソフト13は、外部のコンピュータや仮想マシンとの間の通信状況を監視してウイルスの侵入を予防するファイアウォールの機能を備えている場合もある。業務アプリ14は、業務システム11に要求される特定の機能を行うためのアプリケーションである。
【0016】
業務システム11に含まれる構成は、これに限定されない。例えば、文書作成や電子メールを使用するための汎用アプリが含まれていてもよい。
【0017】
データベース(DB)部16は、業務システム11において用いられるデータまたは業務システム11において生成されたデータを保存する。
【0018】
メトリクス監視サービス17は、インフラ管理サービス10内のリソースのメトリクスに関する情報を収集する。具体的には、メトリクスとしては、サーバのリソース状況(CPU使用率(稼働率)、メモリ使用量等)、サービス状況(レイテンシ、トランザクション量、エラーレート等)が含まれる。メトリクス監視サービス17は、収集したメトリクスの情報を後述するメトリクス分析サービス20へ送信する。
【0019】
情報収集エージェント15は、業務システム11内のリソースに関するメトリクスの情報を収集する機能を有するソフトウエアである。情報収集エージェント15は、メトリクス監視サービス17が取得するメトリクスの情報より詳細な情報を取得できる。例えば、CPU使用率に関しては「ユーザCPU使用率」と「システムCPU使用率」を取得できる。また、業務アプリに関して「リクエスト数/秒」「リクエストエラー率/秒」「レスポンス時間」を取得できる。情報収集エージェント15は、収集したメトリクスの情報を後述するメトリクス分析サービス20へ送信する。
【0020】
操作ログ監視サービス18は、運用作業者が業務システム11に行った操作に関する情報を収集し、操作ログとして保持する。操作ログとしては、運用作業者のログイン情報、情報の操作履歴、情報にアクセスした時間等が含まれる。操作ログ監視サービス18は、操作ログを後述する操作ログ収集サービス30へ送信する。
【0021】
メトリクス監視サービス17および操作ログ監視サービス18は、インフラ管理サービス10の情報資源を使用して上述の機能を実現する。業務システム11とメトリクス監視サービス17の間および業務システム11と操作ログ監視サービス18の間にはネットワーク19が設けられており、ネットワーク19を介して情報が伝達される。
【0022】
なお、本開示では、業務システム11を、異常を検知する監視対象である仮想マシン(VM1)として説明するが、仮想マシンは1つに限定されない。複数の仮想マシンが形成され、それぞれの仮想マシンを検出対象としてもよい。
【0023】
(メトリクス分析サービス)
メトリクス分析サービス20は、メトリクスに関する情報を分析する機能を有する。例えば、メトリクス分析サービス20は、メトリクスが正常であるとみなされる範囲を示すベースラインを算出する。メトリクス分析サービス20の機能については後述する。
【0024】
(操作ログ収集サービス)
操作ログ収集サービス30は、監視データに含まれる操作ログにもとづいて、業務システム11に対して行われた運用作業と運用作業の実施期間を示す運用作業情報を取得する機能を有する。操作ログ収集サービス30の機能については後述する。
【0025】
(可視化通知サービス)
可視化通知サービス40は、情報取得部41および43、監視・分析情報記憶部42、操作ログ記憶部44、運用作業情報記憶部45、通知判定部46、インターフェース部(以下、「IF部」ともいう。)47、外部通知部47a、副インターフェース部(以下、「副IF部」)ともいう。)48、副外部通知部48aを含む。
【0026】
情報取得部41は、監視データに含まれるメトリクスおよびメトリクスの分析データに関する情報をメトリクス分析サービス20から取得し、監視・分析情報記憶部42へ保存するためのプログラムである。監視・分析情報記憶部42は、メトリクスの監視データおよび分析データを保存する。情報取得部43は、操作ログおよび運用作業に関する情報を操作ログ収集サービス30から取得し、操作ログ記憶部44へ保存する。操作ログ記憶部44は、操作ログおよび運用作業に関する情報を保存する。運用作業情報記憶部45は、運用作業が行われる期間に関する情報を保存する。
【0027】
通知判定部46は、監視・分析情報記憶部42、操作ログ記憶部44、運用作業情報記憶部45から情報を取得し、運用作業および監視データの検証を行う。通知判定部46は、監視・分析情報記憶部42から取得したベースラインと操作ログ記憶部44または運用作業情報記憶部45から取得した運用作業情報に基づいて通知を行う。通知判定部46は、システム管理者または運用作業者のいずれに通知を行うか判断をする。
【0028】
IF部47は、業務システム11の稼働状況を示すものであり、監視システムを運営するシステム管理者に向けて設けられている。IF部47は、ユーザインターフェースとして、例えば表示機能を有している。また、IF部47は、システム管理者の入力操作を受け付ける機能を有している。IF部47は、例えば、後述するように運用作業の作業スケジュールを受け付け、運用作業情報記憶部45に作業スケジュールを入力することが可能である。副IF部48は、主に運用作業者に向けた通知を行う。
外部通知部47aは、メールやチャットサービス等、可視化通知サービス40の外部の通知サービスを経由してシステム管理者に通知をする。副外部通知部48aは、前記可視化通知サービス40の外部の通知サービスを経由して運用作業者に通知をする。
【0029】
以上、監視システム1の構成について説明したが、監視システムの構成はこれに限定されず、構成を適宜設定することも可能である。具体例としては、監視システム1は、業務システム11を監視し、異常を通知する監視システムであって、業務システム11の稼働状況を示す監視指標を取得し、監視指標が正常であるとみなされる範囲を示すベースラインを算出する監視指標分析部50と、業務システム11に対する運用作業と運用作業の実施期間を示す運用作業情報を取得する運用作業情報取得部60と、ベースラインおよび運用作業情報に基づいて、業務システム11に関する通知を行う通知判定部46と、業務システム11の前記稼働状況を示すインターフェース部47と、を備える、ということも可能である。監視指標分析部50は、メトリクス監視サービス17、メトリクス分析サービス20、情報取得部41、監視・分析情報記憶部42によって実現される機能を有する。運用作業情報取得部60は、操作ログ監視サービス18、操作ログ収集サービス30、情報取得部43、操作ログ記憶部44、運用作業情報記憶部45によって実現される機能を有する。
【0030】
なお、インフラ管理サービス10とメトリクス分析サービス20と操作ログ収集サービス30と可視化通知サービス40は、異なるクラウドサービスから提供されることが想定されているが、本開示はこれに限定されない。同じサービス提供者から提供されるものであってもよい。また、本開示は、クラウドサービスに限定されることもなく、オンプレミスの形態に適用することも可能である。
また、IF部47、外部通知部47a、副IF部48、副外部通知部48aをそれぞれ別個の構成として示すが、共通の構成によって複数の機能を有するものとしてもよい。例えば、IF部47と副IF部48は1つの構成とし、インターフェースに関する機能をシステム管理者を対象とする場合と運用作業者を対象とする場合に分けて行うこととすることも可能である。また、外部通知部47aと副外部通知部48aを1つの構成とし、通知機能をシステム管理者を対象とする場合と運用作業者を対象とする場合に分けて行うことすることも可能である。
【0031】
(監視データの取得例)
図2は、メトリクス分析サービス20における分析の一例を示す図である。ここでは、メトリクスとしてCPU使用率およびメモリ使用量が用いられる場合を示す。
【0032】
図2(a)は、メトリクス分析サービス20が取得し保存するメトリクスの一例を示すメトリクステーブル21を示す図である。項目「監視対象」は、監視データを検出する対象を指す。ここでは業務システム11であるVM1が監視対象とされている。項目「検出日時」は、監視データが検出された日時を示す。例えば、メトリクスは所定の時間間隔ごとに取得される。項目「メトリクス」は、監視データ取得対象のメトリクスを示す。ここではCPU使用率またはメモリ使用量が監視データ取得対象とされている。項目「値」は前記項目「メトリクス」の監視データの値を示す。図2(a)に示されるように、監視対象VM1について、日時(date1、time1)において、CPU使用率がc1、メモリ使用量がm1である。また、日時(date2、time2)においてCPU使用率がc2、メモリ使用量がm2である。日時(date3、time3)においてCPU使用率がc3、メモリ使用量がm3である。
【0033】
なお、監視対象はVM1に限定されず他の仮想マシン(VM2、VM3、…)を監視対象としてもよい。また、監視データとして取得されるメトリクスは、2つに限定されず、他の指標をメトリクスとして検出してもよい。
【0034】
図2(b)は、メトリクス分析サービス20によって予測されたCPU使用率の一例を示す図である。実線で示された予測値曲線22は、所定の期間、例えば今後1か月(mmdd0からmmdd1)のCPU使用率を示す。また、点線で示された帯状の領域であるベースライン23は、CPU使用率が正常であるとみなされる範囲を示す。ベースライン23は、例えば予測値曲線22が示す値の±10%の範囲とすることが可能である。
【0035】
予測値曲線22の導出の方法として、例えば、過去3か月の監視データに基づいてCPU使用率の周期性を検出して予測値曲線22とすることが可能である。予測値曲線22およびベースライン23の設定の仕方はこの方法に限定されず、適宜選択し得る。インターフェース部47を介して、システム管理者が指定する構成とすることも可能である。
【0036】
メトリクステーブル21、CPU使用率の予測値曲線22、およびベースライン23に関する情報は、監視・分析情報記憶部42に保存される。
【0037】
図3は、操作ログ収集サービス30における運用作業の検出の一例を示す図である。図3(a)は、運用作業者が監視対象に行う運用作業を判定するための判断基準31を示す図である。項目「運用作業」は、運用作業者によって行われる運用作業の種類を示す。項目「作業手順」は、運用作業中に行われる操作の手順を示す。操作ログ収集サービス30は、監視データに含まれる操作ログを検出し、作業手順のとおりに操作が行われたことを判断して、運用作業が行われたことを特定する。
【0038】
Linux(登録商標)系のOSを例にとって説明すると、運用作業のうちOSの更新は、操作1として、VM(業務システム11)にSSH(Secure Shell)を用いてログインがされる。操作2として、最新安定版カーネルのパッケージがダウンロードされる。操作3として、ダウンロードしたカーネルがインストールされる。操作4として、VMが再起動される。
【0039】
また、運用作業のうち業務アプリの更新は、操作1として、VMにログインがされる。操作2として、必要パッケージのダウンロードおよびインストールがされる。操作3として、VMにSSHを用いてログインがされる。操作4として、最新アプリのパッケージが特定のリポジトリからダウンロードされる。操作5として、ダウンロードしたアプリのパッケージがインストールされる。
なお、操作1および操作2はパッケージの追加をするものであり、業務アプリの更新前に必要に応じて実施される。このため、操作1および操作2は省略することも可能である。
【0040】
また、運用作業のうち、ウイルス対策ソフトの更新は、操作1として、VMにSSHを用いてログインがされる。操作2として、最新ウイルス対策ソフトのパッケージまたは当該ソフト更新プラグラムを特定のリポジトリからダウンロードする。操作3として、ウイルス対策ソフト更新を実行する、つまりダウンロードしたパッケージのインストールまたは更新プログラムの実行をする。
【0041】
図3(b)は、操作ログ収集サービス30によって検出された運用作業情報を示す運用作業テーブル32の一例を示す図である。運用作業情報は、運用作業と運用作業の実施期間を示す情報である。項目「監視対象」は、監視の対象となった対象であり、かつ運用作業が行われた対象を示す。項目「運用作業」は、行われた運用作業を示す。項目「開始日時」は、運用作業が開始された日時を示す。項目「終了日時」は、運用作業が終了した日時を示す。
【0042】
図3(b)に示されるように、監視対象VM1について、OS更新の作業が、開始日時(date10、time10)に開始され、終了日時(date11、time11)に終了した。開始日時は、OS更新作業の操作1「VMにSSHでログインする」が行われた日時である。また、終了日時は、OS更新作業の操作3「VMを再起動する」が行われた日時である。同様に、アプリ更新は、開始日時(date12、time12)に開始され、終了日時(date13、time13)に終了した。ウイルス対策ソフト更新は、開始日時(date14、time14)に開始され、終了日時(date15、time15)に終了した。
【0043】
操作ログおよび運用作業テーブル32に関する情報は、操作ログ記憶部44に保存される。
【0044】
なお、監視対象はVM1に限定されず他の仮想マシン(VM2、VM3、…)を監視対象としてもよい。また、判断基準31は、システム管理者がインターフェース部47を介して指定する構成としてもよい。
【0045】
また、判断基準31として、運用作業者によって行われる操作ログを用いる方法を示したが、本開示はこれ限定されない。業務アプリの更新は、CI/CD(Continuous Integration/Continuous Delivery (Deployment))により一部の操作が自動化される場合がある。この場合には、例えばデプロイの開始時間および終了時間、または、更新の失敗があった場合には平均修復時間など、CI/CDを実行する各ツールの挙動を監視することによって、業務アプリの更新が行われたことを検出することが可能である。また、業務アプリの更新が自動化された場合、メトリクス監視サービス17およびメトリクス分析サービス20によって、業務アプリの更新が行われたことを検知することとしてもよい。
【0046】
図4は、運用作業情報記憶部45に保存される運用作業スケジュール451の一例を示す図である。運用作業スケジュール451は、IF部47を通じてシステム管理者によって入力される。また、運用作業テーブル32と同様に、運用作業スケジュール451においても、運用作業と運用作業の実施期間を示す運用作業情報が示されている。
【0047】
運用作業スケジュール451には、予定される運用作業の作業日程が示される。項目「運用作業」は、予定される運用作業を示す。項目「対象」は、運用作業が行われる対象を示す。項目「開始予定日時」は、運用作業が開始される予定の日時を示す。項目「終了予定日時」は、運用作業が完了する予定の日時を示す。図4に示されるように、OSの更新は、VM1について行われ、開始予定日時(date20、time20)に開始され、終了予定日時(date21、time21)に完了する予定である。業務アプリの更新は、VM1について、開始予定日時(date22、time22)に開始され、終了予定日時(date23,time23」に完了する予定である。ウイルス対策ソフトの更新は、VM1について、開始予定日時(date24、time24)に開始され、終了予定日時(date25,time25)に完了する予定である。
【0048】
なお、運用作業スケジュール451の項目は、これに限定されない。例えば、項目として運用作業者を加えることも可能である。
【0049】
(運用作業とメトリクスの検証)
通知判定部46は、監視・分析情報記憶部42、操作ログ記憶部44、運用作業情報記憶部45から取得した情報に基づいて、メトリクスに外れ値が含まれているかどうか検出する。通知判定部46は、監視指標が前記ベースラインを逸脱した期間である外れ値発生期間を検出する。図5および図6を参照して、外れ値が発生する期間である外れ値発生期間の検出方法を説明する。
【0050】
図5は、通知判定部46の動作を説明する図である。図5(a)は、メトリクスの外れ値を説明する図である。
【0051】
外れ値の検出が行われる前に、メトリクスの指定と、指定されたメトリクスの外れ値検出を行う期間である検出範囲461を設定する。図5(a)においては、メトリクスとしてCPU使用率が指定され、かつ00:00から15:00までを検出範囲461としている。なお、時間軸の目盛りの間隔は、理解をしやすくするために大きさを変更して記載している。また、通知判定部46は、メトリクス分析サービス20から検出範囲461において検出されたメトリクスの値および、検出範囲461においてベースライン23aを取得する。メトリクス曲線463は、検出範囲461において検出されたメトリクスの値を示す。メトリクス曲線463は、メトリクス分析サービス20によって取得され、00:00から、t1、t2、…、15:00まで間の時刻におけるCPU使用量を示す。
【0052】
最初に、時刻00:00のメトリクスを参照し、外れ値であるかどうかを判定する。ここでは時刻00:00のCPU使用率はベースライン23a内にあるため、次の時刻t1のCPU使用率について判定する。以降、外れ値が検出されるまで、次の時刻のCPU使用率が参照され、判定が行われる。
【0053】
判定が繰り返される場合、時刻10:05のCPU使用率がベースライン23aを超えることが判定される。最初に外れ値が判定された時刻である時刻10:05は、外れ値判定時刻outlier_startとして記録される。
【0054】
時刻10:05以降の時刻のCPU使用率も参照され、外れ値であるかどうか判定される。外れ値であると判定される間、CPU使用率の参照および判定が繰り返される。
【0055】
判定が繰り返される場合、時刻10:52のCPU使用率がベースライン23aに含まれることが判定される。外れ値の期間が続いた後で最初に外れ値と判定されない時刻である時刻10:52は、外れ値発生終了時刻outier_endとして記録される。
【0056】
10:52以降についてもCPU使用率の参照および判定が継続され、時刻12:00まで行われる。このようにして、外れ値発生期間464が検出される。
【0057】
図6は、通知判定部46が行う外れ値発生期間の検出方法を示す図である。
【0058】
最初に、通知判定部46は、検出範囲461の始まりの時刻のメトリクスを参照し(ステップS2)、外れ値であるかどうかを判定する(ステップS3)。通知判定部46は、外れ値が検出されるまで、次の時刻のCPU使用率を判定する(ステップS3においてNoとなってからステップS9に移行し、ステップS3に戻る)。
【0059】
通知判定部46は、外れ値であることを判定すると(ステップS3においてYes)、外れ値が発生した時刻を外れ値発生開始時刻outlier_startとして取得する(ステップS4)。
【0060】
通知判定部46は、外れ値発生開始時刻以降のCPU使用率も参照し、外れ値であるかどうか判定する。外れ値であると判定される間、CPU使用率の参照および判定を繰り返す(ステップS5からステップS7)。
【0061】
通知判定部46は、判定が繰り返される場合、外れ値の期間が続いた後で外れ値と判定されない時刻を、外れ値発生終了時刻outier_endとして取得する(ステップS7においてNoとなってからステップS8に移行する)。
【0062】
通知判定部46は、検出範囲461の終了する時刻までCPU使用量の参照および判定を繰り返す。検出範囲461内のメトリクスの参照が終了した場合(ステップS1においてNo)、通知判定部46は、外れ値発生期間464についての検証を終了する。
【0063】
(外れ値発生期間と運用作業との関連性)
続いて、図5(a)に加えて図5(b)および図5(c)をも参照して、外れ値発生期間464と運用作業の間の関連性の判断方法を説明する。図5(b)は、通知判定部46が保存する許容期間条件465を示す図である。図5(c)は、通知判定部46が運用作業情報記憶部45から取得した運用作業スケジュール451aを示す図である。第1実施形態においては、運用作業スケジュール451aに示される運用作業および運用作業の実施予定期間を運用作業情報として扱われる。なお、図5(b)の項目「開始予定日時」において、簡単のため、日付は省略し、時刻のみ表示する。
【0064】
許容期間条件465は、外れ値発生期間464と運用作業の実施期間との間に重複する部分がない場合であっても、外れ値発生期間と運用作業の実施期間の間に関連性があるとみなす扱いとする、期間のずれの許容範囲を示す。ここで運用作業には、予定どおりに行われることが好ましいものと、予定に一致させる必要性が小さいもの、がある。例えば、OSの更新は、予定どおりに行われることが好ましいため、許容時間を10分以内としている。一方、ウイルス対策ソフトの更新は、予定どおりに行われなくとも業務システムの運用上の問題は大きくないため、許容時間を60分以内としている。なお、本開示はこれらの数値に限定されるものではなく、これらの数値は適宜設定し得る。
【0065】
まず、外れ値発生期間464の外れ値発生開始時刻outlier_startと外れ値発生終了時刻outier_endが参照される。
【0066】
続いて、外れ値発生期間464に対して、許容期間条件465のうち最長の許容期間を選択して、運用作業の実施期間が含まれるとみなしうる最大の範囲である想定期間を算出する。許容期間条件465を参照すると、最大の許容期間はウイルス対策ソフトの更新の60分である。したがって、想定期間の最早の開始時刻start_max=outlier_start-60分=09:05、想定期間の最遅の終了時間end_max=outier_end+60分=11:52を算出する。
【0067】
続いて、想定期間に実施されうる運用作業を検出する。運用作業スケジュール451aによると、業務アプリの更新は、開始予定日時が9:30、終了予定日時が10:00である。想定期間に実施され得る運用作業の候補として、業務アプリの更新が検出される。
【0068】
なお、最早の開始時刻start_maxと最遅の終了時間end_maxに予定された運用作業がない場合、外れ値発生期間464の要因が運用作業でないことが想定される。この場合には、システム管理者に対して状況が伝達される。
【0069】
次に、外れ値発生期間464に対して、推定された運用作業との間に実際に関連性があるかどうかを判断する。推定された運用作業である業務アプリの更新が行われうる場合の期間を、見込期間とする。また、業務アプリの更新の許容期間は30分である。業務アプリの更新の見込み期間の最早の開始時刻start=outlier_start-30分=09:35、見込期間の最遅の終了時間end=outier_end+10分=11:22を算出する。
【0070】
見込期間は、運用作業スケジュール451a上の業務システムの更新の期間と重複している部分がある。このことから、外れ値発生期間464の発生と、業務システムの更新の作業との間に関連性があると判断される。外れ値発生期間と運用業務の実施期間との間の関連性があるので、外れ値の要因が運用作業にあると想定される。この場合には、いったん、運用作業者に対して状況が伝達される。運用作業者が業務システムの稼働状況を確認したうえで、必要があれば運用者業者からシステム管理者に状況が伝えられる。
【0071】
なお、仮に見込期間と運用作業のいずれの間にも関連を見出すことができない場合、CPU使用量の外れ値の発生要因を別途調査する必要が生じる。この場合には、システム管理者に対して状況が通知される。
【0072】
外れ値発生期間464の検証が済んだので、次の外れ値発生期間に対して検証が継続される。
【0073】
図7は、通知判定部46が行う外れ値発生期間と運用作業との関連性の判断方法を示す図である。通知判定部46は、外れ値発生期間と運用作業情報の間に関連性がある場合、異常を示す通知である異常通知を行わず、外れ値発生期間と運用作業情報の間に関連性がない場合、異常通知を行う。以下、詳細を説明する。
【0074】
通知判定部46は、外れ値発生期間464の外れ値発生開始時刻outlier_startと外れ値発生終了時刻outier_endを参照する(ステップS12)。
【0075】
続いて、通知判定部46は、外れ値発生期間464に対して、許容期間条件465のうち最大の許容期間を選択して、運用作業の実施期間が含まれるとみなしうる最大の範囲である想定期間を算出する。通知判定部46は、想定期間の最早の開始時刻をstart_max=outlier_start-最大の許容期間、想定期間の最遅の終了時間end_max=outier_end+最大の許容期間、をそれぞれ算出する(ステップS13)。
【0076】
続いて、通知判定部46は、運用作業スケジュール451aに示される運用作業情報から想定期間に実施され得る運用作業を検出する(S14)。運用作業が検出されない場合(ステップS14においてNo)、通知判定部46は、外れ値発生期間464と運用作業情報の間に関連性がないと判断する。通知判定部46は、IF部47を用いて通知を行い、システム管理者に異常を示す通知を行う(ステップS19)。
【0077】
次に、通知判定部46は、検出した運用作業の許容期間を参照する(ステップS15)。また、通知判定部46は、検出された運用作業の許容期間を参照する。通知判定部46は、検出された運用作業が行われうる見込期間について、見込期間の最早の開始時刻start=outlier_start-検出された運用作業の許容期間、見込期間の最遅の終了時間end=outier_end+検出された運用作業の許容期間、をそれぞれ算出する(ステップS16)。
【0078】
通知判定部46は、検出された運用作業に関して、見込期間と運用作業スケジュール451a上の実施期間の間に重複する部分があるかどうか判定する(ステップS17)。重複する部分がない場合、通知判定部46は、外れ値発生期間と運用作業情報の間に関連性がないと判断する。通知判定部46は、IF部47を用いて、システム管理者に異常を示す通知を行う(ステップS19)。重複する部分がある場合、通知判定部46は、外れ値発生期間と運用作業情報の間に関連性があると判断する。通知判定部46は、副IF部48を用いて、運用作業者に異常を示す通知を行う(ステップS18)。
【0079】
なお、仮に見込期間と運用作業のいずれの間にも関連を見出すことができない場合、CPU使用量の外れ値の発生要因を別途調査する必要が生じる。この場合には、通知判定部46は、IF部47を用いて、システム管理者に異常を示す通知を行う(ステップS19)。
【0080】
通知判定部46は、検証が行われた外れ値発生期間は処理対象から外し(ステップS20)、次の外れ値発生期間を検証する(ステップS11)。
【0081】
なお、ステップS14において、想定期間において実施されうる運用作業が複数検出された場合、ステップS15からステップS17は、検出された運用作業毎に行われる。
【0082】
また、ステップS19においてIF部47が用いられ、ステップS18において副IF部48を用いられているが、本開示はこれに限定されない。例えば、通知判定部46は、IF部47の代わりにまたはIF部47とともに、外部通知部47aを用いて異常を示す通知を行うことが可能である。また、通知判定部46は、副IF部48の代わりにまたは副IF部48とともに、副外部通知部48aを用いて異常を示す通知を行うことも可能である。
例えば、外部通知部47aは、可視化通知サービス40に接続する端末装置とは異なる端末装置を通じて、システム管理者に異常を示す通知を行う。言い換えると、外部通知部47aは、監視システム1に含まれない、監視システム1の外部の通知サービスを経由して通知を行う。通知判定部46は、IF部47または外部通知部47aの少なくともいずれかを用いて異常を示す通知を行う。このようにすることで、可視化通知サービス40のIF部47を通じて通知の確認が行われない場合であっても、システム管理者に対して通知を行うことが可能となる。
同様に、副外部通知部48aは、可視化通知サービス40に接続する端末装置とは異なる端末装置を通じて、運用作業者に異常を示す通知を行う。言い換えると、副外部通知部48aは、監視システム1に含まれない、監視システム1の外部の通知サービスを経由して通知を行う。通知判定部46は、副IF部48または副外部通知部48aの少なくともいずれかを用いて異常を示す通知を行う。このようにすることで、可視化通知サービス40の副IF部48を通じて通知の確認が行われない場合であっても、運用作業者に対して通知を行うことが可能となる。
【0083】
(システム管理者に対する通知)
図8は、IF部47の表示の一例を示す図である。IF部47は、複数のデータを一覧形式で表示する。外れ値表471は、累積所定の期間において検出された外れ値の検出結果を示す。項目「順位」は、外れ値が検出された回数を示す。項目「監視対象」は、異常を検知する対象を示す。項目「メトリクス」は、外れ値が検出された指標を示す。項目「外れ値数」は、外れ値が発生した回数を示す。例えば、ラベル470に示されるように2022年12月の1か月間のなかで、VM1では、CPU使用率に関して外れ値が1258回だけ検出された。また、VM2では、メモリ使用量に関して外れ値が1003回だけ検出された。
【0084】
折れ線グラフ474は、メトリクス曲線475およびベースライン23bを含む。メトリクス曲線475は、プルダウンリスト472および473によって指定された、VM1のCPU使用率を示す。ベースライン23bは、VM1のCPU使用率が正常であるとみなされる数値の範囲を示す。また、メトリクス曲線475において、外れ値が発生した個所に、「外れ値a」、「外れ値b」、「外れ値c」のテキストが表示される。
【0085】
ロリポッププロット477は、運用作業が行われた期間を示す。バー478はOSの更新が行われた期間を示す。バー479は業務アプリの更新が行われた期間を示す。バー480はウイルス対策ソフトの更新が行われた期間を示す。
【0086】
ここで、外れ値aからバー478の間には破線が描かれており、また、外れ値cとバー480の間には破線が描かれている。これは、外れ値の発生と運用作業の発生の間に関連性があることを示す。一方、外れ値bについては、関連性がある運用作業が示されていない。外れ値Bの場合、警告表示476を表示することによって、システム管理者に通知がされる。また、外れ値aおよび外れ値cの場合、運用作業に関連して発生したものである。折れ線グラフ474に示されるように警告表示は行われない。
【0087】
なお、外れ値aおよび外れ値cについては、異常ではあるもののシステム管理者がすぐに対応を要するものではない場合も含まれる。通知判定部46は、副IF部48を通じて運用作業者に通知を行う。副IF部48は、例えば運用作業者が操作をする業務システム11の表示部に、運用作業期間中にCPU使用量が増大したことを示す表示をする。
【0088】
なお、図8に示される表示は一例であり、本開示はこれに限定されるものではない。警告表示476の代わりに、外れ値bの異常が明示されるように、外れ値bに対応するメトリクス曲線475および時刻を強調表示することとしてもよい。また、IF部47の表示部は、液晶パネルのように表示機能のみを有するものであってもよいし、タッチパネルディスプレイのように表示機能およびユーザの入力を受け付ける入力機能を有するものであってもよい。
【0089】
なお、項目481から483は、システム管理者の選択を受け付けると、各項目によって示される運用作業の運用作業スケジュールを表示することも可能である。また、システム管理者によって、運用作業の入力を受け付けることが可能な入力表示を示すことも可能である。
【0090】
(作用・効果)
図9は、第1実施形態に係る作用・効果を示す図である。図9(a)はシステム管理者に直接に通知が行われる場合を示す。図9(b)はシステム管理者に通知がされない場合を示す。
【0091】
図9(a)は、CPU使用率に外れ値発生期間が生じ、かつ外れ値発生期間の近い日時に運用作業の実施期間がない場合を示す。外れ値が運用作業によるものではないため、異常の特定が必要である。この場合、IF部47を介してシステム管理者に通知がなされるので、外れ値の要因を早急に特定することが可能となる。
【0092】
一方、図9(b)は、外れ値発生期間が生じ、かつ外れ値発生期間の近い日時に運用作業の実施期間がある場合を示す。外れ値は異常ではあるものの、外れ値の要因が運用作業であることが想定される。この場合、まず、副IF部48を介して運用作業者に通知がなされる。直接的にシステム管理者に通知がなされないため、システム管理者が不要な対応をする必要がなくなる。
【0093】
このように第1実施形態によれば、ベースラインに基づいてメトリクスに外れ値が発生したことを判定し、外れ値発生期間と運用作業が行われる期間との間に関連性があるかどうか判断する。外れ値の発生が、運用作業に起因する想定される範囲内の挙動であるか、または運用作業に起因しない想定される範囲外の挙動であれるか、が判断される。外れ値発生が想定内か否か場合分けをしたうえで通知がなされるため、例えば、システム管理者に対しては想定内の外れ値発生の場合には通知をせず、想定外の外れ値発生の場合に通知が行うように設定することが可能である。このように外れ値発生に場合分けをしたうえで通知することによって、システム管理者に対して適切な通知を行うことが可能となる。
なお、第1実施形態においては、通知としてIF部48における警告表示476ならびに外部通知部47aおよび副外部通知部48aによって行われるメール等のテキスト情報による通知を示したが、本開示はこれに限定されない。音声やハプティクスデバイスを用いた通知など、ユーザに警告情報を伝達する通知方法として適用することも可能である。
【0094】
[第2実施形態]
第2実施形態は、通知判定部46において、運用作業情報記憶部45から取得した運用作業スケジュール451aの代わりに、操作ログ収集サービス30によって記録された運用作業テーブル32を用いる点で、第1実施形態と異なる。以下の説明において、上述の第1実施形態と同一又は同等の構成要素については同一の符号を付し、その説明を簡略又は省略する。
【0095】
第1実施形態において図7のステップS14に示されるように、想定期間に含まれうる運用作業は、運用作業スケジュール451aから抽出されていた。これに対し、第2実施形態にといては、想定期間に含まれる運用作業を、運用作業テーブル32から抽出する。
【0096】
運用作業テーブル32は、業務システム11に行われた操作ログに基づいて検出された運用作業および実施期間を示す。第2実施形態においては、システム管理者が運用作業のスケジュールを入力しない場合であっても、外れ値発生期間と運用作業情報の間の関連性を検証することが可能となる。
【0097】
以上、本発明の実施の形態について説明したが、本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
例えば、第1実施形態と第2実施形態を組み合わせてもよい。運用作業スケジュール451aと運用作業テーブル32に基づいて、運用作業および実施期間の整合性を判断したうえで、外れ値発生期間と運用作業情報の間の関連性を検証することも可能である。このようにすることで、外れ値発生期間の要因の切り分けの精度を高めることができ、システム管理者に対する通知を適切に行うことが可能となる。
【0098】
[その他の実施形態]
本開示は、次の態様も含む。
(態様1)
業務システムを監視し、異常を通知する監視システムであって、
前記業務システムの稼働状況を示す監視指標を取得し、監視指標が正常であるとみなされる範囲を示すベースラインを算出する監視指標分析部と、
前記業務システムに対する運用作業と前記運用作業の実施期間を示す運用作業情報を取得する運用作業情報取得部と、
前記ベースラインおよび前記運用作業情報に基づいて、前記業務システムに関する通知を行う通知判定部と、を備え、
前記通知判定部は、
前記監視指標が前記ベースラインを逸脱した期間である外れ値発生期間を検出し、
前記外れ値発生期間と前記運用作業情報の間に関連性がある場合、異常を示す通知である異常通知を行わず、
前記外れ値発生期間と前記運用作業情報の間に関連性がない場合、前記異常通知を行う、監視システム。
(態様2)
態様1に記載の監視システムであって、
前記通知判定部は、
前記外れ値発生期間と前記実施期間の間に重複する部分がない場合、前記異常通知を行わず、
前記外れ値発生期間と前記実施期間の間に重複する部分がある場合、前記異常通知を行う、監視システム。
(態様3)
態様1または2に記載の監視システムであって、
前記通知判定部は、
前記外れ値発生期間と前記実施期間の間のずれが許容期間以内である場合、前記外れ値発生期間と前記実施期間の間に重複する部分があるとみなし、前記異常通知を行う、監視システム。
(態様4)
態様1から3のいずれか1つに記載の監視システムであって、
前記運用作業情報は、前記業務システムのシステム管理者によって入力される、監視システム。
(態様5)
態様1から4のいずれか1つに記載の監視システムであって、
前記通知判定部は、前記業務システムに対して行われた操作ログを取得し、前記操作ログに基づいて前記運用作業および前記実施期間を検出する、監視システム。
(態様6)
態様1から5のいずれか1つに記載の監視システムであって、
前記業務システムの前記稼働状況を示すインターフェース部と、
前記監視システムの外部の通知サービスを経由して通知を行う外部通知部と、をさらに備え
前記通知判定部は、
前記外れ値発生期間と前記運用作業情報の間に関連性がある場合、前記インターフェース部に前記異常通知を行わず、
前記外れ値発生期間と前記運用作業情報の間に関連性がない場合、前記インターフェース部に前記異常通知を行うことまたは前記外部通知部に前記異常通知をさせることの少なくともいずれかを実行する、監視システム。
(態様7)
態様1から6のいずれか1つに記載の監視システムであって、
前記業務システムは仮想マシンである、監視システム。
(態様8)
業務システムを監視し、異常を通知する監視方法であって、
前記業務システムの稼働状況を示す監視指標を取得し、監視指標が正常であるとみなされる範囲を示すベースラインを算出する監視指標分析ステップと、
前記業務システムに対する運用作業と前記運用作業の実施期間を示す運用作業情報を取得する運用作業情報取得ステップと、
前記ベースラインおよび前記運用作業情報に基づいて、前記業務システムに関する通知を行う通知判定ステップと、を備え、
前記通知判定ステップは、
前記監視指標が前記ベースラインを逸脱した期間である外れ値発生期間を検出する検出ステップと、
前記外れ値発生期間と前記運用作業情報の間に関連性がある場合、異常を示す通知である異常通知を行わず、
前記外れ値発生期間と前記運用作業情報の間に関連性がない場合、前記異常通知を行う異常通知ステップと、をさらに有する監視方法。
【符号の説明】
【0099】
1 監視システム、10 インフラ管理サービス、11 業務システム、12 OS、13 ウイルス対策ソフト、14 業務アプリ、15 情報収集エージェント、16 データベース(DB)部、17 メトリクス監視サービス、18 操作ログ監視サービス、19 ネットワーク、20 メトリクス分析サービス、21 メトリクステーブル、22 予測値曲線、23、23a、23b ベースライン、30 操作ログ収集サービス、31 判断基準、32 運用作業テーブル、40 可視化通知サービス、41 情報取得部、42 監視・分析情報記憶部、43 情報取得部、44 操作ログ記憶部、45 運用作業情報記憶部、46 通知判定部、47 インターフェース(IF)部、47a 外部通知部、48 副インターフェース(副IF)部、48a 副外部通知部、50 監視指標分析部、60 運用作業情報取得部、451、451a 運用作業スケジュール、461 検出範囲、463 メトリクス曲線、464 外れ値発生期間、465 許容期間条件、470 ラベル、471 外れ値表、472、473 プルダウンリスト、474 線グラフ、475 メトリクス曲線、476 警告表示、477 ロリポッププロット、478-479 バー、481-483 項目
図1
図2
図3
図4
図5
図6
図7
図8
図9