オブザーバビリティの3つの柱:統合ログ、メトリック、トレース
テレメトリ信号を理解することで、より良い意思決定、パフォーマンスの向上、そして顧客体験の強化が可能に
.jpg)
テレメトリ信号はここ数年で大きく進化しており、まばたきしている間にその変化を見逃していたかもしれません。実際、オブザーバビリティに関する一般的な知識の多くは、見直しが必要な段階にあります。オブザーバビリティソリューションがテレメトリの現状を考慮していない場合、アップグレードが必要かもしれません。ソフトウェアシステムの監視とオブザーバビリティは、技術の進歩やシステムの複雑化、新しい監視アプローチの導入とともに、いくつかの段階で進化してきました。
いつものように、データはストーリーの中心にあります。遠隔計測の進化は、コンピューティングの進化と密接に関連しています。データの必要性が機械的な性能指標からビジネスパフォーマンスの指標(または複数の指標)に拡大するにつれて、遠隔測定信号も拡大しています。コンピューティングが分散型クラウド環境へと進化しているため、これらのアーキテクチャや広大なデジタル環境の複雑さに対応するために、監視手法も進化させる必要があります。
そこで登場したのが、環境を観察するだけでなく、理解する能力、オブザーバビリティ です。
オブザーバビリティの3つの柱とは
3つのテレメトリ信号は、オブザーバビリティの基盤となる柱、メトリクス、ログ、トレースです。しかし、現代のオブザーバビリティにおいては、これだけでは不十分かもしれません。そこで、当社は新たな4番目の柱として、プロファイリングを提案します。
「メトリクス、トレース、ログ、プロファイルは、オブザーバビリティを正しく行い、パフォーマンスと生産性を監視するための歯車です。その結果、収益性に有利な実用的な洞察が得られます。それらが基盤となっているのには理由があります。誤解していると、あなたは風に乗って行ってしまいます。掘り下げてみましょう。」
メトリクスとは?(または何が起こっているのか)
メトリクスは、ハードウェア、アプリケーションソフトウェア、ウェブサイトなど、さまざまなソースから収集される生の数値データであり、既知の事実を測定します。それらは、リソースの使用状況、パフォーマンス、ユーザーの行動に関する情報を提供します。メトリクスは監視の元々のテレメトリ信号であり、いくつかの種類に分類することができます:
ホストメトリクス:CPU、メモリ、ディスクの使用状況
アプリケーションメトリクス:応答時間、エラー率、リクエスト率
ネットワークパフォーマンスメトリクス:スループット、稼働時間、レイテンシ、可用性など
サーバプールメトリクス:スケーリング調整メトリクス、実行中のインスタンス数、総インスタンス数
外部依存関係のメトリクス:サービスのステータス、応答速度、可用性、エラー率
これらのメトリクスは、アラート、警告、およびエラー条件の閾値を設定するために必要です。これにより、チームはシステムとネットワークのパフォーマンス全体を監視し、問題が発生した際に特定することができます。このように、メトリクスは監視における反応的な立場を支えます。
ログとは?(このようなことが起きている原因)
ログは、特定のイベントに関連するタイムスタンプ付きのエントリで構成される、インフラストラクチャ、アプリケーション、ネットワーク、およびシステムからの構造化データと非構造化データです。さまざまな種類のデバイスやシステムがログを出力します。
ネットワークデバイス
オペレーティングシステム
アプリケーション
IoTデバイス
サードパーティ製アプリケーション
これらのデバイスはそれぞれ独自のタイプのログを生成します。システムログには接続試行、エラー、構成の変更などのイベントが含まれますが、アプリケーションログにはソフトウェアの変更からCRUD操作、アプリケーション認証などあらゆるものを記録するログが含まれます。ログの保存は、ログソースの数(上記のデバイス、アプリケーション、システムのうち、組織で実行されているものの数を考慮してください)、一貫性のない形式とタイムスタンプ、そしてリクエスト、使用、トラフィックの増加に伴う膨大な量のログデータを格納することが複雑になります。
ログは、主に問題のトラブルシューティングのために使用されていましたが、現在では、ユーザーのアクションの記録、システムとネットワークのパフォーマンスの最適化、セキュリティ監視の調査に役立つデータを提供するなど、多くの機能を果たすようになりました。問題やイベントをデバッグする際、IT担当者はログを参照し、問題を特定し、改善します。ログ自体は柔軟性があり、情報で満たされていますが、そのほとんどは不要なものであり、多くのノイズを発生させています。ログデータはサイロ化されており、本質的に相関していません。
トレースとは?(どこで起こっているのか)
トレースは、ユーザーがアプリケーションやサービスを使用している間に実行したアクションを記録することで、ユーザーの視点からアプリケーションを示す最初の信号です。ディストリビューティッド(分散)トレーシングは、リクエストが分散アーキテクチャをフロントエンドからバックエンド、そして再びフロントエンドへと送られていく過程を監視する方法です。このように、Kubernetesなどの複雑なテクノロジーに依存する分散型のクラウドネイティブアプリケーションにはトレースが必要です。
サイロ化されたデータをまとめることで、トレースはボトルネックの発見や、ディスク、ネットワーク、相互排他(ミューテックス)など、複数のアプリケーションを使用するアプリケーションのデバッグおよび監視に役立ちます。また、トレースはプロアクティブなスタンスで監視を行うための基礎となります。たとえば、SRE、ITOps、DevOpsチームは、トレースデータを分析して、特定の問題に関連する最も有用なメトリクスやログを発見し、将来的に問題を軽減することができます。
メトリクス、ログ、トレースはそれぞれ、システムやアプリケーションに関する異なるタイプのデータセットを提供し、ユーザーの質問に答えるために役立ちます。しかし、これらのデータが相互に関連付けられていない場合、ユーザーは重要な情報を見落とし、さまざまな盲点に直面することになります。このギャップを埋める鍵となるのが、もう一つのテレメトリー信号です。テレメトリーの進化における次のステップは、プロファイリングです。
プロフィールとは?
プロファイルは、コードパフォーマンスの問題に関連するスタックトレースの収集であり、スタックトレースが発生した回数を示します。これらは他のシグナルよりも深い洞察を提供し、カーネルレベルとユーザースペースレベルの両方で、データ構造やメモリ割り当て、コードの可視性に関連するあいまいな問題を特定するのに役立ちます。プロファイルを収集し分析する行為は、プロファイリングと呼ばれます。
プロファイリングにより、これまでにない幅と深さの可視性が得られ、システム内の未知の未知を発見できるようになります。これにより、システム全体の包括的な可視性が最終的に実現されます。だからこそ、これはオブザーバビリティの4つ目の柱なのです。
プロファイリングについて詳しく学ぶには、「OpenTelemetryに対するElasticの貢献であるユニバーサルプロファイリングエージェントについて解説」をご覧ください。
オブザーバビリティとテレメトリ信号の関係
テレメトリ信号は、オブザーバビリティの基盤です。オブザーバビリティは、テレメトリ信号を収集、分析、可視化することによって、システムの内部状態を把握することで実現されます。
フェーズ1:基本的な監視とオブザーバビリティ
クラウド登場以前、監視は手動で、ローカルで、そして限られたものでした。当時のコンピューターはごく一部のビジネス分野にしか存在せず、ニッチなオフィスマシンに過ぎませんでした。しかし、テクノロジーが進化し、コンピューターが一般家庭やオフィスに普及するにつれて、監視もまた進化しました。今では、監視は重要なIT プラクティスであり、オブザーバビリティへの第一歩と捉えられています。
サーバー内やイントラネットを流通するデータの増加に対応するため、ITエンジニアは検出を自動化するオープンソースの監視ツールを開発しました。これらのツールの登場によって、基本的なネットワークやデスクトップの監視はローカルからウェブベースへと進化を遂げました。今や、遠隔測定シグナルは単なるオペレーションやローカルトラフィックの監視を超え、ビジネスに不可欠なメトリクスとなっています。では、現在においてメトリクス、ログ、トレースはどのように捉えるべきでしょうか?たとえば、接続速度は十分か?データ侵害は発生していないか?これらの問いへの答えは、顧客体験と満足度を左右し、ひいてはお客様のビジネスの収益性に直結します。
また、Webサイトが顧客データを受け取るようになったことで、セキュリティ監視はあらゆる監視ソリューションにおいて、ますます重要な要素となっています。
フェーズ2:アプリケーションの監視とオブザーバビリティ
拡張性の向上を求めて、開発者はモノリシックアプリケーションからサービス指向アーキテクチャ、そしてマイクロサービスとサーバーレスに移行します。
密結合コンポーネントからモジュール型コンポーネントへの移行と、開発者が迅速にスケールできるアプリケーションの柔軟性向上は、監視に必要なオブザーバビリティシグナルの大幅な増加を意味します。インフラだけでなくアプリケーション自体も監視する必要があるため、効果的な監視に必要なテレメトリシグナルのリストに、応答時間、スループット、エラー率が追加されます。アプリケーションパフォーマンス監視(APM)は、オブザーバビリティにとって不可欠な新たなプラクティスとツールセットとして登場しました。
フェーズ 3:クラウドにおける監視とオブザーバビリティ
クラウドネイティブテクノロジーへの移行により、アプリケーション開発の進化と同様に、監視業務も一層複雑になっています。テレメトリ信号の量と種類は日々増加しており、対応すべき情報は拡大の一途をたどっています。
分散アーキテクチャの環境では、ビジネスが迅速かつシームレスで安全なオンライン体験という顧客の期待に応えているかどうかを把握するために、従来とは異なる新しい種類の遠隔測定信号が求められます。ここで重要となるのが、メトリクス、ログ、トレースという3つの主要なシグナルです。これらは、オペレーティングシステムおよびその上で動作するアプリケーションの基本的なアクティビティを記録し、最終的には、ビジネスが最新のオブザーバビリティを実現するための土台となります。
フェーズ4:オブザーバビリティに向けたテレメトリ信号の進化
マイクロサービス、サーバーレス、クラウドネイティブ。データに駆動される現代においては、「データを動かすデータ」を理解することが極めて重要です。収益目標の達成から生産性の向上まで—メトリクス、ログ、トレースは、オペレーション全体をつなぐ要素であり、SLA(サービスレベル合意)を達成するために欠かせない情報が詰まっています。
メトリクス、ログ、トレース、そして新たに加わったプロファイルは、いずれも監視において重要な役割を担っています。しかし、これらのデータをデバッグのために手動で確認するのは、まったく不可能ではないにせよ、効率的とは言えません。自動化によってある程度の負荷は軽減されるものの、大量のノイズを伴う警告が発生しがちです。さらに、データの種類や発信元が多岐にわたるため、情報の流れを整理し、関連付けて実用的な洞察を導き出すことは、以前にも増して困難になっています。
というわけで、(データから離れることはありませんでしたが)再びデータがストーリーを語る役割に戻りました。チームは常に「追いつく」状態にあり、監視は膨大なデータの流入を処理するだけでなく、ビジネスパフォーマンスに密接に関連する情報のニーズを満たすために進化し続ける必要があります。統合されたテレメトリーデータプラットフォームがソリューションです。
最新のオブザーバビリティ
最新のオブザーバビリティとは、分散システムの全体的な動作を監視し、その内部状態を理解することです。効果的なオブザーバビリティソリューションは、指標、ログ、トレースを1つの統合されたテレメトリープラットフォームに再統合し、IT担当者が技術環境の全体像を把握し、システムの回復力と生産性に影響を与える実用的な洞察を得ることを可能にします。
データと情報を多用する機能を備えた統合テレメトリデータプラットフォームでは、必要に応じて洞察や分析を抽出するために、できるだけ多くのデータを格納する必要があります。その結果、効果的な最新のオブザーバビリティソリューションは、積極的な調査と事後対応的な調査の両方を促進します。データ(指標、ログ、トレース、プロファイリング)を関連付けることで、チームは既知の問題に取り組むと同時に、未知の問題を発見することができます。言い換えれば、現代のオブザーバビリティソリューションが成功すれば、チームは「なぜ」という問いに迅速に答えることができるようになります。
では、最新のオブザーバビリティをどのように実現するのでしょうか?データを整理して分析するためには、オープンスタンダードとOpenTelemetryを活用することを検討してください。OpenTelemetryは、SRE(Site Reliability Engineering)が一貫したオープンスタンダードのデータ形式でオブザーバビリティデータを生成し、ベンダー間で異なるデータタイプの非互換性を最小限に抑えつつ、分析やストレージを容易にするのに役立ちます。ほとんどの業界アナリストは、OpenTelemetryが今後5年以内に観測データの事実上の標準になると予測しています。すべてのテレメトリ信号にわたる一貫したデータ標準による統一されたデータ収集は、将来を見据えたオブザーバビリティを実現します。より広い意味では、次のことも必要です:
ベースラインを作成する:すべてのテレメトリデータにおいて、フォーマットとデータの一貫性を確立します。
データをフィルタリングする:エンドユーザーのためにベンダー間の不一致を抽象化します。
ツールの統合:包括的なオブザーバビリティ戦略があることを確認します。
テレメトリデータは多様な形態を持ち、クラウドネイティブのアプリケーションはさまざまなデータを生成しますが、サーバーレス環境や仮想マシンは別の種類のデータを生成します。さらに、これらのデータは非常に高速で生成されるため、オブザーバビリティを実現するには、データの統合が不可欠です。これにより、関連性が高く、正確で迅速な洞察を得ることができます。
テレメトリ信号の未来は、オブザーバビリティに
予測可能です。テクノロジーの環境が進化するにつれて、システムが最適に動作し、リソースが効率的に使用されることを確実にするために必要なテレメトリ信号も進化していきます。現在、テレメトリ信号は、AI/MLを活用して予測洞察と自動対応を実現する高度なシステムに接続されています。この傾向は今後も続くでしょう。
環境が広大で分散しているため、監視は困難になり、つまり、効果がなくなっています。その結果、監視はオブザーバビリティの領域にまで拡大する必要があります。オブザーバビリティを実現するために、組織は監視ツールを統合プラットフォームに統合して、負担を軽減し、システムパフォーマンスの全体像を把握しています。基本的なパフォーマンス指標はトラブルシューティングと最適化に不可欠ですが、反復的なアプローチはアプリケーションの回復力を向上させるのに役立ちます。また、サイロ化されたデータを統合することで、組織はリアルタイムと履歴の両方のテレメトリデータを利用して、事後対応型の監視から事前型の監視に移行できます。
生成AIの台頭により、企業はこれまで以上にセキュリティシステムの確保へのプレッシャーを感じています。そのため、リアルタイムの脅威検出と対応に重点を置き、セキュリティシグナルをオブザーバビリティフレームワークに統合することがますます重要になっています。また、生成AI技術が進化するにつれて、高度な自動修復機能を備えた自己修復システムが実現する可能性が高いでしょう。
しかし、これらの次のレベルのロックを解除する前に、組織はオープンスタンダードで強力なデータ基盤を構築することで基礎を固めなければなりません。誰がベンダーのロックインを望んでいるのでしょうか?
本記事に記述されているあらゆる機能ないし性能のリリースおよびタイミングは、Elasticの単独裁量に委ねられます。現時点で提供されていないあらゆる機能ないし性能は、すみやかに提供されない可能性、または一切の提供が行われない可能性があります。