

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

# 追蹤
<a name="tracing"></a>

**重要**  
支援終止通知：2026 年 9 月 30 日， AWS 將停止支援 AWS App Mesh。2026 年 9 月 30 日之後，您將無法再存取 AWS App Mesh 主控台或 AWS App Mesh 資源。如需詳細資訊，請參閱此部落格文章[從 遷移 AWS App Mesh 至 Amazon ECS Service Connect](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect)。

**重要**  
若要完全實作追蹤，您需要更新您的應用程式。  
若要查看所選服務中的所有可用資料，您必須使用適用的程式庫來檢測應用程式。

## 使用 AWS X-Ray 監控應用程式網格
<a name="x-ray"></a>

**重要**  
支援終止通知：2026 年 9 月 30 日， AWS 將停止支援 AWS App Mesh。2026 年 9 月 30 日之後，您將無法再存取 AWS App Mesh 主控台或 AWS App Mesh 資源。如需詳細資訊，請參閱此部落格文章[從 遷移 AWS App Mesh 至 Amazon ECS Service Connect](https://aws.amazon.com/blogs/containers/migrating-from-aws-app-mesh-to-amazon-ecs-service-connect)。

AWS X-Ray 服務提供工具，可讓您檢視、篩選和深入了解從應用程式提供的請求所收集的資料。這些洞見可協助您識別問題和機會，以最佳化您的應用程式。您可以查看請求和回應的詳細資訊，以及應用程式對其他服務 AWS 進行的下游呼叫。

X-Ray 與 App Mesh 整合，以管理您的 Envoy 微服務。來自 Envoy 的追蹤資料會傳送到容器中執行的 X-Ray 協助程式。

使用您語言專用的 [SDK](https://docs.aws.amazon.com/xray/index.html) 指南，在您的應用程式程式碼中實作 X-Ray。

### 透過 App Mesh 啟用 X-Ray 追蹤
<a name="enable-x-ray"></a>
+ 

**視服務類型而定：**
  + **ECS -** 在 Envoy 代理容器定義中，將`ENABLE_ENVOY_XRAY_TRACING`環境變數設定為 `1`，並將`XRAY_DAEMON_PORT`環境變數設定為 `2000`。
  + **EKS -** 在 App Mesh 控制器組態中，包含 `--set tracing.enabled=true`和 `--set tracing.provider=x-ray`。
+ 在您的 X-Ray 容器中，公開連接埠`2000`並以使用者 身分執行`1337`。

### X-Ray 範例
<a name="x-ray-examples"></a>

Amazon ECS 的 Envoy 容器定義

```
      {
        "name": "envoy",
        "image": "840364872350.dkr.ecr.us-west-2.amazonaws.com/aws-appmesh-envoy:v1.15.1.0-prod",
        "essential": true,
        "environment": [
          {
            "name": "APPMESH_VIRTUAL_NODE_NAME",
            "value": "mesh/myMesh/virtualNode/myNode"
          },
          {
            "name": "ENABLE_ENVOY_XRAY_TRACING",
            "value": "1"
           }
        ],
        "healthCheck": {
          "command": [
            "CMD-SHELL",
            "curl -s http://localhost:9901/server_info | cut -d' ' -f3 | grep -q live"
            ],
           "startPeriod": 10,
           "interval": 5,
           "timeout": 2,
           "retries": 3
      }
```

更新 Amazon EKS 的 App Mesh 控制器

```
helm upgrade -i appmesh-controller eks/appmesh-controller \
--namespace appmesh-system \
--set region=${AWS_REGION} \
--set serviceAccount.create=false \
--set serviceAccount.name=appmesh-controller \
--set tracing.enabled=true \
--set tracing.provider=x-ray
```

### 使用 X-Ray 的逐步解說
<a name="x-ray-walkthrough"></a>
+ [使用 AWS X-Ray 監控](https://github.com/aws/aws-app-mesh-examples/tree/main/examples/apps/colorapp#monitor-with-aws-x-ray)
+ [搭配 Amazon EKS 的應用程式網格 - 可觀測性：X-Ray](https://github.com/aws/aws-app-mesh-examples/blob/main/walkthroughs/eks/o11y-xray.md)
+ 在 AWS App Mesh [Workshop](https://www.appmeshworkshop.com/introduction/) 中使用 [X-Ray 進行分散式追蹤](https://www.appmeshworkshop.com/x-ray/) 

### 進一步了解 AWS X-Ray
<a name="x-ray-learn-more"></a>
+ [AWS X-Ray 文件](https://docs.aws.amazon.com/xray/index.html)

### 使用 App Mesh 對 AWS X-Ray 進行故障診斷
<a name="x-ray-troubleshooting"></a>
+ [無法查看我應用程式的 AWS X-Ray 追蹤。](https://docs.aws.amazon.com/app-mesh/latest/userguide/troubleshoot-observability.html)

## 搭配 Amazon EKS 的 App Mesh 的 Jaeger
<a name="jaeger"></a>

Jaeger 是一種開放原始碼的端對端分散式追蹤系統。它可用於分析網路和監控。Jaeger 也可以協助您疑難排解複雜的雲端原生應用程式。

若要在應用程式程式碼中實作 Jaeger，您可以在 Jaeger 文件[追蹤程式庫](https://www.jaegertracing.io/docs/1.21/client-libraries/)中找到您語言的特定指南。

### 使用 Helm 安裝 Jaeger
<a name="installing-jaeger"></a>

1. 將 EKS 儲存庫新增至 Helm：

   ```
   helm repo add eks https://aws.github.io/eks-charts
   ```

1. 安裝 App Mesh Jaeger

   ```
   helm upgrade -i appmesh-jaeger eks/appmesh-jaeger \
   --namespace appmesh-system
   ```

### Jaeger 範例
<a name="jaeger-sample"></a>

以下是`PersistentVolumeClaim`為 Jaeger 持久性儲存建立 的範例。

```
helm upgrade -i appmesh-controller eks/appmesh-controller \
--namespace appmesh-system \
--set tracing.enabled=true \
--set tracing.provider=jaeger \
--set tracing.address=appmesh-jaeger.appmesh-system \
--set tracing.port=9411
```

### 使用 Jaeger 的逐步解說
<a name="jaeger-walkthrough"></a>
+ [App Mesh with EKS - 可觀測性：Jaeger](https://github.com/aws/aws-app-mesh-examples/blob/main/walkthroughs/eks/o11y-jaeger.md)

### 進一步了解 Jaeger
<a name="jaeger-eks"></a>
+ [Jaeger 文件](https://www.jaegertracing.io/)

## 用於追蹤的資料狗
<a name="datadog-tracing"></a>

Datadog 可用於追蹤和指標。如需詳細資訊和安裝指示，請參閱 [Datadog 文件](https://docs.datadoghq.com/tracing/setup_overview/)中的應用程式語言專屬指南。