Tanzu Service Meshの分散トレーシングをWavefrontにフォワードする

· 2 分で読めます

Tanzu Service Meshの分散トレーシングはWavefrontにフォワードできます。

はじめに

Tanzu Service Mesh(以降TSM)とはVMwareが提供しているカスタマイズされたIstioです。 インストールすると以下のようにサービスのマッピングがつくれます。

ただし、デフォルトでは、このトレーシング情報を他のシステムに連携はできないです。 ただ、これも簡単な設定変更で行えます。今回はこのトレーシング情報をTanzu Obserability(Wavefront) に連携する方法を紹介します。

注意

正式にサポートされている手順ではないため自己責任でお願いします。

手順

まず、istioのConfigMapをいじります。

kubectl edit cm istio -n istio-system

以下の箇所を探してfalseからtrueに変更します。

enableTracing: true

次に、istio-pilotのDeploymentをいじります。

kubectl edit deploy -n istio-system istio-pilot

以下の箇所を探して、1から100にします。

        - name: PILOT_TRACE_SAMPLING
          value: "100"

最後に、以下の手順で、Zipkinのサービスを定義します。 なお、wavefront-proxy.wavefront.svc.cluster.local には別途Wavefront Proxyが稼働しているURLを指定します。

apiVersion: v1
kind: Service
metadata:
  name: zipkin
  namespace: istio-system
spec:
  type: ExternalName
  externalName: wavefront-proxy.wavefront.svc.cluster.local

以上です。

結果

うまく設定すれば、以下のように、Wavefrontでみえるようになります。

なお、厳密にはTSMとみえているものとは一致しないです。これは収集の仕組みが異なるためです。

まとめ

TSMのトレーシングを外部への連携は簡単にできます。