Tanzu Service Meshの分散トレーシングをWavefrontにフォワードする
Tanzu Service Meshの分散トレーシングはWavefrontにフォワードできます。
はじめに
Tanzu Service Mesh(以降TSM)とはVMwareが提供しているカスタマイズされたIstioです。 インストールすると以下のようにサービスのマッピングがつくれます。
ただし、デフォルトでは、このトレーシング情報を他のシステムに連携はできないです。 ただ、これも簡単な設定変更で行えます。今回はこのトレーシング情報をTanzu Obserability(Wavefront) に連携する方法を紹介します。
注意
正式にサポートされている手順ではないため自己責任でお願いします。
手順
まず、istio
のConfigMapをいじります。
1kubectl edit cm istio -n istio-system
以下の箇所を探してfalse
からtrue
に変更します。
1enableTracing: true
次に、istio-pilotのDeploymentをいじります。
1kubectl edit deploy -n istio-system istio-pilot
以下の箇所を探して、1
から100
にします。
1 - name: PILOT_TRACE_SAMPLING
2 value: "100"
最後に、以下の手順で、Zipkinのサービスを定義します。
なお、wavefront-proxy.wavefront.svc.cluster.local
には別途Wavefront Proxyが稼働しているURLを指定します。
1apiVersion: v1
2kind: Service
3metadata:
4 name: zipkin
5 namespace: istio-system
6spec:
7 type: ExternalName
8 externalName: wavefront-proxy.wavefront.svc.cluster.local
以上です。
結果
うまく設定すれば、以下のように、Wavefrontでみえるようになります。
なお、厳密にはTSMとみえているものとは一致しないです。これは収集の仕組みが異なるためです。
まとめ
TSMのトレーシングを外部への連携は簡単にできます。