
注目される最新の監視体制「オブザーバビリティ」とは?モニタリングとの違いなど
はじめに

現在、クラウドネイティブ技術やDevOpsの考え方が進み、今までにないサイクルスピードでのシステム構築/運用が実現可能となっています。
それに伴い、システムが大規模になり複雑化している環境で、「オブザーバビリティ」という単語を目にする機会が増えているのではないでしょうか。
そこで今回は、新しい運用体制として注目の的となっているオブザーバビリティについての概要や、今までの監視体制との違い、オブザーバビリティの一例等を解説します!
記事前半では概要やモニタリングとの違いを、後半では実際にあるサービス等をご紹介するので、是非じっくりとご覧ください。
オブザーバビリティ(可観測性)とは

「オブザーバビリティ(可観測性)」とは「Observe(観察する)」と「ability(能力)」を組み合わせた言葉です。日本では観察する能力という意味の「Observability(可観測性)」として訳されます。
つまり、オブザーバビリティとは従来に比べてシステムを観察する能力をより高めた監視体制のことです。
従来の運用監視では、「サーバーを監視する方法」として「モニタリング」が採用されてきました。一方で「オブザーバビリティ」とは、監視方法そのものを指すのではなく、「システム全体を運用する上での考え方」として、より抽象度の高い概念を指しているのが特徴です。。
現在、クラウドネイティブ技術の活用が進み、コンテナやサーバーレスファンクション、マイクロサービス等の利用が急速に拡大しています。オブザーバビリティを現場に実装することで、このようなハイブリッドクラウド/マルチクラウド環境の複雑な分散システムを詳細に可視化し、根本原因の特定までを可能にします。「オブザーバビリティのある環境」に必要な要素
「オブザーバビリティのある環境」といえる具体的な要素としては、メトリクス、ログ、トレースの3本柱です。
メトリクスは主にデータの収集を担当します。CPUの使用率やメモリの使用率など、リアルタイムで内部の状態を見える化する事で、正確な意思決定やデータ活用を促す取り組みです。
ログはマシンの動作について、その詳細をテキストにして出力します。いつ何が起こっているのか、どんなエラーが発生しているのかなどを逐一把握するのに役立つ要素です。
トレースは、トラブルシューティングのための原因特定を実行します。どのような処理が実行されたことで今に至るのかを辿り、関連データやシステム全体の可視化で担当者をサポートできる要素です。
メトリクスとログ、そしてトレースを活用し、複雑なシステムを詳細に分析したうえで、「システム全体の稼働状態」や「トラブルの根本原因」を特定することが初めて実現します。。
次の項目では、なぜそのようなオブザーバビリティのある環境が必要なのかを解説いたします。

なぜオブザーバビリティが必要なのか?

従来のようにシンプルな運用環境では、システム全体の把握や、問題の特定がそこまで難しいものではありませんでした。そのため、エンジニアが把握できる範囲内に収まっており、そのうえで解決策を見出すことが出来る運用体制であれば問題ありませんでした。
しかし昨今、よりスケーラブルなシステムの運用体制や、よりスピーディなシステムのリリース/デプロイが求められるなど、構造の複雑さが目立つようになってきました。コンテナ技術やFaaSを利用した、クラウドでのシステム運用へ移行が進んでいます。
また、クラウドを利用することで、簡単にシステム全体を大規模化することも可能になりました。クラウドへの移行、および製品間の連携が最新技術で行われることにより、システムは高度かつ複雑になっていったわけです。オブザーバビリティは、複雑化するシステムに対応可能な監視体制
クラウドネイティブ技術には、特定の機能を持ったマイクロサービスを複数組み合わせて一つのアプリケーションを構築するといった特徴があります。
わかりやすい例でいうと、AWS等で、一つのサービスに対してたくさんのマイクロサービスが連携されている構成図を見たことがないでしょうか。その中のマイクロサービス一つ一つに細かい設定を行い、全て連携したうえで安定した稼働を実現するとなると、従来の監視方法(モニタリング)ではシステムの可用性やサービスレベルの維持が難しくなります。
そこで注目されたのが、「オブザーバビリティ」という監視体制です。
オブザーバビリティを取り入れることによって、複雑なシステム全体を観測し、無数にある障害原因の前兆や根本原因の特定が可能になるため、迅速な問題解決や事前対策が可能となり、複雑なシステムにも関わらず可用性や運用に使う時間の削減、コスト効率等が最適化され、スピーディで安定した稼働が実現可能となります。

画像引用元:AWSでコンテナを利用した構成図の一例(AWS公式サイト)
つまり、これからのIT業界で戦っていくうえで求められる要素や安定稼働を実現するためには、オブザーバビリティが必須の考え方となると考えます。
従来の監視体制である「モニタリング」との違い
従来の監視体制であるモニタリングとオブザーバビリティの違いを一言で言うと、モニタリングは監視方法、オブザーバビリティは監視体制です。関係性を言葉にすると、「オブザーバビリティを実現する上で必要な要素の一つがモニタリング」であると言えます。
もう少し詳細をご説明すると、モニタリングとは、「事前に監視項目として設定した障害を検知した際、アラートとして通知される」といった監視体制です。モニタリングは「どこが異常であるかを把握する」という仕組みの監視方法であると言えます。
対してオブザーバビリティとは、「システム全体を常に観測しながら可視化し、その情報を基に分析をして根本原因まで特定する」といった監視体制です。オブザーバビリティは「複雑な分散システムを可視化し、なぜ障害が起きたのかを把握する仕組み」を指します。
オブザーバビリティを強化するためのサービスは、以下の表に記載した仕組みの他にもAIを使った計測技術など様々なものがあります。
モニタリング | オブザーバビリティ | |
わかること | どこに異常があるか | なぜ障害が起きたのか |
監視体制 | 事前に監視項目として設定した障害を検知した際、アラートとして通知される | システム全体を常に観測しながら可視化し、その情報を基に分析をして根本原因まで特定する |
仕組み | 内部の負荷状況や外部からの応答情報を常に数値化。 事前に設定したしきい値を超えた際にアラートとして障害内容が通知される。 | メトリクスで監視データを収集し通知、ログでテキストを出力し詳細を把握。 トレースでシステム内の処理を順番にたどることで根本原因を特定する。 |
上記の内容を踏まえると、オブザーバビリティはモニタリングなしには実現することができません。逆にモニタリングを、オブザーバリビティを踏まえずに実施することは、十分なセキュリティ体制を構築することに繋がらないでしょう。モニタリングだけでは多様化する攻撃に対し、迅速な対応ができないからです。
被害を最小限に抑えたり、根本原因の特定を行い再発を予防したりする上で、オブザーバビリティの獲得は不可欠です。
オブザーバビリティ実装の課題

オブザーバビリティの獲得は、高度なセキュリティ環境の実現において重要な役割を果たします。一方で現状では導入に際し、いくつかの課題をクリアしなければなりません。
実装に伴う大きな課題が、導入コストです。モニタリング環境の刷新や、それ以上の設備投資が必要になるため、十分なオブザーバビリティの確保を早急には進められません。
また、そもそもオブザーバビリティに対する理解が現場で十分に浸透していないことも、課題となっています。現状の環境ではなぜ不足するのか、オブザーバビリティの確保で何が変わるのかが理解されず、十分な予算や時間が与えられない問題です。
これらの問題に時間をかけて対処することが、サイバーセキュリティにおいて重要な取り組みと言えるでしょう。
AWSにおけるオブザーバビリティの例

代表的なクラウドサービスのAWSを基に、オブザーバビリティを実現するサービスをいくつか紹介させていただきます。
詳しくはAWS公式ページに乗っておりますので、ここではあくまでオブザーバビリティの一例として概要だけご紹介できればと思います。
Amazon CloudWatch(監視・分析・トラブルシューティング)
Amazon CloudWatchは、リアルタイムのログ、メトリクス、イベントデータを収集して自動化されたダッシュボードに視覚化し、インフラストラクチャとアプリケーションのメンテナンスを合理化できるサービスとして提供されています。
AWSで運用する上では利用する機会も多いかと思いますが、閾値を設定しての監視はもちろん、視覚化ツールを利用しての分析、収集したデータを使用してトラブルシューティングまで行うことが可能です。
視覚的にもとても見やすくなっており、AWSを利用した監視には欠かせないサービスとなっております。(公式ページ:詳細はこちら)
AWS X-Ray(サービス全体の監視・可視化)
AWS X-Ray は、リクエストがアプリケーションを通過する際の完全なビューを提供し、ペイロード、関数、トレース、サービス、API などのビジュアルデータをノーコードおよびローコードモーションでフィルタリングできるサービスとして提供されています。
AWS X-Rayでデータを収集、可視化することで、流れの把握や問題の特定が可能となり、障害の根本原因を解消する手助けとなります。
CloudWatchでサーバーを監視し、AWS X-Rayでサービス全体の監視と可視化をする、といった運用はオブザーバビリティの強化につながります。(公式ページ:詳細はこちら)
Amazon DevOps Guru(異常の原因特定・解決策の提示)
Amazon DevOps Guruは、AWSの機械学習モデルを使用し、異常パターンを検知し、サービス影響を与える前に問題を特定できるサービスとして提供されています。
ログの中のキーワードや挙動等で異常を起こす原因を特定し、AWSが培ったきた機械学習データを基に推薦される解決策を提示まで行えます。
このような機械学習の使用は、オブザーバビリティを強化する大きな要素となります。(公式ページ:詳細はこちら)
Amazon CodeGuru
Amazon CodeGuruは、セキュリティの脆弱性を検出し、コードレビューを自動化できるサービスとして提供されています。
アプリケーションコードを参照し、機械学習および自動推論を行い、AWSからセキュリティの脆弱性や最適化するための推奨事項を提示してくれます。
Amazon CodeGuruを通じてアプリケーションコードの最適化を行い、運用コストやパフォーマンスの向上が可能です。(公式ページ:詳細はこちら)
その他AWSサービス
オブザーバビリティを実現できるサービスには、上記以外にも複数の製品が挙げられます。代表的な例は、
- Amazon Managed Grafana
- Amazon Managed Service for Prometheus
といったサービスです。
Amazon Managed Grafanaは、メトリクスのためのデータビジュアライセーションに活躍します。複数のソースにまたがった運用データを可視化し、現場の安全性確保に役立ちます。
Amazon Managed Service for Prometheusは、コンテナ化したシステムのモニタリングに役立つサービスです。PromQL)を使用し、フィルタリングなどを実行可能です。
まとめ

今回紹介したオブザーバビリティのポイントとしては以下になります。
- オブザーバビリティとは、システム全体を可視化し障害の根本原因まで特定可能な監視体制
- 現在のIT業界で課題となっている「複雑化」の対策に、オブザーバビリティは重要
- モニタリングは、オブザーバビリティを実現する要素の一つ
- オブザーバビリティを実現する様々な計測技術がすぐに利用可能である。
今回は、注目される最新の監視体制「オブザーバビリティ」についての概要を主に紹介させていただきました。
オブザーバビリティへの考え方は会社や運用形態によって変わる部分もございますので、オブザーバビリティに関する記事をたくさんご覧になって、最適な運用体制を見つけるきっかけとなりましたら幸いです。
AWS公式:オブザーバビリティを実現できるサービス