Amazon Ser OpenSearch vice 的追蹤分析 - Amazon OpenSearch 服務

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon Ser OpenSearch vice 的追蹤分析

您可以使用屬於可OpenSearch觀測性外掛程式一部分的 Trace Analytics,分析來自分散式應用程式的追蹤資料。Trace Analytics 需要OpenSearch或 Elasticsearch 7.9 或更高版本。

在分散式應用程式中,單一操作 (例如使用者按一下按鈕) 可觸發一系列延伸事件。例如,應用程式前端可能會呼叫後端服務,這會呼叫另一個服務,查詢資料庫,處理查詢並傳回結果。然後,第一個後端服務會將確認傳送到前端,以便更新 UI。

您可以使用 Trace Analytics 來協助您將此事件流程視覺化並發現效能問題。

先決條件

追蹤分析會要求您將儀器新增至應用程式,並使用OpenTelemetry支援的程式庫 (例如 Jaeger 或 Zipkin) 產生追蹤資料。此步驟完全發生在 OpenSearch Service 之外。AWSDistro in OpenTelemetry 文件包含許多程式設計語言的範例應用程式,可協助您入門,這包括 Java、Python、Go 和JavaScript.

在您將檢測新增至應用程式之後,OpenTelemetryCollector 從應用程式接收資料,並將其格式化為OpenTelemetry資料。請參閱上的接收機清單GitHub。 AWS發行版OpenTelemetry包括一個接收器 AWS X-Ray.

最後,獨立的OpenSearch元件 Data Prepper 會格式化OpenTelemetry資料,以便與其搭配OpenSearch使用。Data Prepper 會在 OpenSearch Service 叢集外部的機器上執行,類似於 Logstash。

如需示範例資料端對端流程的 Docker Compose 檔案,請參閱OpenSearch文件。

OpenTelemetryCollector

若要搭配使用 OpenTelemetry Collector 與 Amazon OpenSearch 擷取,請嘗試下列組態態態態態態態態態態態

extensions: sigv4auth: region: "us-east-1" service: "osis" receivers: jaeger: protocols: grpc: exporters: otlphttp: traces_endpoint: "https://pipeline-endpoint.us-east-1.osis.amazonaws.com/opentelemetry.proto.collector.trace.v1.TraceService/Export" auth: authenticator: sigv4auth compression: none service: extensions: [sigv4auth] pipelines: traces: receivers: [jaeger] exporters: [otlphttp]

OpenSearch擷取範例組態

若要將追蹤資料傳送至 OpenSearch Service 網域,請嘗試下列OpenSearch擷取管線組態態態態態態態態態態態態 如需建立管道的指示,請參閱建立 Amazon OpenSearch 擷取管道

version: "2" otel-trace-pipeline: source: otel_trace_source: "/${pipelineName}/ingest" processor: - trace_peer_forwarder: sink: - pipeline: name: "trace_pipeline" - pipeline: name: "service_map_pipeline" trace-pipeline: source: pipeline: name: "otel-trace-pipeline" processor: - otel_traces: sink: - opensearch: hosts: ["https://domain-endpoint"] index_type: trace-analytics-raw aws: # IAM role that OpenSearch Ingestion assumes to access the domain sink sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" region: "us-east-1" service-map-pipeline: source: pipeline: name: "otel-trace-pipeline" processor: - service_map: sink: - opensearch: hosts: ["https://domain-endpoint"] index_type: trace-analytics-service-map aws: # IAM role that the pipeline assumes to access the domain sink sts_role_arn: "arn:aws:iam::{account-id}:role/pipeline-role" region: "us-east-1"

您在此sts_role_arn選項中指定的管線角色必須擁有網域接收器的寫入許可。如需為管道角色設定許可的指示,請參閱允許 Amazon OpenSearch 擷取管道寫入網域

瀏覽追蹤資料

Dashboard (儀表板) 檢視會依 HTTP 方法和路徑將追蹤集中在一起,以便您可以查看與特定操作相關聯的平均延遲、錯誤率和趨勢。如需更詳細的檢視,請嘗試按照追蹤群組名稱進行篩選。

若要深入了解構成追蹤群組的追蹤,請在右欄中選擇追蹤數目。然後選擇個別追蹤以取得詳細摘要。

Services (服務) 檢視會列出應用程式中的所有服務,以及顯示各種服務如何彼此互連的互動式地圖。與儀表板 (可協助依操作發現問題) 相反,服務地圖可協助您透過服務發現問題。嘗試依錯誤率或延遲排序,以了解應用程式的潛在問題區域。