AutoTrace のWebhookの設定

AutoTrace の Webhook バージョンをピン留め

AutoTrace 以降 Webhook バージョン 1.295.7

Webhookバージョン 1.295.7 では、 AutoTrace Webhook のバージョンを固定するための新しいフラグが導入されました。 必要に応じて、 AutoTrace のWebhookデプロイメントのバージョンを手動で指定するために、`--version --set global.version=<version> ` フラグを使用できます。 Instana のすべての AutoTrace Webhookのリリースに関する詳細については、 Instana autotrace Webhookを参照してください。

以前は、画像のバージョンはSHAハッシュを使用して固定されていたため、複数の画像間でバージョンを特定し、照合することが困難でした。 Webhook 1.295.7 から、フラグ global.version を設定することで、単一のバージョン値を使用して両方の画像を制御できるようになります。 このフラグはデフォルトで設定されています。 設定された場合、 global.version は優先され、および webhook.image で定義されている autotrace.instrumentation.imageバージョンやSHAを上書きします。 が設定されていない global.version 場合、または webhook.image で定義された autotrace.instrumentation.image 値が使用されます。

AutoTrace 以前 Webhook バージョン 1.295.7

バージョン 1.295.7 より前のチャートにおいて、 AutoTrace Webhook バージョンを固定するには、Webhook および計測用イメージの個別のイメージフラグを使用します。 たとえば、ピン留めしたいバージョンが 1.294.0 の場合、次の2つのフラグを使用することでこれを行う --set webhook.image="containers.instana.io/instana/release/agent/instana-autotrace-webhook:1.294.0" --set autotrace.instrumentation.image="icr.io/instana/instrumentation:1.294.0"ことができます。 この方法は非推奨となっており、代わりに ` global.version flag` を使用してください。

トレーサーを無効にする

以下のトレーサーを無効にすることができます:

  • .NET Core (.NET Core)
  • Python (Python)
  • Node.js (Node.js)
  • Ruby (ルビー)

.NET Core のトレースが有効になっている場合、他のトレーサー( Python、 Node.js、および Ruby )を無効にしないでください。 これらのトレーサーを無効にすると、.NET Core のトレース機能に影響が出る可能性があります。

各テクノロジーのトレース機能を無効にするには、次の例に示すように、 AutoTrace--set autotrace.<technology>.enabled=false のWebhookインストールコマンドに次の行を追加してください。 トレースを無効にしたい技術に <technology> 置き換えてください。

helm install --create-namespace --namespace instana-autotrace-webhook instana-autotrace-webhook \
  --repo https://agents.instana.io/helm instana-autotrace-webhook \
  --set webhook.imagePullCredentials.password=<download_key> \
  --set autotrace.ruby.enabled=false \
 

ロールベースのアクセス制御の設定

AutoTrace のWebhookを、によって保護され、 ClusterRoleBindingClusterRoleServiceAccount に一致するにデプロイするには、 Helmrbac.enabled=true チャートをデプロイする際にフラグを設定してください。

ロールベースのアクセス制御に加え、Podセキュリティポリシーを使用する場合は、 Helm 引数に を rbac.psp.enabled=true 追加してください。

また、組み込みのPodセキュリティ・アドミッション・コントローラーを使用して、Podセキュリティ基準を適用することもできます。 Pod Security Admission の詳細については、 Kubernetes のドキュメントを参照してください。

Helmwebhook.pod.hostNetwork=false のインストール時にフラグ rbac.enabled=false および を設定しておけば、次のコマンドを実行することで、 AutoTrace のWebhookをPod Security Standardの厳格な設定で実行できます:

kubectl label --overwrite ns instana-autotrace-webhook pod-security.kubernetes.io/enforce=restricted
 

コンテナのポートの設定

AutoTrace のWebhookポッドをホストネットワーク上でホストし、 Kubernetes API サーバーから確実にアクセスできるよう、適切に設定する必要があります(apiserver)。

デフォルトでは、コンテナはポート にバインド 42650されます。

ポート 42650 がすでに使用中の場合、 AutoTrace のWebhookはクラッシュします。 この問題を回避するには、プロパティ webhook.pod.port を使用してポートを変更することができます。

計測機能の有効化または無効化

AutoTrace のWebhookは、すべてのPod内のすべてのコンテナを監視します。

ただし、どのリソースに監視機能を適用するかを、より細かく制御することができます。 選択したリソースのみを監視対象とするには、まず Helm のデプロイ時に引 autotrace.opt_in=true 数を追加します。

次に、必要なポッド、レプリカセット、ステートフルセット、デーモンセット、およびデプロイメントにラベル instana-autotrace: "true" を追加して、どのリソースに監視機能を適用するかを指定します。 AutoTrace Webhookはこのラベルを使用して必要なリソースを特定し、それらを変更します。 さらに、ネームスペース単位でラベルを設定することも可能です。これにより、そのネームスペース内のすべてのリソースに対して監視が行われます。

注:AutoTrace Webhookは、 autotrace.opt_inの値にかかわらず、ラベル instana-autotrace: "false" を持つネームスペース内のポッドやリソースを変更することはありません。

この instana-autotrace: "false" ラベルは、 DaemonSets, Deployments、 DeploymentConfigs,、 ReplicaSets,、 StatefulSets,、およびネームスペースのメタデータにおいて、ネストされたPodテンプレートやスタンドアロンのPodと同様に尊重されます。

名前空間の無視

設定 autotrace.exclude.namespaces を使用することで、名前空間全体を自動計測の対象から除外することができます。

注: ラベル instana-autotrace: "true" が付いているリソースは、名前空間の除外設定にかかわらず、監視対象となります。

この instana-autotrace ラベルは、 DaemonSets, Deployments、 DeploymentConfigs,、 ReplicaSets,、および StatefulSets, のメタデータにおいて、ネストされたPodテンプレートやスタンドアロンのPodと同様に尊重されます。

リソースの無視

ラベルを追加することで、 instana-autotrace: "false" 特定のリソースを自動計測の対象から除外することができます。 AutoTrace webhookは、他の設定にかかわらず、このラベルが付いたリソースを無視します。

この instana-autotrace ラベルは、 DaemonSets, Deployments、 DeploymentConfigs,、 ReplicaSets,、および StatefulSets, のメタデータにおいて、ネストされたPodテンプレートやスタンドアロンのPodと同様に尊重されます。

高レベルのリソース変更

1.304.6 以降、 Instana AutoTrace の Webhook は、デフォルトでは Pod と ConfigMaps のみを変更します。 これにより、更新やアンインストールが簡単になります。 新しいWebhookポッドが実行されると、上位のリソースが再起動される可能性があります。これにより、新しい計測用イメージが適用された新しいポッドが起動されます。

上位レベルのリソース(Deployment、DaemonSet、ReplicaSet、StatefulSet、DeploymentConfig)を直接変更する以前の動作が必要な場合は、次の autotrace.enableHigherLevelResourceMutation=true フラグを使用して有効にできます:

helm install --create-namespace --namespace instana-autotrace-webhook instana-autotrace-webhook \
  --repo https://agents.instana.io/helm instana-autotrace-webhook \
  --set webhook.imagePullCredentials.password=<download_key> \
  --set autotrace.enableHigherLevelResourceMutation=true
 

NGINX およびingress-nginxのWebhook計測機能を有効にする

NGINX およびingress-nginxの自動計測機能を有効にするには、ラベルを設定してオプトイン autotrace.ingress_nginx.enabled=trueする必要があります。

作業を進める前に、 「 AutoTrace Webhook のトラブルシューティング 」を参照し、関連するオブジェクトが更新または再作成されていることを確認してください。

AutoTrace のWebhookは、ingress-nginx( Kubernetes )およびingressコントローラー( 0.34.1 以降)をサポートしており、 サポート期間は45日間です。また、 Helm チャート( 2.11.2 以降)とも互換性があります。

NGINX で Instana AutoTrace の Webhook を設定するには、次のコマンドを実行してください:

helm install --create-namespace --namespace instana-autotrace-webhook \
  --repo https://agents.instana.io/helm instana-autotrace-webhook instana-autotrace-webhook \
  --set webhook.imagePullCredentials.password=<download-key> \
  --set autotrace.ingress_nginx.enabled=true

通常の NGINX またはスタンドアロン版のについては、場所 nginx_status を手動で追加する必要があります。 ただし、ingress-nginx の場合、 AutoTrace Webhook によって location nginx_status が自動的に追加されます。

Ingressの NGINX を監視するには、Deploymentおよび ConfigMap の変更が必要です。 したがって、Ingress( NGINX )をインストールする前に、 Instana ( AutoTrace )のWebhookをインストールしてください。 「Ingress NGINX 」がすでにインストールされている場合は、以下の手順を実行してください:

  1. サービスに影響を与えずに既存のデプロイメントを削除し、新しいデプロイメントを作成するには、次のコマンドを実行してください:

    kubectl get deploy ingress-nginx-deployment -o yaml > your_deployment_backup.yaml # Back up your deployment config
    kubectl delete deploy your_deployment_name --cascade=orphan # Delete the existing deployment, cascade option ensures that pods are not deleted.
    kubectl apply -f your_deployment_backup.yaml # Re-apply the deployment config
  2. ConfigMap, を置き換えるには、次のコマンドを実行してください:

    kubectl get cm ingress-nginx-configmap -o yaml > your_configmap_backup.yaml # Back-up your configmap
    kubectl replace --force -f your_configmap_backup.yaml # replace the configmap to trigger mutation webhook API

NGINX サーバー監視

NGINX サーバーを包括的に監視するには、 Instana で NGINX ステータスエンドポイントを有効にする必要があります。 AutoTrace のWebhookは、 NGINX のデプロイタイプに応じて、この処理を異なる方法で実行します:

  • NGINX Ingressコントローラー : AutoTrace のWebhookは、パラメーター autotrace.ingress_nginx.enabled がに設定されると true、ステータスエンドポイントを自動的に設定します。
  • スタンドアロンの NGINX : NGINX の設定ファイルで、場所 nginx_status を手動で設定する必要があります。
  • NGINX なお、スタンドアロンの NGINX と同様に、ステータスエンドポイントについては手動での設定が必要です。

NGINX ステータスエンドポイントの手動有効化や、メトリクスの収集や分散トレーシングの設定を含む、 NGINX サーバーの包括的な監視に関する詳細な手順については、 「 NGINX の監視」 を参照してください。

Instana AutoTrace Webhookは、スタンドアロンの NGINX での ConfigMap の使用をサポートしていません。 詳細については、 「 NGINX の監視」 を参照してください。

IBM MQ およびACE (非推奨) でのWebhook計測の有効化

注:
  • Instana IBM MQ における Autotrace Webhook のサポートは非推奨となりました。 2027年5月31日をもちまして、 Instana のサポートは正式に終了し、本機能はサポート終了(EOL)となります。 この機能は、 IBM MQ 演算子に置き換えられました
  • Instana IBM ACE における Autotrace Webhook のサポートは非推奨となりました。 2027年5月31日を以て、 Instana は正式にサポートを終了し、この機能をサポート終了(EOL)と宣言します。これは、2026年4月30日をもって延長サポート期間が終了する IBM ACE 11の製品ライフサイクルi に準拠したものです。 詳細については、 「非推奨機能」 を参照してください。

IBM MQ およびACEの自動インスツルメンテーションを有効にするには、ラベル autotrace.ibmmq.enable=true と を設定 autotrace.ace.enable=trueして、この機能を利用するように設定する必要があります。 AutoTrace のWebhookは、 IBM Cloud Pak for Integration 上で実行されている IBM MQ およびACEのみをサポートしています。

IBM Cloud Pak for Integration は Red Hat OpenShift クラスタ上で動作するため、 Helmopenshift.enabled=true のデプロイ時に設定を行う必要があります。

IBM MQ とACEの自動計測機能が有効になっている状態で、 Instana の AutoTrace Webhookを設定するには、次のコマンドを入力します:

helm install --create-namespace --namespace instana-autotrace-webhook instana-autotrace-webhook \
  --repo https://agents.instana.io/helm instana-autotrace-webhook \
  --set webhook.imagePullCredentials.password=<download_key> \
  --set openshift.enabled=true \
  --set autotrace.ibmmq.enabled=true \
  --set autotrace.ace.enabled=true
 

Node.js ECMAScriptモジュール

アプリケーションでECMAScriptモジュールを使用している場合は、この autotrace.nodejs.application_type 設定を使用してください。 AutoTrace のWebhookが最新バージョンであることを確認するには、 「 AutoTrace のWebhookの更新」 を参照してください。

  • ( Node.js バージョン module_v218.19 以降) で autotrace.nodejs.application_type 設定するには:

      helm install --create-namespace --namespace instana-autotrace-webhook instana-autotrace-webhook \
        --repo https://agents.instana.io/helm instana-autotrace-webhook \
        --set webhook.imagePullCredentials.password=<download_key> \
        --set autotrace.nodejs.application_type=module_v2
    注:
    • この module_v1 オプションは非推奨です。
    • 以下の条件がすべて満たされる場合にのみ module_v1 、これを autotrace.nodejs.application_type 設定してください:
      • お使いのアプリケーションは、 18.19.0 より前のバージョンの Node.js 上で動作しています。
      • AutoTrace のWebhook、またはそれ以前のバージョンを使用しています。
    • この module_v1 オプションは現在のバージョンではサポートされておらず、次回のアップグレードで削除される予定です。 詳細については、 「互換性のない変更 」のセクションを参照してください。
  • デフォルトの動作に戻すか、設定オプションを完全に削除するには、を次のように autotrace.nodejs.application_type 設定 commonjsします:

    helm install --create-namespace --namespace instana-autotrace-webhook instana-autotrace-webhook \
      --repo https://agents.instana.io/helm instana-autotrace-webhook \
      --set webhook.imagePullCredentials.password=<download_key> \
       --set autotrace.nodejs.application_type=commonjs

一時的なストレージの必要量を最小限に抑える

Webhookはデプロイメントを変更し、 initContainer を追加します。 initContainer は、サポートされているすべてのテクノロジー( Node.js、.NET Core、 Ruby、 Python、および NGINX )の計測ファイルを含むイメージを取得し、そのファイルをボリュームにコピーします。 ファイルは、ボリュームマウント下の path /opt/instana/instrumentation/emptyDirinstana-instrumentation-volume ボリュームに保存されています。 emptyDir のボリュームはノードのローカルファイルシステムに保存されるため、計測ファイルによってPodの一時ストレージの使用量が増加します。 計測ファイルの合計サイズは約300MBです。 各技術のストレージ要件については、以下の表を参照してください:

テクノロジー ストレージ要件
libinstana_init 5M - すべての技術において必須
IBM MQ 17M
Ruby 151M
IBM App Connect Enterprise 9M
.NET Core 4M
NGINX 66M
Node.js 32M
Python 20M

場合によっては、クラスタが特定の技術のみを使用することもあります。 最適化のため、インストール時にコピーされるファイルを制限することができます。これにより、一時ストレージの使用量が削減され、 initContainer の実行時間が短縮されます。 必要な技術に限定するには、以下の手順を実行してください:

  1. クラスタで使用されている技術を特定してください。 この例では、「 Node.js 」と「.NET Core 」が選択されています。

  2. Helm のチャートフラグを使用する必要な技術を明示的に有効にして、Webhookの設定を行ってください。 構文は次のとおりです。

    --set autotrace.instrumentation.manual.<technology>=true
     

    を以下のいずれかに <techonology> 置き換えてください:

    • nodejs
    • .NET Core
    • python
    • ruby
    • nginx

    たとえば、 Node.js と .NET Core の両方を有効にするには、次のフラグを使用します:

    --set autotrace.instrumentation.manual.nodejs=true --set autotrace.instrumentation.manual.netcore=true
     
  3. helm チャートのインストールが完了したら、クラスタのワークロードに新しい設定が反映されるよう、必ずデプロイメントを再作成してください。

環境変数や Helm のチャートフラグに関する詳細については、 Helm の値をご覧ください。