Slide 39
Slide 39 text
Copyright © 2022, Oracle and/or its affiliates
39
メトリクス
• サイドカーであるプロキシ(Envoy)が様々なメトリクスを
⾃動的にエクスポート
• Prometheus/Grafanaを利⽤してメトリクスを即時
に可視化
• Envoyが15090ポートで公開
• EnvoyFilterを利⽤して独⾃のメトリクスを定義す
ることも可能(本⽇は割愛)
トレーシング
• プロキシ(Envoy)が⾃動的にヘッダー (b3-propagation)
の付与とスパン(トレース間隔)作成を実施
• Jaegerなどでトレーシング情報を即時に可視化
• システム全体のトレースするにはアプリケーション
側でHTTPヘッダーの伝播が必須
Istioを利⽤してできること
$ kubectl exec -it deploy/webapp -c istio-proxy -- curl ¥
localhost:15090/stats/prometheus
...
envoy_cluster_assignment_stale{cluster_name="
outbound|80||catalog.istioinaction.svc.cluster.local"} 0
envoy_cluster_assignment_stale{cluster_name="xds-grpc"} 0
envoy_cluster_assignment_timeout_received{cluster_name="
outbound|80||catalog.istioinaction.svc.cluster.local"} 0
envoy_cluster_assignment_timeout_received{cluster_name="xds-grpc"}
…
$ curl -H "Host: httpbin.io" http://localhost/headers
….
"X-B3-Sampled": "1", # トレーシングヘッダー
“X-B3-Spanid”: “17ed6f800f125ecb”, # トレーシングヘッダー
"X-B3-Traceid": "05516f0b84c9de6817ed6f800f125ecb", # トレーシングヘッダー
"X-Envoy-Attempt-Count": "1", ”
"X-Envoy-Decorator-Operation": "”
….
Envoyのメトリクスエンドポイントにアクセスした場合のイメージ
任意のサービスにアクセスした場合のHTTPヘッダー
Observability
参考:https://istio.io/latest/docs/tasks/observability/distributed-tracing/overview/