1.15.4.2. サンプリングレートの調整
トレースは、サービスメッシュ内のサービス間の実行パスです。トレースは、1 つ以上のスパンで設定されます。スパンは、名前、開始時間、および期間を持つ作業の論理単位です。サンプリングレートは、トレースが永続化される頻度を決定します。
Envoy プロキシーのサンプリングレートは、デフォルトでサービスメッシュでトレースの 100% をサンプリングするように設定されています。サンプリングレートはクラスターリソースおよびパフォーマンスを消費しますが、問題のデバッグを行う場合に役立ちます。Red Hat OpenShift Service Mesh を実稼働環境でデプロイする前に、値を小さめのトレースサイズに設定します。たとえば、spec.tracing.sampling
を 100
に設定し、トレースの 1% をサンプリングします。
Envoy プロキシーサンプリングレートを、0.01% の増分を表すスケーリングされた整数として設定します。
基本的なインストールでは、spec.tracing.sampling
は 10000
に設定され、トレースの 100% をサンプリングします。以下に例を示します。
- この値を 10 サンプル (トレースの 0.1%) に設定します。
- この値を 500 サンプル (トレースの 5%) に設定します。
Envoy プロキシーサンプリングレートは、Service Mesh で利用可能なアプリケーションに適用され、Envoy プロキシーを使用します。このサンプリングレートは、Envoy プロキシーが収集および追跡するデータ量を決定します。
Jaeger リモートサンプリングレートは、Service Mesh の外部にあるアプリケーションに適用され、データベースなどの Envoy プロキシーを使用しません。このサンプリングレートは、分散トレースシステムが収集および保存するデータ量を決定します。詳細は、分散トレース設定オプション を参照してください。
手順
-
OpenShift Container Platform Web コンソールで、Operators
Installed Operators をクリックします。 - Project メニューをクリックし、コントロールプレーンをインストールしたプロジェクト (例: istio-system) を選択します。
-
Red Hat OpenShift Service Mesh Operator をクリックします。Istio Service Mesh Control Plane 列で、
ServiceMeshControlPlane
リソースの名前 (basic
など) をクリックします。 サンプリングレートを調整するには、
spec.tracing.sampling
に別の値を設定します。- YAML タブをクリックします。
ServiceMeshControlPlane
リソースでspec.tracing.sampling
の値を設定します。以下の例では、100
に設定します。Jaeger サンプリングの例
spec: tracing: sampling: 100
- Save をクリックします。
-
Reload をクリックして、
ServiceMeshControlPlane
リソースが正しく設定されていることを確認します。