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のトレーシングを外部への連携は簡単にできます。