検索検索
English

SIOS iQの実装技術を解説

【VOICEs - 社内インタビュー】 日米欧の各市場で提供される「SIOS iQ」は、独自の機械学習技術を用いたインテリジェントな仮想環境の分析プラットフォームです。その全貌に迫るインタビュー記事の第二弾は「技術編」です。SIOS iQ事業企画部長の野田勝彦が解説します。

テクノロジー2015年12月24日

SIOS iQにおける3つの分析ステップ

前回の記事では、SIOS iQ開発の背景と、SIOS iQで解決できること、および提供できる価値について紹介しました。今回は、2015年11月10日~11日の2日間で開催されたvForumでのセッション「[徹底解説] 性能劣化の原因を完全自動分析するSIOS iQの実装技術」の内容を加えて、その裏側を支えている主要なテクノロジーについてお話ししましょう。

SIOS iQのコアとなるテクノロジーは、「vGraph」「機械学習」「PERCダッシュボード」の3つで、いずれも特許申請中の最新技術が用いられています。vForumのセッションでは、「SIOS iQが、どのようなアプローチで仮想環境の性能劣化を検出し、原因分析と影響分析を行うか」を解説しました。SIOS iQは、大きく分けて3つのステップで性能劣化を検出し、原因と影響の分析を行います。

3つのステップは次の通りです。

ステップ 1)システムオブジェクト間の関連性分析
ステップ 2)パターン学習とアノマリー検出
ステップ 3)原因分析と影響分析


では、それぞれの概要について順にご説明します。
ステップ 1)システムオブジェクト間の関連性分析
SIOS iQは、「vGraph」と呼んでいるグラフ理論を応用した技術を使用しています。このvGraphは、監視対象システムに存在する物理ホスト、物理ネットワーク、物理ストレージ、仮想的なマシン、仮想ネットワーク、仮想ストレージなど、全てのオブジェクトの複雑な関連性を正確に表現し、効率的に取り扱うための技術です。

監視対象システムに存在する全てのオブジェクトはノードとして表現し、オブジェクト間の関係はノードとノードを結ぶエッジとして表現します。つまりSIOS iQは、監視対象システムのモデルはノードとエッジで構成されたグラフで表現し、システムに存在するオブジェクト間の関連性を分析しています。

SIOS iQは、どの物理ホストに、どの仮想マシンが存在しているかなど、監視対象システムに存在するオブジェクトの静的な関係をモデル化するだけでなく、SIOS iQを一定時間稼動させることでオブジェクトの振る舞いも分析・学習し、アプリケーション間通信やアプリケーションの振る舞いとディスクI/Oの関係など、オブジェクト間の動的な関係も1つのグラフでモデル化しています。


監視対象システムに存在するオブジェクト間の関係をグラフを用いてモデル化する

ステップ 2)パターン学習とアノマリー検出
SIOS iQは、各種機械学習アルゴリズムを用い、vGraphによってモデル化された監視対象システムに存在する全てのオブジェクトの振る舞いのパターンを学習しています。内部で使用しているアルゴリズムは多種多様ですが、データのクラスタ化、クラスタ間の境界線抽出、既知の標本と新たな標本の類似性の比較・分析など、さまざまな場面で用いられています。当然ながらシステムオブジェクトの振る舞いのパターンを学習するには、一定の学習期間が必要です。したがって、ある程度パターン学習が進み、知識ベースが蓄えられた後で、リアルタイムデータの分析が始まり、学習したパターンのどれにも当てはまらないパターンが検出された時、アノマリーとして判断する仕組みです。


一定の学習期間を経たのちにリアルタイムの分析が始まり、アノマリーを検出する

ステップ 3)原因分析と影響分析
SIOS iQは、あるシステムオブジェクトの振る舞いでアノマリー、つまり通常とは異なる振る舞いのパターンを検出すると、即座に、原因分析や影響分析を行います。その分析の結果、根本原因と影響範囲・各影響の度合いなどがわかります。ここで重要なのは、あるシステムオブジェクトのアノマリーな振る舞いが、原因そのものを作り出しているオブジェクトのアノマリ―な振る舞いなのか、逆に他のオブジェクトに原因が存在し、その影響を受けて発生したアノマリ―な振る舞いなのかを、正確に識別することです。

SIOS iQは、さきほど説明したvGraphを使用して、システム上に存在している全てのオブジェクトの関連性を把握し、常に最新の状態でモデルを維持していますので、現象として捉えたあるシステムオブジェクトのアノマリーな振る舞いが、根本原因そのものなのか、他のオブジェクトの影響で発生したものなのかを正確に識別することが可能です。

実際には、あるシステムオブジェクトのアノマリーな振る舞いが検出された場合には、ほぼ同時に複数のオブジェクトのアノマリーな振る舞いが検出されることが多いと思いますが、そのような場合も、どのオブジェクトが犯人で、どのオブジェクトが被害者なのかを、きちんと識別しています。


原因そのものを作り出しているオブジェクトのアノマリ―な振る舞いなのか、他のオブジェクトに原因が存在し、その影響を受けて発生したアノマリ―な振る舞いなのかを正確に識別する

SIOS iQに関する「よくある質問」にお答えします

以上、駆け足ですが、「SIOS iQが、どのようなアプローチで仮想環境の性能劣化を検出し、原因分析と影響分析を行うか」について説明しました。何かお尋ねになりたい点はございますか。

― グラフ理論のイメージを、もう少しわかりやすく説明してもらえますか。
グラフは物事の繋がりや関連性を表現するための手法で、グラフ理論はグラフのノードやエッジに対し目的に応じた意味づけを行い、様々な分野で利用されています。たとえば、交差点をノード、道をエッジとしてモデル化することで、地図上の2地点間の最短経路(距離や時間)を求めることが可能です。こうした考え方は、カーナビゲーションや鉄道の乗換案内、集配送車の最適ルート検索などでも利用されていて、現実世界の様々なアプリケーションやサービスで利用されています。ソーシャルメディアでも利用されており、「ひょっとして、お知り合いですか?」という、お友達の推薦を可能にしています。

一方、SIOS iQの場合は、このグラフやグラフ理論をシステムのモデル化に利用しました。SIOS iQの内部では、監視対象システムに存在する全てのオブジェクトの関連をvGraphでモデル化することにより、もし、何らかの不具合を起こしているオブジェクトを発見した場合は、vGraphを辿って影響を受けているオブジェクトを特定することや、逆に何かしらの影響を受け、性能低下などの現象を発見した場合は、vGraphを遡って根本原因を見つけることも可能です。SIOS iQは、グラフとグラフ理論を応用することにより、どんなに複雑な仮想環境であっても、原因分析や影響分析を効率的かつ正確に行い、迅速な問題解決に役立てることが可能であるという点でたいへん画期的なツールです。

― ステップ2のところで触れた「パターン学習」についても、詳しく教えてください。
監視対象システムに存在するオブジェクトの振る舞いのパターン学習には、主にクラスタリングのアルゴリズムを使用しています。クラスタとは類似した特徴を持つデータの集合です。クラスタ化するというのは、ストレージや仮想マシンなどのシステムオブジェクトの振る舞いに関するデータを、その特徴が類似するものを集めてグループ化することに相当します。

SIOS iQは、日々刻々と変化するデータの動きを観察し、監視対象システムに存在する全てのオブジェクトの振る舞いの特性や特徴を学習していきます。前回ご説明した通り、SIOS iQは問題の検出の際に、閾値(しきいち)を用いませんので、ある一定以上(もしくは以下)のデータが検出されれば、異常であるというような判断は行いません。あくまでイメージですが、たとえば、通常は「月曜日の午後」にしか現れない振る舞いのパターンが「木曜日の午後」に現れた場合、閾値を用いた分析ではその現象に気づくことはできませんが、パターン学習という手法を用いれば、その「異変」に気づくことができるかもしれません。

― どのようなパターンを学習しているのですか?
あまり詳しいお話はできませんが、時系列の観点でのパターンを例に説明してみましょう。世界中のほとんどの企業は、1週間というサイクルで活動しています。でも実際は、もっと小さい24時間というサイクルが存在します。そこでSIOS iQは、まず最初に24時間サイクルのパターンを学習し、次に1週間のパターンを学習します。1週間のパターンを学習し終えた時点から、リアルタイム分析が始まり、アノマリー検出を行うようになります。

多くの企業で実施される週次バッチ処理のように毎週実行されるジョブは、最初の1週間でそのパターンが学習されています。その後、SIOS iQは1カ月のパターンを学習します。もし、1カ月に1度だけ実行される月次バッチ処理のようなジョブが存在し、最初の1週間の学習期間を終えた後に、最初の月次バッチ処理が実行された場合は、それがSIOS iQにとってはじめての経験となりますので、SIOS iQはそれをアノマリーとして検出しますが、毎月実行される、ということを学習した後は、アノマリーとしては取り扱わず、通常の状態として取り扱います。その後SIOS iQは、さらに四半期のパターン、1年のパターンまで、学習を継続していきます。

― PERCダッシュボードは、なぜシンプルな画面なのでしょうか。
「PERCダッシュボード」は、分析結果を鳥瞰するためのポータル画面です。もちろん、詳細な情報を参照するために、ドリルダウンして探ることも可能ですが、基本的には、ドリルダウンする必要は無いと考えています。SIOS iQが、何かしらの課題・問題を発見した際には、すでに原因分析と影響分析が終わっていますので、ダッシュボード上のインジケーターをクリックするだけで、即座に詳細なレポートを参照することができます。そのレポートには、問題を解決するために必要な全ての情報が含まれ、根本原因を作り出しているオブジェクトに関する情報、影響を受けているオブジェクトの情報、さらに、その問題をどのように解決したら良いかという提案が含まれています。したがって、従来の監視ツールのように、アラートが上がってから「原因探し」に時間を費やすというようなステップは必要なくなるであろうと考えています。

SIOS iQが何かを検出したならば、レポートを参照するだけで即座に問題を解決するための行動に移すことができ、詳細な情報をドリルダウンする必要がありません。つまり、SIOS iQのダッシュボードは、次の2つの要件だけを満たすことに特化し、極限までシンプルなデザインにしました。

1.SIOS iQが何かを検出したか否かが明確にわかる
2.検出した場合、すぐに完全なレポートが参照できる


ダッシュボードに表示される情報は「SIOS iQが何かを検出したか否かが明確にわかる」「検出した場合、すぐに完全なレポートが参照できる」の2つの要件を満たすべく、シンプルさを追求している

― 最後に、最近のニュースや今後の新機能について、可能な範囲でお話ししてもらえますか?
まず、大きなニュースですが、2015年11月10日にリリースしたSIOS iQ v3.3では、VMware vRealize Operations Manager(vROps)とSIOS iQがインテグレーションされました。これによりSIOS iQが検出・分析・予測した情報を、vROpsのダッシュボードから参照できるようになり、vROpsユーザは、システムの性能問題が発生した場合、今まで以上に迅速に解決することが可能になると思います。

次に、今後の新機能について1つだけ、ご紹介させていただきます。

実は、vForumでも参考出品という形でブースで展示していたのですが、SIOS iQがvGraphを使って内部的に管理しているシステムモデルを一部可視化する機能を、2016年の前半にリリースする予定です。可視化される部分は、SIOS iQが検出した課題・問題に関連している部分のみです。従来の監視ツールでも可視化機能を持っている製品は少なくありませんが、SIOS iQ以外の製品は、例えば"異常"な状態にあるオブジェクトが赤色で表示されるとすると、アラートが上がった状態で可視化する画面を開くと、あっちもこっちも、赤色だらけで、一体どのオブジェクトが根本原因でどのオブジェクトが影響を受けているのか全く判別できませんでした。

もっとも、従来の監視ツールは原因分析を行いませんので、原因オブジェクトと影響を受けたオブジェクトを区別して表示することはできないのですが、SIOS iQは原因と影響を分析していますので、明確に区別して表示します。下の図は、vForumで参考出品した画像ですが、炎の形をしたアイコン()が原因を作り出しているオブジェクトを表し、そのほかの赤色で表示されているオブジェクトが影響を受けているオブジェクトを表しています。


vGraphで内部的に管理しているシステムモデルの一部を可視化する機能が提供される予定

これまでに多くのお客様から「vGraphを可視化して欲しい」というご要望をいただきましたので、実はvGraph全体を可視化する試みも実施したのですが、結果的には、描画速度などの問題で、vGraph全体を可視化することは断念し、問題に関連するオブジェクトだけを可視化することにしました。

もし、グラフを高速に描画するエンジンなどをお持ちの企業様には、ぜひSIOS iQのプラグイン製品などの提供をご検討いただけないかと考えております。SIOS iQは、お客様がお持ちの既存のツールとのインテグレーションや、サードパーティからのアドオンの提供を可能にするためのAPIも装備しています。SIOS iQとのインテグレーションやアドオン製品の開発に興味をお持ちの企業様には、ぜひ、ご連絡いただきたいと考えております。

加えて一つ、お知らせですが、SIOS iQには、有償版(Standard Edition)と無償版(Free Edition)の2つのエディションが存在します。無償版は、無期限に使用することができ、機械学習技術を採用したSIOS iQの実力を体験することができます。複雑化・大規模化した仮想環境を運用されている皆様には、ぜひ活用していただきたいと考えています。

― なるほど。まずはSIOSiQの無償版から気軽に試してみてほしいですね。



記事の関連情報