全4092文字
PR

 近年、ITシステムの大規模障害によって企業が経営責任を問われるケースが増えている。システム障害が大きな話題となるのは、かつて業務効率化のためのツールだったITが、今や企業のビジネスそのものとなったためだ。分散化の傾向が強まり、複雑さを増す最近のシステム障害対策は以前より難しくなっている。システムの堅固さを追求するだけでなく、いずれ障害が起こる前提で回復性(レジリエンシー)をも重視した設計・運用が重要だ。そこでこの特集では回復性の視点から、システム障害対応のポイントを解説する。

今まで通りのログ収集では足りない、分散システムの運用・監視

 今回は複雑化するシステムアーキテクチャーに対応する可視化や、運用・監視機能について見ていこう。この特集の第1回、第2回でも触れたが、システム障害時に迅速な意思決定を実現するにはシステム全体の状況の可視化が欠かせない。

関連記事 企業を揺るがす大規模システム障害、「分散化」への対応が成否を分ける

 最近はシステムの開発にスピードやアジリティーが求められるようになった結果、マイクロサービスのような疎結合な分散化したアーキテクチャーの採用が増えている。こうした分散型のアーキテクチャーは、密結合かつモノリシック(一枚岩)なアーキテクチャーを取る従来のシステムに比べて全体を監視するのが難しい。

 従来の可視化では、主に「ログ」や「メトリクス」を監視していた。ログはシステムイベントの記録のこと。メトリクスはCPU使用率、ディスク使用率などのデータを一定間隔で時系列に沿って収集したものを指す。これまでの監視システム下では、「ログにエラーメッセージが出現した場合や、メトリクスが特定のしきい値を超えたら管理者に障害検知のメッセージが届く」「管理者はあらかじめ策定された障害対処表とメッセージを照らし合わせ、次に何をすべきか決定する」というのが障害発生時の初期動作だった。シンプルな仕組みだが、モノリシックなアーキテクチャーに対する監視手法としては有効だったといえる。

 こうした従来の監視手法は、マイクロサービスアーキテクチャーに代表される複雑な構成の分散システムに対しては必ずしも有効ではない。分散システムでは、サービス間で大量のやり取りが発生する。その全てを監視・把握し、依存関係を含めた全体状況を可視化するのはログやメトリクスでは難しいためだ。そのため分散型アーキテクチャーを取るシステムでは、障害時の原因追及や復旧までのコントロールが困難になるケースが相次いでいる。

 この問題を避けるためには、ログやメトリクスなどの従来手法に加え、以下の4種類の機能を使ってシステム全体の状況を見える化していくことが有効だ。こうした「システム全体の可視化」を「可観測性(オブザーバビリティー)」と呼ぶ。以下の機能は可観測性を整備する上で必須の機能といえる。こうした可観測性を実現する機能はSaaS(ソフトウエア・アズ・ア・サービス)監視ツールが提供するほか、大手クラウドサービスが一機能として備えていることもある。

(1)APM監視機能(分散トレーシング)
(2)外形監視機能
(3)時系列を意識した可視化機能
(4)ダッシュボード機能

 以上の4機能について順番に見ていこう。