一般 - よくある質問
ログとトレースはどのように異なりますか?
ログは単一のアプリケーションとそれに関連するイベントに限定されます。例えば、ユーザーがマイクロサービスプラットフォームでホストされているウェブサイトにログインし、購入を行う場合、複数のアプリケーションから、そのユーザーに関連するログが生成される可能性があります:
- フロントエンドウェブサーバー
- 認証サービス
- 在庫管理サービス
- 決済処理バックエンド
- ユーザーに領収書を送信するアウトバウンドメーラー
これらのそれぞれが、このユーザーに関する何らかのログを記録する可能性があり、そのデータはすべて価値があります。しかし、トレースは、これらの個別のコンポーネントすべてにまたがる、ユーザーの単一のトランザクションにおける相互作用の全体像を一貫した形で提示します。
このように、トレースはアクティビティの単一のビューを示すことを目的とした、複数のサービスからのイベントのコレクションであるのに対し、ログはそれを作成したアプリケーションのコンテキストに紐付けられています。
どのシグナルタイプがイミュータブルですか?
基本的な 3 つのシグナルタイプ(メトリクス、ログ、トレース)は、実装によって保証レベルは異なりますが、すべてイミュータブルです。 例えば、ログのイミュータブル性は多くのガバナンスフレームワークにおいて厳格な要件であり、これを確保するための多くのツールが存在します。 同様に、メトリクスとトレースも 常に イミュータブルであるべきです。
これは「不正確なデータ」や誤ったデータの処理に関する疑問につながります。 AWS オブザーバビリティサービスでは、誤って送信されたメトリクスやトレースを削除する機能はありません。 CloudWatch Logs ではログストリーム全体の削除は可能ですが、一度収集されたデータを遡って変更することはできません。 これは設計上の仕様であり、お客様のデータを最大限の注意を払って扱うための重要な機能です。