Vitria ブログ

異常検知の課題は AIOps が解決する

異常検知で期待する効果を得られていますか?

ビッグデータ、機械学習を利用した異常検知は、比較的低いコストで様々な分野に適用できるようになりました。

それに伴い、異常の検知はできても「期待していた効果がだせない」「業務で運用するレベルに到達できない」という声をよく聞くようになりました。

なぜ異常の検知ができているのに、利用者が期待する成果を上げることができないのでしょうか?

今回の記事では、異常検知と期待する効果について考えてみたいと思います。

容易に導入が可能になった異常検知

例えば、「材料の加工装置の故障を検知したい。」というニーズがあった場合、一般的な異常検知の取り組みでは、

  • 装置からの情報(センサーデータ)をインプットとして取り込む

  • 装置の通常運転時のデータを元に機械学習のモデルを作成

  • 異常の状態(いつもとは違う状態)を検知できるか確認し、アラートを設定

  • リアルタイムで検知できるように、装置の常時モニタリングを開始する

というようなステップを踏みます。

このようなステップだけで、実際に異常の検知が可能になります。ソリューションによっては機械学習のモデル作成に要する時間も短く抑えられるものもあり、このステップ全体を数日で完了することも可能です。

なぜ運用に乗らないのか?

導入も容易で、異常の検知も正しく行えているのに、それでも「実際の運用で使えない」「どこかしっくりこない」という声が聞こえる理由はどこにあるのでしょうか?

そのような状況になってしまう代表的な原因を3つピックアップしてみました。

原因その1
データの「いつもと違う状態」が検知したい異常を示しているとは限らない

シンプルな異常検知のシステムでは、通常稼働のデータを機械学習し、ベースラインを自動計算します。そして、センサーデータが「いつもと違う状態」であった場合にアラートをあげます。これが運用に乗らない1つ目の原因です。

通常稼働時の状態が非常に安定していて、まったくブレのないデータを出すような装置を監視するのには、このようなシステムでも異常を検知することができます。

(いままで全くモニタリングをしておらず、)装置のモニタリングを自動化したいという場合には一定の効果を得ることが出来ます。ただし、このような装置の場合、少しでも数値がブレたら故障となるため、わざわざ分析システムを導入するまでもない。ということになります。

また、このような異常検知の仕組みでは、センサーデータからの情報が時間帯や気温・室温、加工する材料などで異なるような場合、繁忙期や季節・気温、材料が変わっただけでアラートが鳴り続けることになるので、PoCで異常の検出ができたとしても、実際の運用に耐えうるレベルには至らないのです。

原因その2
単一のメトリクスではなく、複数のメトリクスを認識する必要がある

多くの場合、本当に知りたい異常は「それに関係するメトリクス」を複数認識することで初めて検知することができます。
例えば、「室温A」で「材料B」を加工したときに「センサーデータの値がCを超えた」場合は異常である。というように、メトリクスを複数つなぎ合わせることで「いつもと違う状態」を見つけることができるということです。

これができてようやく、利用者が本当に知りたい「いつもと違う状態」を検知できたということになるのです。つまり、一つのデータだけを見ていても、「利用者にとっての異常」を検知することは出来ないということになります。
よくあるケースは、このような複合した情報が必要にも関わらず、「学習データが足りない」から異常を検知することが出来ない。と勘違いすることです。

残念ながら1つのデータに対する分析精度をいくら高めても、いくら学習コストをかけてもこの壁を超えることはできません。

原因その3
複数のメトリクスや状態を合わせた分析システムは複雑すぎる

上記で述べた理由と重なる部分もありますが、複数のメトリクス・状態を合わせて異常を検知することは、データの保存の仕方やメトリクスの関連の付け方などノウハウがないと難しいです。
複数の状態を組み合わせることで異常が検知できることがわかっていても、いざやろうとすると「どうやってやるかわからない」「システムが複雑すぎる」など結局あきらめてしまうことになります。
一般的な異常検知ソリューションでは、異常が発生した場合、他のメトリクスを比較することはできますが、メトリクスを連結して「いつもと違う」を知らせることはしてくれません。異常が発生してから他のメトリクスと比較をするのでは、ノイズが多すぎて運用に耐えれるはずがありません。

原因その4
監視対象は変動する。異常検知のシステムには継続的なアップデートの仕組みが不可欠

異常検知システムのPoCを行う場合、分析に直接関連のある項目にばかり関心が向いてしまいますが、それ以外にも大事なことがあります。
言葉にすると当たり前のことですが、監視対象は変動するため、分析モデル・監視システムはすぐに陳腐化するということです。
以下は、運用を開始して暫く経つと対応の必要がでてくる項目です。

  • データの種類、監視対象のシステムが増えたら追加できるか?
  • 機械学習のモデルを継続的に更新していけるか?
  • 規模が大きくなった場合のスケールアップ(計算能力、データ処理)
  • 分析モデルの更新時の検証は容易にできるか?

多くの場合、利用者が納得できる異常検知を行うには、監視システムを継続的に改善し、どのような分析が適切か?という部分を運用をしながら調整していく必要があります。

異常検知には「継続的なアップデートができるか?」という部分の重要度は高く、考慮しておかないとあっという間に監視システムは腐ってしまいます。

異常検知≠予知保全

機械学習やビッグデータを利用し、そこから本当の意味で価値を得るには「いつもと違う」だけを知らせる異常検知では十分とは言えません。
故障による不慮の停止や過度なメンテナンスを減らし、可能な限りサービスを持続する。将来のリスクを可能な限り取り除きたい。
そのような利用者、運用チームのニーズを実現するには、上記のうまく行かない原因を踏まえ、本当の意味での「いつもと違う状態」を認識できる必要があります。それが出来て初めて、障害が発生する前に対処する異常検知の次のステップである「予知保全」に向けた取り組みができるようになります。

異常検知の課題は AIOps Platform が解決する

実際に異常検知を必要としている人は

  • 「いつもと違う状態」を簡単に見つけたい。ただし、データのブレや、状況による変化は知らせてほしくない。
  • 複数の状態を認識して「いつもと違う状態」を検知する賢さ。
  • 疑わしい状態を異常とはせず、アクションが必要なものだけを教えてほしい。
  • 取り込むデータや分析ロジックなどは気軽に変更したい

ということを求めています。

そして、これらを手にいれるには、単純にメトリクスだけを追いかけるような異常検知では不可能で、総合的に「いつもと違う状態」が判断できる必要があります。
また、監視システムを導入するだけではなく、それらを運用しながら経験値をあげ、アップデートを繰り返し、成熟度を高めていくことも重要です。

システムやサービス提供基盤をより安全に運用し、さらに運用の効率をあげ、システムの規模が拡大しても、運用コストはあげない。

VIA AIOps プラットフォームは、「いつもと違う状態」を正確に捉え、本当に対処が必要となるインシデントを検知する能力に長けています。モニタリングを正確に効率よく実行し、運用チームのストレス削減とコストダウンが可能です。

VIA AIOps プラットフォーム 主な機能

  • 騒々しい異常通知(アラートノイズ)をブロックし、必要なものだけをインシデントに変換
  • 閾値の自動計算と閾値変更の影響シミュレーション(What-IF分析)
  • 重大なインシデントを判断し優先度を設定
  • 発生したインシデントに関する解決の糸口や根本原因の特定
  • インシデントの自動回避と問題解決処理の自動実行(セルフ・ヒーリング)
  • 機械学習モデルのアップデートおよびデプロイマネージメント
  • グラフィカルな開発プラットフォーム

AIOps には どのようなデータが必要か?

あらゆる場所の

実際にどのようなデータが必要かは、目指すステージにより異なります。一般的に、AIOpsでは、アプリケーションのトレース情報やログ、インフラストラクチャの各種メトリクス、トランザクションの情報、SNMP、ネットワークの情報、デバイスやセンサーの情報、システム利用者の情報、さまざまなデータを利用します。

あらゆるデータを

このようなデータは従来の監視ツールでも利用していましたが、人間が運用しているときには、捨ててしまっていたデータでも、AIOpsでは有効なインプットになります。また、複数のシステムやドメインにまたがるデータを統合し、イベントの相関を検出できるのもAIOpsの特徴です。

さまざまな場面で

IoT・スマートファクトリ

テレコム・ネットワーク自動化

スマート電力

ケーブルコミュニケータ

物流・運輸

5G・SD-WAN

AIOps が活用されています

自動修復・セルフヒーリング

クローズドループオートメーション

インフラの自動化

IT運用効率化

予防的な問題の特定

戦略的計画

イベント管理