IoTシステムは、障害の原因になりそうなリスクにあふれている。

 ネットワーク上にある個々のIoTデバイスは必ず消耗し、やがて必ず故障する(それも肝心なときに限って故障する)。インターネットは脆弱で不安定で制御できない。通信障害は自然現象の一つであり、当たり前に起こる。

IoTシステムの周囲はリスクがいっぱい
IoTシステムの周囲はリスクがいっぱい
[画像のクリックで拡大表示]

 ITシステムを配置したクラウドは、IoTデバイスからは制御できない。障害が起こっても、IoTデバイスはクラウドに文句だけ言って、後は傍観するほかない。IoTは他のシステムと連携し、動的に拡張され、ますます複雑怪奇になる。いつどこで誰が障害を起こすか分からない。全く、どうすればいいのか。

 そこで今回は、複雑怪奇なIoTシステムの障害分析のコツと注意点を紹介する。

IoTの障害分析、 一寸先は闇

 IoTシステムで障害が発生したときは、障害情報を収集し、その障害の原因を分析し、対策する。ここでは障害情報の収集と原因分析の方法、そして主な障害の要因を見ていこう。

 IoTで障害が発生したときに最初に行う仕事は、障害に関する情報を収集することである。

 しかしIoTデバイスの最終ユーザーは、活動量計のようなコンシューマ用途であれ、産業機器のような法人用途であれ、コンピュータリテラシーの高さは期待できない。このため、ユーザーからは有用で具体的な障害情報は集まらない。ユーザーからの断片的な情報とIoTシステムで収集している情報から、障害の原因分析をすることになる。

 収集した障害情報は、「なぜなぜ分析」「なになに分析」「だれだれ分析」などの手法を用いて整理する。この整理した情報を元に、技術者による分析を行う。

 なぜなぜ分析は障害(コト)の真の原因を追究するために、「なぜ」という問いかけを繰り返して事象の原因を探る。なになに分析はシステム(モノ)を中心に分析するもので、FTA(fault tree analysis)やFMEA(failure mode and effect analysis)などの手法がある。だれだれ分析は責任の所在(ヒト)を明らかにするための分析である。

障害分析の手法
障害分析の手法
[画像のクリックで拡大表示]

 しかし、第1段階の情報収集がうまくいかないと、障害情報が欠損したまま情報を整理し、推測で情報を補填しながら分析を行わなければならない。

 ここで注意することは「推測で情報補填」した事実と観測事実を明確に分けて扱うことである。推測した情報がいつの間にか観測事実として語られ、障害原因の追究が間違った道へ進むことがある。