はじめに

テレメトリーは現代の生活の一部です。 私たちは、周囲の概念や物体の現在の状態を記述するデータを常に評価しています。 これにより、情報に基づいて判断をし、行動を最適化できるようになります。 ランニングに出かける前に天気予報を確認することで、適切な服装やギアを選べますし、 運動中にペースやバイタルサインを追跡することで、トレーニングプランを調整する際にも非常に役立ちます。 適切なテレメトリーを活用することで、私たちの生活をより簡単で安全にするだけでなく、 たとえば部屋の温度(サーモスタット)や車輪の回転速度(トラクションコントロールシステム)のような、特定の条件に自動的に反応するメカニズムを構築できます。

ソフトウェアシステムにおいても同様に、 テレメトリーによって複雑なアーキテクチャを高いパフォーマンスと信頼性を確保しながら、効率的に運用できます。 非構造化ログ形式はもっとも基本的な形式のテレメトリーであり、 エンジニアがローカル環境でスクリプトをデバッグする際には役立つかもしれません。 しかし、本番環境で複数のクラスターにまたがる分散システムを運用する際には、あまり役に立たないでしょう。

システムから直接収集したテレメトリーの品質を向上させるだけでなく、 スタック内の複数のコンポーネントから発信されたデータを相関させるためにも、 標準とアウト・オブ・ザ・ボックス [1] の計装がとても重要になります。 モダンなアプリケーションは単独で動作することはなく、生成されるテレメトリーもそのように設計されるべきではありません。 そのため、効果的なオブザーバビリティは、システム全体を俯瞰して分析できるツールである必要があります。 従来のオブザーバビリティの3本柱(トレース、メトリクス、ログ)のような分離されたビューではなく、 ...