注目される最新の監視体制「オブザーバビリティ」とは?モニタリングとの違いなど
2022.12.19
オブザーバビリティという言葉を聞いたことはあるけどよくわからない、という方に向けて、本記事では最新の監視体制である「オブザーバビリティ」についての解説を、項目に分けてご紹介いたします。
はじめに
現在、クラウドネイティブ技術やDevOpsの考え方が進み、今までにないサイクルスピードでのシステム構築/運用が実現可能となっています。
それに伴い、システムが大規模になり複雑化している環境で、「オブザーバビリティ」という単語を目にする機会が増えているのではないでしょうか。
そこで今回は、新しい運用体制として注目の的となっているオブザーバビリティについての概要や、今までの監視体制との違い、オブザーバビリティの一例等を解説します!
記事前半では概要やモニタリングとの違いを、後半では実際にあるサービス等をご紹介するので、是非じっくりとご覧ください。
オブザーバビリティ(可観測性)とは
「オブザーバビリティ(可観測性)」とは「Observe(観察する)」と「ability(能力)」を組み合わせであり、観察する能力という意味の「Observability(可観測性)」として訳されます。
つまり、オブザーバビリティとは従来に比べてシステムを観察する能力をより高めた監視体制のことです。
従来の運用監視では、「サーバーを監視する方法」として「モニタリング」で運用されていましたが、「オブザーバビリティ」とは監視方法ではなく、「システム全体を運用する上での考え方」となります。
現在、クラウドネイティブ技術の活用が進み、コンテナやサーバーレスファンクション、マイクロサービス等の利用が急速に拡大しています。オブザーバビリティでは、このようなパイブリットクラウド/マルチクラウド環境の複雑な分散システムを詳細に可視化し、根本原因の特定まで可能となります。
「オブザーバビリティのある環境」に必要な要素
「オブザーバビリティのある環境」といえる具体的な要素としては、メトリクス、ログ、トレースなどを活用し、複雑なシステムを詳細に分析したうえで、「システム全体の稼働状態」や「トラブルの根本原因」を特定できる環境となります。
次の項目では、なぜそのようなオブザーバビリティのある環境が必要なのかを解説いたします。
なぜオブザーバビリティが必要なのか?
従来のようにシンプルな運用環境では、システム全体の把握や、問題の特定がそこまで難しいものではありませんでした。そのため、エンジニアが把握できる範囲内に収まっており、そのうえで解決策を見出すことが出来る運用体制であれば問題ありませんでした。
しかし昨今、よりスケーラブルなシステムの運用体制や、よりスピーディなシステムのリリース/デプロイが求められるようになり、コンテナ技術や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サービス
AWSはもちろん、他にもたくさんオブザーバビリティを実現できるサービスがありますので、気になった方はぜひ調べてみてください。
まとめ
今回紹介したオブザーバビリティのポイントとしては以下になります。
今回は、注目される最新の監視体制「オブザーバビリティ」についての概要を主に紹介させていただきました。
オブザーバビリティへの考え方は会社や運用形態によって変わる部分もございますので、オブザーバビリティに関する記事をたくさんご覧になって、最適な運用体制を見つけるきっかけとなりましたら幸いです。
運用についてのご相談等ございましたら、ぜひ弊社までご連絡をお待ちしております!
【Google Cloud Next Tokyo ’24】JIG-SAWも講演しました!(AIを活用した障害対応の効率化)
【Google Cloud Next Tokyo ‘24】Google Cloud のインフラストラクチャ構成のベストプラクティスを一挙に紹介(講演レポート)
【Google Cloud Next Tokyo ’24】最新の Google Compute Engine(GCE)とTitaniumでハイパフォーマンスとコスト最適化を実現(講演レポート)
【Google Cloud Next Tokyo ’24】CNAPP と SecOps の融合へ:Security Command Center Enterprise によるマルチクラウド セキュリティ(講演レポート)