0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Tanzu Service Meshのトレース情報をAria Operations for Applicationsに転送する

Posted at

三番煎じくらいな記事。
Tanzu Service Mesh(以下TSM)のトレース情報をAria Operations for Applications(以下AOA)に転送する方法は以下あたりに紹介記事がある。

ただ、細かい説明が記載されていなかったので、ここでは補足説明を付けながら試してみる。

TSMでIstioをインストールすると、istio-systemというNamespaceのConfigMapのistioの中に、以下のような設定を見つけられる。

data:
  mesh: |-
    accessLogFile: ""
    defaultConfig:
      discoveryAddress: istiod.istio-system.svc:15012
      proxyMetadata:
        ISTIO_META_DNS_AUTO_ALLOCATE: "true"
        ISTIO_META_DNS_CAPTURE: "true"
      tracing:
        zipkin:
          address: zipkin.istio-system:9411

address: zipkin.istio-system:9411は、Istioのドキュメントにある、--set meshConfig.defaultConfig.tracing.zipkin.address=<zipkin-collector-address>:9411の部分であり、これでZipkinへ転送する場合の送信先を指定している。
デフォルトではzipkin.istio-system、すなわちistio-system Namespace内のzipkinというサービスになっている。
このサービスを作成し、AOAのWavefront Proxyのアドレスを書いてあげることで、

Istio -> Wavefront Proxy -> AOA

という形でAOAにトレーシングデータが転送できるようになる。

最初に、Istioのトレーシング機能を有効化する。

$ kubectl edit cm istio -n istio-system
:(省略)
    enableTracing: true
:(省略)

次にトレーシングのサンプリングレートを100%に引き上げる

$ kubectl edit deploy istiod -n istio-system
:(省略)
        - name: PILOT_TRACE_SAMPLING
          value: "100"

最後に、Serviceを作成する。
Wavefront ProxyのServiceがインストール方法によって異なるため、確認しながら作成する。
Namespaceと名前を見つけ出す。

$ kubectl get svc -A |grep wavefront
tanzu-observability-saas   wavefront-proxy-tanzu                            ClusterIP      100.69.23.13     <none>         2878/TCP,9411/TCP                            9d

Tanzu Mission Control(以下TMC)のIntegration機能を使うと、上記のようなNamespaceと名前で作成される。
次にServiceを作成する。TMCのIntegration機能を使っていない人はexternalNameで指定するServiceの名前が変わる点に注意。

cat << EOF | kubectl apply -f -
apiVersion: v1
kind: Service
metadata:
  name: zipkin
  namespace: istio-system
spec:
  type: ExternalName
  externalName: wavefront-proxy-tanzu.tanzu-observability-saas.svc.cluster.local   
EOF

先程のistio-systemというNamespaceのConfigMapのistioの中のZipkinの参照先がzipkin.istio-system:9411だったため、zipkin.istio-systemの通信をwavefront-proxy-tanzu.tanzu-observability-saas.svc.cluster.localに転送する形でexternalNameで作成する。
なお、wavefront-proxy-tanzu.tanzu-observability-saas.svc.cluster.localは上でのkubectl get svcの結果を見ると分かるが、デフォルトで9411ポートを利用しているので、ポートの変換などはせずにそのまま利用できる。
また、Serviceを作りたくない人は、istio-systemというNamespaceのConfigMapのistioの中のaddress: zipkin.istio-system:9411を直接wavefront-proxy-tanzu.tanzu-observability-saas.svc.cluster.localに書き換えても動作する。

Service作成後、しばらくするとAOAのApplications -> Operation DashboardなどからZipkinというApplication名でトレース等が確認できるようになる。
1696238288757.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?