オブザーバビリティとは?モニタリングとは異なるIT運用の考え方について解説

オブザーバビリティとは?モニタリングとは異なるIT運用の考え方について解説

近年は、ITシステムの運用を効率化するためにオブザーバビリティと呼ばれる考え方が普及してきました。今まではモニタリングが中心でしたが、オブザーバビリティも新しい概念として浸透しつつあるのです。ただ、新しい考え方であることから、皆さんの中には耳にしたことがない人もいるでしょう。

これからITシステムを運用する場合、オブザーバビリティとモニタリングの両方を理解しておかなければなりません。今回は、新しく理解すべき事項である、オブザーバビリティについて詳しく解説します。

オブザーバビリティとは

オブザーバビリティ(Observability)は、日本語で「可観測性」などと翻訳される、システム運用におけるキーワードです。IT運用管理で注目されている考え方で「ツールなどで取得したデータを踏まえて、システムの状態を推測したり問題の原因を特定したりする力」との意味合いを持ちます。

そもそも、オブザーバビリティは観察するという意味を持つ「Observe」と能力を意味する「Ability」を組み合わせた造語です。そのため、IT運用管理の中でも、観察する部分に力を入れているとイメージすれば良いでしょう。ただ、観察するだけでは万が一のアクションを起こさないため、実際に行動する部分も含まれています。

なお、オブザーバビリティは最新の考え方だと思われがちですが、根本的な概念については1960年代から提唱されています。そのため、近年のIT運用を踏まえて新しく生み出されたキーワードではありません。ただ、今までは概念こそ提唱されていたものの、実際に利用する場面がそこまで多くはありませんでした。それが、時代の変化とともに必要となってきたため、近年は急速に注目されるようになったのです。

オブザーバビリティが必要となる理由


オブザーバビリティが必要とされている理由について、大きく2つの観点から解説します。

分散型システムの普及

近年は分散型システムが普及し、これがオブザーバビリティを必要とする大きな理由になっています。基本的に、分散型システムはマイクロサービスとして構築され、今までのようなモニタリングが難しいものです。そのため、モニタリングを支援する考えとして、オブザーバビリティが活用されるようになりました。

例えば、分散型システムではコンテナが多用され、スクラップとビルドが繰り返されます。このような状況においては、今までのようなモニタリングができません。事前に定義して情報収集する作業に手間を要するため、オブザーバビリティが採用されています。

また、マイクロサービスのように機能が細分化されると、どこで問題が生じているか発見しづらくなります。特に根本的な原因については、特定が難しくなるのです。そのような状況においても、オブザーバビリティは原因の特定に大きく貢献してくれます。

システムの巨大化

システムの巨大化は、オブザーバビリティが必要とされる大きな理由です。現在は、多くの業務がIT化され、大量のシステムが組織内で運用されています。これらシステムの一元管理を実現するために、オブザーバビリティの考え方が用いられているのです。

分散型システムと同様に、システムが巨大化すると問題の特定が難しくなります。それぞれが複雑に関係し合っている場合、詳細な原因の特定には時間を要するでしょう。例えば、インターフェースに関する問題は、どこに原因があるか特定しづらくなってしまいます。

なお、どのデータのシステムが「巨大」であるかは、人によって判断が異なる部分です。ただ、実態としてこの部分はそこまで重要ではなく、複数のシステムが組み合わさっている状況自体が、オブザーバビリティを必要とする理由だと考えられます。

オブザーバビリティとモニタリングの違い

オブザーバビリティとモニタリングは同じような意味合いのキーワードとして利用されます。ただ、細かな部分で違いがありこれを理解できていなければ、使い方を誤ってしまうかもしれません。

概念としての違い

オブザーバビリティは日本語で「可観測性」と表現されることからも分かるとおり「可用性」などと並ぶシステムの性質です。それに対して、モニタリングは性質ではなくITシステムの運用における作業や動作を指します。それぞれの言葉が指している概念が異なるため、その内容についても異なってしまうのです。

大きな観点で評価すると、どちらもITシステムの状況を把握して、何かしらのアクションを起こすものです。ただ、オブザーバビリティは状況を観察する能力に重きを置いていて、モニタリングは事実を把握することに重きを置いています。細かな観点で説明すると、微妙に異なる部分であるため、使い分けができるようになっておきましょう。

事前に定義するかの違い

事前にその内容を定義しておくかという観点でも違いがあります。オブザーバビリティは、状況を細かく汲み取ったり観察したりしてシステムの状態を推測することです。また、推測した結果を踏まえて何かしらのアクションを起こすことも含まれます。対して、モニタリングは事前に定義しておいた内容を常に把握し続けることです。

例えば、オブザーバビリティはシステム全体のデータを収集して、何かしら問題が起きていないかを判断します。判断の方法は様々あり、過去のシステム運用と比較して異常な値が現れていないかなどを活用するのです。また、オブザーバビリティの大きな特徴として、このような異変を早期に察知して、未知の問題に対しても早急に対応できるようにします。

対して、モニタリングは事前に定義しておいた内容を踏まえて、異常が起きていないかを検知するものです。CPUやメモリ、ログなど必要な情報を収集し、あらかじめ定めておいた「閾値」を超えていないかなどを評価します。基本的には未知の問題には対応できず、過去に発生した事象などを踏まえた閾値が全ての判断基準となるのです。

どちらも相互に関与する

オブザーバビリティとモニタリングは異なった概念ですが、相互に関与するものです。どちらかだけに注力すれば良いというわけではなく、現在はどちらも活用しなければなりません。システムの運用担当者は、オブザーバビリティとモニタリングの両方を導入することが理想的です。

例えば、既知の領域で何かしらの問題が起きた際は、オブザーバビリティよりもモニタリングの方が素早く検知できます。閾値監視によるアラートを発報することで、担当者に異常をいち早く伝えられるのです。素早い行動を促すことによって、利用者への影響を最小限に抑えられるでしょう。このような流れは、オブザーバビリティでは実現が難しくなっています。

逆に、今まで安定していたシステムの異変を検知するには、モニタリングよりもオブザーバビリティが必要です。オブザーバビリティは、様々なツールや機能を利用して、異変の原因を解析したり特定したりするところまで対応できるため、未知の問題についてもスムーズに対応できます。

オブザーバビリティとモニタリングは、それぞれに得意分野と不得意分野があると考えれば理解しやすいはずです。どちらかだけが必要となるのではなく、お互いに補完しなければなりません。

オブザーバビリティを実現することによるメリット

オブザーバビリティを実現することによるメリットには、どのようなものがあるか解説します。

トラブルへの迅速な対応

オブザーバビリティを実現することによって、トラブルへの迅速な対応が可能となります。モニタリングを導入することでも、トラブルへの対応は素早くなりますが、異なった観点から対応できるようになることがメリットです。今までは発見が難しかったような内容でも、オブザーバビリティを導入しておくことによって迅速に対応できる可能性があります。

例えば、CPUやメモリに関するトラブルは、モニタリングによって検知が可能です。このようなITシステムの運用は、今までも導入されてきています。皆さんの周りにも、モニタリングを導入しているケースがあるでしょう。ただ、システム間の情報連携が失敗しているようなトラブルは、このようなモニタリングでは検知できない可能性があります。

特に、データ連携の処理自体は問題なく完了し、内容に問題がある場合はモニタリングでは検知できません。モニタリングは処理が成功したかどうかに注目しているため、基本的には内容まで評価できないのです。しかし、オブザーバビリティならば内容面を踏まえた評価までできるため、今までは見落としていたトラブルにも迅速に対応できます。

サービスレベルの維持

上記のとおりトラブルへと迅速に対応できるため、ITシステムのサービスレベルを維持することが可能です。システムの可用性が下がってしまうと、必然的にサービスレベルが低下するため、これを防止できることはオブザーバビリティの大きなメリットといえます。

例えば、サーバーの負荷が高まりシステムのレスポンスが下がってしまうと、サービスレベルが低下しかねません。突発的なものであればユーザーは気にならないかもしれませんが、継続すると利便性に大きな影響を与えるでしょう。オブザーバビリティやモニタリングによってこれを素早く解消できれば、サービスレベルを維持できます。

なお、近年はDevOpsなども活用されるようになっていて、これと組み合わせることでサービスレベルの維持を実現している場合があります。例えば、オブザーバビリティで問題点を素早く検知して、それに適した変更を自動的に加えるような仕組みを構築しているのです。

オブザーバビリティを実現するために求められる3つのこと


オブザーバビリティを実現するためには3つのことを意識しなければなりません。それぞれどのような工程であるのか解説します。

データ収集

オブザーバビリティを実現するためには、データ収集に力を入れなければなりません。データ収集の中でもメトリクス・ログ・トレースが重要だと考えられていて「オブザーバビリティの3つの柱」と呼ばれます。それぞれの内容をまとめると以下の通りです。

  • メトリクス:CPUやメモリなどリソースの使用状況やレイテンシーなどサービスの状況を示す定量的な数値データ
  • ログ:OS・ミドルウェア・アプリケーションなどの設定によって出力されるイベント情報
  • トレース:アプリケーション処理で発生するリクエストやコンポーネントの名称、処理時間などをまとめたもの

メトリクスについては、モニタリングで収集される情報と同じものを利用することがあります。また、メトリクス作業の一部をモニタリングに置き換えて、より親和性の高いIT運用を実現することも考えられるのです。

なお、基本的にはこれらの情報を利用しますが、他にも、プロファイラ・ダンプファイルが利用される可能性があります。これらについて補足すると以下の通りです。

  • プロファイラ:アプリケーションがどのように実行され、どの程度のリソースが割り当てられたかを示す情報
  • ダンプファイル:コアダンプとも呼ばれるもので、システムが以上停止した場合に出力されるメモリの情報

これらの情報をリアルタイムで収集して、システムの運用に活かすのがオブザーバビリティなのです。

データ分析と可視化

収集したデータは定期的に分析しなければなりません。特に、何かしらの異常が発生しているかどうかを観察し、問題を検知した場合は通知することが重要です。通知する部分まで含めて、IT運用であると考えた方が良いでしょう。

問題を検知するためには、適切な方法でデータ分析しなければなりません。分析の手法はいくつも考えられるため、状況に応じて適切なものを選択しましょう。例えば、今までのデータと比べて、明らかに外れ値が生じた場合に検知するなどです。

また、データの分析結果は可視化しなければ直感的な理解が難しくなってしまいます。そのため、ツールを利用してデータをグラフや表形式で表示する作業も重要です。

データ活用

データの分析が進められたならば、これを積極的に活用することが重要です。顕在している問題を速やかに解決するだけではなく、潜在的な問題を解決する必要もあるでしょう。IT運用といえば、目の前の問題を解決するものだと思われがちですが、実際にはそれにとどまりません。

例えば、サーバーから提供された情報を分析することで、全体的に負荷が上昇していることが判断できるかもしれません。この場合、ユーザーに影響がなくとも先手を打ってスペックアップすることが考えられます。現在は、データに基づいた「データドリブン」な判断が求められるため、積極的に活用していきましょう。

まとめ

オブザーバビリティはIT運用で理解しておきたい考え方であり、今まで利用されていたモニタリングとは異なった概念です。厳密には根本的に異なる考え方ですが、比較されることが多いと理解しておきましょう。実際には、オブザーバビリティとモニタリングを組み合わせて利用することが重要です。

なお、オブザーバビリティにはモニタリングとは違うメリットがあり、実現するために必要な3つの軸があります。それぞれを理解できていなければ、オブザーバビリティの良さを活かせないため、この機会に学んでおきましょう。

SHAREこの記事をシェアする

admin