🔍

[翻訳] Data Prepper 2.14: OTel ベースの APM サービスマップと Prometheus サポート

に公開

https://opensearch.org/blog/opentelemetry-powered-apm-service-maps-and-production-ready-prometheus-support/

OpenSearch Data Prepper のメンテナーは、Data Prepper 2.14 のリリースを発表しました。このバージョンでは、新しいアプリケーションパフォーマンスモニタリング (APM) サービスマップと改善された Prometheus サポートにより、オブザーバビリティのユースケースへの対応が拡充されました。

APM サービスマップ

otel_apm_service_map プロセッサーは、OpenTelemetry のトレーススパンを分析して APM サービスマップの関係性とメトリクスを自動生成します。生成された構造化イベントは、サービストポロジーグラフとして可視化でき、サービス間の通信やパフォーマンス特性を把握できます。

主な機能は以下のとおりです。

  • サービス関係の自動検出: OpenTelemetry スパンからサービス間のインタラクションを特定します。
  • APM メトリクスの生成: 3 段階のスライディングタイムウィンドウ処理を使用して、サービスインタラクションのレイテンシー、スループット、エラーレートのメトリクスを生成し、完全なトレースコンテキストを確保します。
  • 環境認識: 既存のスパン属性から新しい属性を導出し、サービス環境のグルーピングとカスタム属性をサポートします。Amazon Elastic Compute Cloud (Amazon EC2)、Amazon Elastic Container Service (Amazon ECS)、Amazon Elastic Kubernetes Service (Amazon EKS)、AWS Lambda、Amazon API Gateway の環境検出機能を備えており、他のクラウドプロバイダーへの拡張も可能です。
  • サービスマップスナップショット: カスタマイズ可能なリソース属性フィルタリングにより、特定の期間のサービス接続を表示できます。

Prometheus シンクサポートの改善

Prometheus シンクは、統合されたソートおよび重複排除ロジックにより、Remote Write 要件への準拠を確保するようになりました。受信イベントを時系列に整理し、同一シリーズ/タイムスタンプの重複サンプルを送信前に除去することで、ブローカー側での拒否を防止します。

データ取り込みの課題にさらに対応するため、新しい out_of_order_time_window オプションにより、遅延データに対する猶予期間を設定できます。このウィンドウにより、シンクは順序どおりに到着しなかったサンプルを受け入れて再ソートできるため、完全な順序での配信が困難な分散環境において、パイプラインの耐障害性が大幅に向上します。

AWS Lambda ストリーミング

AWS Lambda の機能の 1 つとして、レスポンスストリーミングがあります。これにより、関数からクライアントへデータをストリーミングでき、最初のレスポンスのレイテンシーが削減され、最大 200 MB の大きなペイロードもサポートします。

Data Prepper 2.14 では、aws_lambda プロセッサーでストリーミング呼び出しを使用するように設定できるようになりました。これにより、6 MB を超えるレスポンスを受信できるため、出力データが入力データのサイズを超える場合に特に有用です。

クロスリージョン S3 シンク

Data Prepper の s3 シンクが、複数の AWS リージョンにまたがる Amazon Simple Storage Service (Amazon S3) バケットへの書き込みをサポートするようになりました。

以前は、単一の s3 シンクは 1 つのリージョンのバケットにしか書き込めなかったため、s3 シンクの主要な機能の 1 つである動的バケット名の活用が制限されていました。

この機能強化により、異なるリージョンに対応する動的バケット名を指定できます。たとえば、myorganization-${/aws/region} のようなバケットを定義すると、Data Prepper は myorganization-us-east-2myorganization-eu-central-1 などのバケットに書き込みます。

forward_to パイプライン

一部のワークフローでは、決まった順序でシンクにデータを送信したり、あるシンクの出力を別のシンクの入力として使用したりする必要がある場合があります。

opensearch シンクが forward_to 設定をサポートするようになりました。これにより、OpenSearch への書き込み後にイベントを受信するターゲットパイプラインを定義できます。転送されたイベントにはドキュメント ID フィールドが含まれます。

ARM アーキテクチャサポート

Data Prepper は、ARM と x86 の両方をサポートするマルチアーキテクチャ Docker イメージを提供するようになりました。

多くの組織がコンピューティングコストの削減のために ARM を採用する中、この変更により、エミュレーションに頼ることなく ARM システムで Data Prepper イメージを直接プルできます。

さらに、Data Prepper は ARM アーカイブファイルも提供しており、Docker を使用しない ARM システムでの実行が容易になります。

その他の主な変更点

  • Data Prepper の Docker イメージが 46% 小さくなり、レイヤー数も削減されたため、Docker プル時間が改善されました。
  • AWS Lambda プロセッサーのタイムアウト設定が改善されました。
  • aggregate プロセッサーでエンドツーエンドのアクノリッジメントのサポートが強化され、アクノリッジメントを無効にする設定が追加されました。
  • Data Prepper はパイプラインの健全性を監視するためのいくつかの新しいメトリクスを提供します。

はじめに

コントリビューターの皆さんに感謝します!

このリリースに貢献してくださった以下のコミュニティメンバーに感謝します!

OpenSearch Project

Discussion