近年注目のオブザーバビリティとは?導入メリットを分かりやすく解説

IIJ

エバンジェリスト(監視・運用)

福原 亮

サポートセンター勤務、監視運用設計担当を経てIIJ統合運用管理サービス(UOM)を始めとする、アウトソーシングサービスの企画/開発に従事。昨今は、クラウドインフラやアプリケーションを可視化するオブザーバビリティを推進。

執筆・監修者ページ/掲載記事:1件

多くの企業では、複数のクラウドを組み合わせて利用しています。そこでシステム監視の手法として注目されているのが「オブザーバビリティ」です。今回は、オブザーバビリティの基本的な考え方から従来の監視との違い、更に企業が得られる具体的なメリットについて分かりやすく解説します。

目次
  1. オブザーバビリティとは
  2. オブザーバビリティと監視の違い
  3. オブザーバビリティのメリット
  4. クラウドネイティブツール利用における課題
  5. マルチアカウントやマルチクラウド環境を一元管理

オブザーバビリティとは

オブザーバビリティとは、システムの動作状況を詳細に把握し、問題の原因分析を効率的に特定するための手法です。従来の監視は、CPUやメモリ使用率などの個別の対象を指定して監視するのに対して、オブザーバビリティでは、システム全体のデータを包括的に収集して分析できます。

オブザーバビリティと監視の違い

クラウドネイティブが浸透しつつある現在、従来の監視による運用では、以下の理由から障害時の原因分析が難しくなり、運用が非効率的になる課題が生じています。

  • 情報の分散
    • クラウドネイティブ環境では、アプリケーションが複数のマイクロサービスに分割され、それぞれが異なるコンテナやサーバ上で動作しています。情報が分散されるため、システム全体像を把握しづらく、特定の機能のエラーが他の機能に影響を与えても、それを把握することは困難です。
  • PaaS化による情報の見えにくさ
    • プラットフォームサービス(PaaS)の利用が進み、インフラストラクチャの管理が容易になったため、開発者はアプリケーションの開発に集中できるようになりました。
      一方で、PaaSの状態やPaaS間の情報といったシステム内部の情報にアクセスすることは難しくなりました。PaaSから取得できる部分的なメトリクスやログ情報だけでは、障害の根本原因を特定するのに十分ではないケースがあるため、効率的な原因特定が難しくなっています。

従来の監視手法は、あらかじめ定めた監視ルールに基づいて特定のメトリクスや一部のログ情報を収集するため、障害時に必要な情報が不足する、という課題があります。
一例として、アプリケーションのレスポンスが急に遅くなった場合、従来の監視手法ではCPU使用率やメモリ使用量の異常を検出することはできますが、これらの情報だけでは具体的にどのリクエストが問題を引き起こしているのか、どこでボトルネックが発生しているのかを特定することは困難です。そのため、運用者はサーバへログインしてログを参照しなければならず、障害対応に時間がかかってしまいます。

これに対して、オブザーバビリティは、障害対応に必要な情報をあらかじめ取得する手法です。詳細なメトリクス情報や対象のすべてのログに加えて、アプリケーションのトレース情報、更にはユーザの操作履歴までも収集できます。
また、PaaSやコンテナの情報も収集できるため、効率よく原因分析することが可能です。例えば、コンテナのリソース使用状況やPaaS環境でのアプリケーションの状態など、従来の監視手法では手が届きにくかった情報も包括的に収集できます。
更に、ユーザが行った操作でアプリケーションが正常に動作しなかった場合、操作履歴からトレースを特定し、関連するログを発見することができます。これにより、障害発生時にどの部分で問題が発生したのかを、1つのツールで迅速に特定することが可能になります。

オブザーバビリティのメリット

オブザーバビリティのメリットについて、データの収集、可視化、原因分析の観点からご紹介します。

データの収集

オブザーバビリティはあらかじめ監視ルールを定めなくても、システムのあらゆるデータを短いスパンで収集し、管理することが可能です。

  • ログ
    アプリケーションやシステムの動作記録(例:エラーログ、アクセスログ)
  • メトリクス
    システムのパフォーマンス指標(例:CPU使用率、メモリ使用量、ディスクI/O)
  • トレース
    アプリケーション内のリクエストの流れを追跡するデータ(例:どのサービスがどの順番で呼び出されたか)
  • ユーザ操作履歴
    特定のアクションや状態変化を記録するデータ(例:ユーザのログイン、画面操作)

アプリケーションが複数のマイクロサービスに分割され、それぞれが異なるコンテナやサーバ上で動作するクラウドネイティブなシステムでも、データを一元的に管理することが可能です。
更に、一定期間にわたって上記のデータを収集することで、システムのパフォーマンスの変化を分析し、将来的な改善に役立てることができます。

可視化

収集したデータから以下のような情報を可視化できます。

  • リソース
    CPU使用率やメモリ使用量などのインフラのパフォーマンス状態
  • ログ
    アプリケーションのエラーの発生頻度や発生箇所の状態
  • トレース
    処理におけるボトルネック箇所の状態(リクエストがどの機能を経由して処理されているか)

これらの情報をグラフやチャートを使ってリアルタイムにダッシュボードで表示することで、問題の発生箇所や頻度を迅速に特定できます。

原因分析

システムの問題を解決するために必要な基本的な情報をすべて自動で収集しているため、効率的に原因分析ができます。
例えば、ダッシュボードを使ってシステムの状態を確認すれば、エラーが発生した場所がすぐに分かります。また、そのエラーに関連するログやメトリクスなどのデータを更に詳しく調査できるため、問題の原因を迅速に特定できます。このように、障害対応スピードが向上し、システムのダウンタイムを大幅に減らすことも可能です。
その結果、サービス品質が改善し、カスタマーエクスペリエンスが向上することで、ユーザの満足度と信頼性を高めることができます。

クラウドネイティブツール利用における課題

クラウドサービス提供事業者が監視・可観測性機能を提供するクラウドネイティブツールでもオブザーバビリティを実現することが可能です。クラウドネイティブツールのメリットは、すぐに利用できる点と、クラウド環境に最適化されているため導入がスムーズという点です。

一方で、クラウドネイティブツールを用いてオブザーバビリティを実現するためには、ログ管理、メトリクス収集、トレース分析などの機能を持つ、複数のネイティブツールを組み合わせて利用する必要があります。また、一般的に、クラウドネイティブなシステムは1つのサブスクリプションだけでは完結しません。複数のクラウド環境やアカウントを組み合わせて2つのシステムが構成されていることが多いのです。

そのため、マルチアカウントやマルチクラウド環境を統合的に監視することが難しく、データを一元的に管理するための仕組みが必要となります。更に、従来のシステム運用管理体制では開発者と運用者が別のチームであることが珍しくなく、複数の担当者がシステム全体を一元的に管理できるツールが求められます。

マルチアカウントやマルチクラウド環境を一元管理

IIJでは、こうしたクラウドネイティブツールの課題を解決するため、「IIJ統合運用管理サービス(UOM)」の新機能として「オブザーバビリティ機能」をリリースしました。複数のクラウド環境、サブスクリプション、アカウント環境だけでなく、オンプレミス環境も一元的に管理することができるようになり、クラウドネイティブなシステムに対して、効率的にシステム運用管理が可能です。

従来の監視では実現できなかったユーザの操作履歴の記録やアプリケーションのモニタリングができるようになっただけでなく、IIJ統合運用管理サービスのその他の機能(自動電話通知、自動オペレーション、チケット管理)と組み合わせることで、障害対応を自動化できます。

サービス詳細を資料にまとめていますので、ご興味がございましたらぜひご覧ください。