TL;DR
システムとその振る舞いについて、システム自身が出力するデータ。トレース、メトリクス、ログなどの種類があり、オブザーバビリティの材料になる。
なぜ必要か
OpenTelemetry の Observability primer によると、オブザーバビリティとは、内部の仕組みを知らなくてもシステムを外から理解できることである。そのためには、アプリケーションのコードが計装され、トレース、メトリクス、ログといったシグナルを出力している必要がある。
入門 OpenTelemetry ―現代的なオブザーバビリティシステムの構築と運用 によると、ばらばらなツールでテレメトリを集める従来のやり方には課題がある。その課題は高品質で、標準に基づいた、一貫性のあるテレメトリがないことから生じている。
仕組み
Observability primer では、テレメトリの代表的なシグナルを次のように説明している。
- ログ: サービスなどが出力する、タイムスタンプ付きのメッセージ
- メトリクス: インフラやアプリケーションの数値データを、一定期間で集計したもの
- トレース: 1 つのリクエストが通った経路の記録(分散トレーシング)
OpenTelemetry Collector は、テレメトリを受け取り、処理し、送り出すための、ベンダーに依存しない実装である。
例
今日から始める pprof によると、CNCF のオブザーバビリティホワイトペーパーでは、ログ、メトリクス、トレースと並ぶ重要なテレメトリとして、継続的なプロファイルも挙げられている。