サイレント障害とは、コンピュータシステム上にあらかじめ用意した自律診断機能で検知できない障害を指す。管理ツール上にエラーメッセージが表示されないが、性能劣化などの症状が出る。そのまま放置すれば最終的にネットワークに接続できなくなったり、システム全体に悪影響が及んだりして、大規模な障害につながりやすい。自覚症状のほとんどない病気を患ったときに似ている。

 仮にデュアルコアのCPUを搭載したサーバー機で、CPU使用率が60%以上でエラーメッセージを出るように設定していたとする。一方のコアの処理にエラーが発生しそのコアの使用率が100%のままになっても、もう一方のコアの使用率が低ければエラーメッセージは通知されない。この状態がサイレント障害である。もし残ったコアにも同じようなエラーが発生すれば、そのサーバーの機能は完全に停止してしまう。

 サイレント障害はその発生に気付きにくいだけでなく、原因の特定に手間や時間がかかる。最近では、このサイレント障害の検知や分析を行うための技術や製品が続々と登場している。

 富士通は、IPネットワークのサイレント障害を検知する技術を開発した。NTTドコモが2010年中にサービス開始予定の新しい携帯電話のネットワークLTE(Long Term Evolution)で利用する計画だ。検査用のデータ(プローブ)を流し、データの到着の遅れや到着順の乱れなどを分析してサイレント障害を検知する。これまでも経路を総当たりして検知する技術はあった。富士通の技術は、あらかじめネットワーク構成を把握する処理を行い、そのうえでプローブを流す経路数を最小限にする。

 NECは、「インバリアント分析」という方法でサイレント障害を検知・分析する製品を販売している。インバリアント分析では、システムを構成する機器の性能データから相関を見つけ、それから外れた状態になれば障害が発生したと判断する。汎用性の高い検知が可能だ。例えば、サービスを提供するサーバーのCPU使用率、メモリーの使用量、ディスクのアクセス頻度、ネットワーク機器のトラフィックなどをあらかじめシステムに読み込ませる。すると、これらのデータから数学的に関連性があると判断できたデータ同士を常に監視。これまでの関連性と違いが生じたときにサイレント障害と判断する。