サービスメッシュ (ASM) では、Managed Service for OpenTelemetry および自己管理システムにメトリックをレポートできます。これらのメトリックは、Managed Service for OpenTelemetry コンソールで指定できます。このトピックでは、ASM トレースデータを Managed Service for OpenTelemetry および自己管理システムに収集する方法について説明します。
前提条件
Container Service for Kubernetes (ACK) クラスタが ASM インスタンスに追加されていること。詳細については、「ASM インスタンスへのクラスタの追加」をご参照ください。
と Managed Service for OpenTelemetry が Alibaba Cloud アカウントでアクティブ化されていること。このサービスの課金については、「請求ルール」をご参照ください。
イングレスゲートウェイが ASM インスタンスに作成されていること。詳細については、「イングレスゲートウェイの作成」をご参照ください。
Managed Service for OpenTelemetry に ASM トレースデータを収集する
ASM インスタンスのバージョンに基づいて、次の手順を実行します。インスタンスバージョンをアップグレードする必要がある場合は、「ASM インスタンスの更新」をご参照ください。
バージョンが 1.17.2.35 より前の ASM インスタンスの場合
ASM コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[基本情報] ページで、[設定] をクリックします。[設定の更新] パネルで、[トレース分析を有効にする] を選択し、[サンプリング率] を設定し、[サンプリング方法] で [managed Service For Opentelemetry を有効にする] を選択して、[OK] をクリックします。
左側のナビゲーションウィンドウで、 を選択します。Managed Service for OpenTelemetry コンソールにリダイレクトされます。コンソールで、ASM トレースデータを確認できます。

Managed Service for OpenTelemetry の詳細については、「Managed Service for OpenTelemetry とは」をご参照ください。
この機能を使用する必要がなくなった場合は、[設定の更新] パネルで [トレース分析を有効にする] をオフにして、[OK] をクリックします。
バージョンが 1.17.2.35 以降かつ 1.18.0.124 より前の ASM インスタンスの場合
ASM コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[トレース分析] ページで、[ASM トレースデータを Managed Service For Opentelemetry に収集] をクリックします。[送信] メッセージで、[OK] をクリックします。
[managed Service For Opentelemetry コンソールを開く] をクリックして、ASM トレースデータを表示します。
Managed Service for OpenTelemetry の詳細については、「Managed Service for OpenTelemetry とは」
をご参照ください。
この機能を使用する必要がなくなった場合は、[トレース分析] ページで [収集の無効化] をクリックします。[送信] メッセージで、[OK] をクリックします。
バージョンが 1.18.0.124 以降かつ 1.22.6.89 より前の ASM インスタンスの場合
このバージョン範囲では、コンソールで ASM トレースデータを Managed Service for OpenTelemetry にエクスポートすることはできません。次の手順を使用して、システムでコレクターを構成できます。
手順 1: OpenTelemetry Operator をデプロイする
kubeconfig ファイルの情報に基づいて、kubectl を使用して ACK クラスタに接続します。次に、次のコマンドを実行して opentelemetry-operator-system 名前空間を作成します。
kubectl create namespace opentelemetry-operator-system次のコマンドを実行して、Helm を使用して opentelemetry-operator-system 名前空間に OpenTelemetry オペレーターをインストールします。
helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts helm install --namespace=opentelemetry-operator-system opentelemetry-operator open-telemetry/opentelemetry-operator \ --set "manager.collectorImage.repository=otel/opentelemetry-collector-k8s" \ --set admissionWebhooks.certManager.enabled=false \ --set admissionWebhooks.autoGenerateCert.enabled=true次のコマンドを実行して、OpenTelemetry オペレーターが正しく動作しているかどうかを確認します。
kubectl get pod -n opentelemetry-operator-system予期される出力:
NAME READY STATUS RESTARTS AGE opentelemetry-operator-854fb558b5-pvllj 2/2 Running 0 1m出力は、
STATUSがRunningであることを示しています。これは、OpenTelemetry オペレーターが正しく動作していることを意味します。
手順 2:OpenTelemetry コレクターを作成する
次の内容で collector.yaml ファイルを作成します。
YAML の
${ENDPOINT}を gRPC プロトコルの VPC ネットワークアクセスポイントに、${TOKEN}を認証トークンに置き換えます。Alibaba Cloud Managed Service for OpenTelemetry のアクセスポイントと認証トークンの取得方法については、「Managed Service for OpenTelemetry を使用する準備」をご参照ください。ACK クラスタに対応する kubeconfig 環境で、次のコマンドを実行してコレクターをクラスタにデプロイします。
kubectl apply -f collector.yaml次のコマンドを実行して、コレクターが正しく起動されているかどうかを確認します。
kubectl get pod -n opentelemetry-operator-system予期される出力:
NAME READY STATUS RESTARTS AGE opentelemetry-operator-854fb558b5-pvllj 2/2 Running 0 3m default-collector-5cbb4497f4-2hjqv 1/1 Running 0 30s予期される出力は、コレクターが正しく起動されていることを示しています。
次のコマンドを実行して、サービスが作成されているかどうかを確認します。
kubectl get svc -n opentelemetry-operator-system予期される出力:
opentelemetry-operator ClusterIP 172.16.138.165 <none> 8443/TCP,8080/TCP 3m opentelemetry-operator-webhook ClusterIP 172.16.127.0 <none> 443/TCP 3m default-collector ClusterIP 172.16.145.93 <none> 4317/TCP 30s default-collector-headless ClusterIP None <none> 4317/TCP 30s default-collector-monitoring ClusterIP 172.16.136.5 <none> 8888/TCP 30s予期される出力は、サービスが正常に作成されたことを示しています。
手順 3:ASM コンソールからリンク追跡を有効にする
ASM コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[ 可観測性構成] ページの [ リンク追跡設定] セクションで、[ サンプリング率] を 100 に調整し、[ 送信] をクリックします。
左側のナビゲーションウィンドウで、 を選択します。[opentelemetry サービスアドレス/ドメイン名] に default-collector.opentelemetry-operator-system.svc.cluster.local と入力し、[opentelemetry サービスポート] に 4317 と入力して、[サービスメッシュリンク追跡データを Opentelemetry に収集] をクリックします。
バージョンが 1.18.0.124 以降かつ 1.22.6.89 より前の ASM インスタンスの場合
ASM コンソール にログインします。左側のナビゲーションウィンドウで、 を選択します。
[メッシュ管理] ページで、ASM インスタンスの名前をクリックします。左側のナビゲーションウィンドウで、 を選択します。
[トレース分析] ページで、[エクスポート方法] を [Alibaba Cloud 可観測性リンクにエクスポート] に選択し、[構成を入力] の下でデータを送信する方法 (例:[zipkin]) を選択し、[送信] をクリックします。
[alibaba Cloud 可観測性リンク Opentelemetry コンソールに移動] をクリックして、ASM トレースデータを表示します。詳細については、「Managed Service for OpenTelemetry とは」をご参照ください。
説明この機能を使用する必要がなくなった場合は、[トレース分析] ページで [収集の無効化] をクリックします。[送信] メッセージで、[OK] をクリックします。
ASM トレースデータを自己管理システムにエクスポートする
インポート方法は、ASM インスタンスのバージョンによって異なります。ASM インスタンスのバージョンに基づいて、次の手順を実行します。
バージョンが 1.18.0.124 より前の ASM インスタンスの場合
バージョンが 1.17.2.28 より前の ASM インスタンスの場合:ASM コンソールにログインします。[基本情報] ページで、[設定] をクリックし、[トレース分析を有効にする] を選択して必要に応じて項目を構成し、[OK] をクリックします。
バージョンが 1.17.2.28 以降かつ 1.18.0.124 より前の ASM インスタンスのトレース分析を有効にする方法については、「可観測性設定の構成」トピックの トレース分析設定の説明 セクションをご参照ください。
バージョンが 1.18.0.124 以降かつ 1.22.6.89 より前の ASM インスタンスの場合
このバージョン範囲では、コンソールで ASM トレースデータを Managed Service for OpenTelemetry にレポートできます。ASM コンソール にログインします。 ページで、次のパラメーターを構成します。
構成の説明
項目 | 説明 |
Opentelemetry ドメイン名 (FQDN) | 自己管理システムのドメイン名。完全修飾ドメイン名 (FQDN) である必要があります。例: |
Opentelemetry サービスポート | 自己管理システムのサービスポート。例: |
バージョンが 1.22.6.89 以降の ASM インスタンスの場合
ASM コンソール にログインします。 ページで、自己管理システムを選択して構成します。
ASM トレースデータを自己管理システムにインポートするには、システムが ASM インスタンスにデプロイされていることを確認してください。そうでない場合は、ServiceEntry を作成して、ASM インスタンスのサービスレジストリで自己管理システムを定義する必要があります。詳細については、「ServiceEntry」をご参照ください。
構成の説明
Managed Service for OpenTelemetry にデータをレポートする
項目 | 説明 | |
サービスドメイン名 (完全 FQDN) | 自己管理システムのドメイン名。FQDN である必要があります。例: | |
サービスポート | 自己管理システムのサービスポート。例: | |
Grpc 経由でレポート | タイムアウト | オプション。Managed Service for OpenTelemetry にデータをレポートするリクエストのタイムアウト期間。単位:秒。例: |
リクエストヘッダー | オプション。Managed Service for OpenTelemetry にデータをレポートする際に付加されるヘッダー。例: | |
HTTP 経由でレポート | リクエストパス | Managed Service for OpenTelemetry にデータをレポートするリクエストパス。例: |
タイムアウト | オプション。Managed Service for OpenTelemetry にデータをレポートするリクエストのタイムアウト期間。単位:秒。例: | |
リクエストヘッダー | オプション。Managed Service for OpenTelemetry にデータをレポートする際に付加されるヘッダー。例: | |
Zipkin にデータをレポートする
項目 | 説明 |
サービスドメイン名 (完全 FQDN) | 自己管理システムのドメイン名。FQDN である必要があります。例: |
サービスポート | 自己管理システムのサービスポート。例: |
リクエストパス | Zipkin にデータをレポートするリクエストパス。例:。 |
Skywalking にデータをレポートする
項目 | 説明 |
サービスドメイン名 (完全 FQDN) | 自己管理システムのドメイン名。FQDN である必要があります。例: |
サービスポート | 自己管理システムのサービスポート。例: |
レポートされた ASM トレースデータを確認する
アプリケーションをデプロイする
サンプルアプリケーションをデプロイします。
bookinfo.yaml という名前のファイルを作成し、次の内容をファイルにコピーします。
データプレーンの Kubernetes クラスタに Bookinfo アプリケーションをデプロイします。
kubectl --kubeconfig=${DATA_PLANE_KUBECONFIG} apply -f bookinfo.yaml
sleep アプリケーションをデプロイします。
sleep.yaml という名前のファイルを作成し、次の内容をファイルにコピーします。
sleep アプリケーションをデプロイします。
kubectl --kubeconfig=${DATA_PLANE_KUBECONFIG} apply -f sleep.yaml
テストを開始する
次のコマンドを実行してテストを開始します。
kubectl exec -it deploy/sleep -- sh -c 'for i in $(seq 1 100); do curl -s productpage:9080/productpage > /dev/null; done'レポートされた ASM トレースデータを表示する
次の例は、Managed Service for OpenTelemetry にレポートされた ASM トレースデータの結果を示しています。
Managed Service for OpenTelemetry コンソール にログインします。
左側のナビゲーションウィンドウで [アプリケーションリスト] をクリックして、次の図に示すデータを表示します。
