The Airbnb Tech Blog | Medium 日本語 フォロー OpenTelemetryとvmagentを使った、高スループットなメトリクスパイプラインの構築 この移行は、大規模なメトリクスパイプラインをStatsDからOpenTelemetryとPrometheusに移行し、メトリクスの収集を前倒しにすることを目的としていました。当初は、内部サービスにはOpenTelemetry Protocol (OTLP) を使用して計装し、OSSワークロードにはPrometheusを使用し、StatsDをフォールバックとしていました。共有メトリクスライブラリを活用したデュアルライトアプローチにより、OTLPへの移行が容易になりました。その結果、パフォーマンスが向上し、ヒストグラムなどのPrometheusの機能を利用できるようになりました。しかし、高カーディナリティのメトリクスがパフォーマンスの低下を引き起こし、一部のサービスでデルタテンポラリティを使用することで対応しました。コスト削減と変換を可能にするために、vmagentを使用したPrometheusベースの集計パイプラインが実装されました。Prometheusのrate()関数が、リセットイベントにより特定のカウンターを過小評価するという問題が発生しました。この不一致を修正するために、集計中にゼロインジェクションを実装し、ユーザーには透過的に行われました。これにより、カウンターの問題が解決され、データの正確な表現が保証されました。最終的に、チームはこれらの変更を実装することにより、将来を見据えたメトリクスインフラストラクチャを実現しました。 Building a high-volume metrics pipeline with OpenTelemetry and vmagent medium.com The Airbnb Tech Blog | Medium 日本語 RSS thenote.app
rate()関数が、リセットイベントにより特定のカウンターを過小評価するという問題が発生しました。この不一致を修正するために、集計中にゼロインジェクションを実装し、ユーザーには透過的に行われました。これにより、カウンターの問題が解決され、データの正確な表現が保証されました。最終的に、チームはこれらの変更を実装することにより、将来を見据えたメトリクスインフラストラクチャを実現しました。