• ログイン今すぐ開始

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

Pixieデータインジェストによる自動テレメトリの管理

Pixie で自動テレメトリをインストールする際に、取り込むデータの種類と量のオプションがあります。インストール時に Helm を使用して、特定のネームスペースやポッドを除外したり、必要なノードのみのデータを収集したり、機密情報を含む列を再編集したりして、データを削減、制限、または除外します。

名前空間とポッドの除外

New Relic が取り込む Pixie データの量を減らしたい場合は、インストール時に Helm チャートに以下のパラメーターを追加することで、名前空間やポッドを除外することができます。なお、データは依然として Pixie に存在します。

  • excludeNamespacesRegex -可観測性データをNewRelicに送信する際に除外する名前空間を識別するために使用します。空の場合、すべての名前空間のデータがNewRelicに送信されます。例えば:

    --set newrelic-pixie.excludeNamespacesRegex="examplenamespace-1|examplenamespace-2"
  • excludePodsRegex -可観測性データをNewRelicに送信する際に除外する、すべての名前空間のポッドを識別するために使用します。空の場合、すべてのポッド(除外された名前空間のポッドを除く)のデータがNewRelicに送信されます。例えば:

    --set newrelic-pixie.excludePodsRegex="examplepod-1|examplepod-2"

これらの2つの構成オプションは、PixieからNewRelicに送信されるMetricおよびSpanデータに対する追加の制御を提供します。

たとえば、 px-sock-shopkafka-demoを除くすべての名前空間を除外するようにnewrelic-pixie統合を構成する場合は、次の構成パラメーターをHelmインストールまたはHelmアップグレードコマンドに追加します。

--set newrelic-pixie.excludeNamespacesRegex="default|kube-node-lease|kube-public|kube-system|newrelic|newrelic-custom-metrics|olm|px-operator"

あるいは、除外されていない名前空間で実行されているポッドを除外したい場合は、HelmのインストールまたはHelmのアップグレードに別の設定パラメータを追加することができます。正確な名前をマッチさせる代わりに、例としてロードテストに関連するポッド名をマッチさせるためにシンプルな正規表現を使用することができます。

--set newrelic-pixie.excludePodsRegex="load-test.*|loadgen.*"

まったく新しいインストールを実行している場合は、NewRelicのガイド付きインストールで提供されるhelm upgrade --installコマンドにexcludeNamespacesRegexexcludePodsRegexを追加する必要があります。

kubectl apply -f https://raw.githubusercontent.com/pixie-labs/pixie/main/k8s/operator/crd/base/px.dev_viziers.yaml && \
kubectl apply -f https://raw.githubusercontent.com/pixie-labs/pixie/main/k8s/operator/helm/crds/olm_crd.yaml && \
helm repo add newrelic https://helm-charts.newrelic.com && helm repo update && \
kubectl create namespace newrelic ; helm upgrade --install newrelic-bundle newrelic/nri-bundle \
--set global.licenseKey=<NR LICENSE KEY> \
--set global.cluster=pixie-auto-telemetry \
--namespace=newrelic \
--set newrelic-infrastructure.privileged=true \
--set ksm.enabled=true \
--set prometheus.enabled=true \
--set kubeEvents.enabled=true \
--set logging.enabled=true \
--set newrelic-pixie.enabled=true \
--set newrelic-pixie.apiKey=<PIXIE API KEY> \
--set pixie-chart.enabled=true \
--set pixie-chart.deployKey=<PIXIE DEPLOY KEY> \
--set pixie-chart.clusterName=pixie-auto-telemetry \
--set newrelic-pixie.excludeNamespacesRegex="default|kube-node-lease|kube-public|kube-system|newrelic|newrelic-custom-metrics|olm|px-operator" \
--set newrelic-pixie.excludePodsRegex="load-test.*|loadgen.*"

既存のインストールをアップグレードするだけなら、この方法の方がはるかにシンプルです。

helm upgrade newrelic-bundle newrelic/nri-bundle --reuse-values -n newrelic --set newrelic-pixie.excludeNamespacesRegex="default|kube-node-lease|kube-public|kube-system|newrelic|newrelic-custom-metrics|olm|px-operator"

newrelic-pixieヘルムチャートで使用可能なパラメータについて詳しくは、 こちらをご覧ください。

Kubernetesの機能を使って選択したデータを収集する

Auto-telemetry with Pixie をデプロイすると、実際に Auto-telemetry with Pixie Helm チャートが有効になり、New Relic インフラストラクチャ バンドルに含まれる他の New Relic コンポーネントも有効になります。 Pixie Edge Module (PEM) ポッドは、Kubernetes DaemonSet としてクラスターにデプロイされます。つまり、デフォルトでは、ポッドがすべてのクラスターノードにスケジュールされ、そのノードのすべてのオブザーバビリティメトリクスの収集を担当します。

Kubernetesでは、nodeSelectors、taints / tolerations、およびノードアフィニティ/アンチアフィニティを使用して、ポッドをクラスタノードの特定のサブセットに割り当てることができます。そうすれば、すべてのノードではなく、選択したノードのメトリックのみを収集します。これは、たとえば、Pixieを使用した自動テレメトリを10個のクラスターノードのうち5個にのみ展開する場合に役立ちます。指定された5つのノードが優先度の高いワークロードを担当している場合や、クラスターでLinuxノードとWindowsノードの両方を実行していて、Windowsノードは現在サポートされていないため、Linuxノードにのみ展開したい場合があります。ガイド付きインストールコマンドに追加のオプションを提供することで、ポッドをノードのサブセットに割り当てることができるようになりました。このオプションは、エスケープされたJSON文字列をPixieチャートを使用した自動テレメトリに渡します。これにより、ラベルpixie=allowedのノードでのみPEMDaemonSetをスケジュールするnodeSelectorが有効になります。

--set pixie-chart.patches.vizier-pem='\{\"spec\"\: \{\"template\"\: \{\"spec\"\: \{ \"nodeSelector\"\: \{\"pixie\"\: \"allowed\" \}\}\}\}\}'

Helmで一般的な値ファイルを使用している場合、これはnri-bundle values.yamlでのようになります。

pixie-chart:
enabled: true
patches:
vizier-pem: '{"spec": {"template": {"spec": { "nodeSelector": {"pixie": "allowed" }}}}}'

この方法では、Kubernetesの標準的な仕様に従うだけで、多数の設定オプションが得られます。

機密情報を含むカラムを再編集

リクエストやレスポンスのボディやヘッダーなど、機密性の高いデータの列を再編集することができます。これを行うには、Pixie で Auto-telemetry を展開するときに、次の Helm コマンドを使用します。

--set pixie-chart.dataAccess=Restricted

dataAccessRestrictedに設定しない場合、デフォルトの状態である完全なデータアクセスを引き続き取得します。

現在、 FullRestrictedだけが2つのオプションです。

  • Full:デフォルトのオプション。これは、すでにデプロイされているすべてのクラスターに適用されます。このメソッドでは、すべてのテーブルと列を自由にクエリして、すべてのデータを表示できます。
  • Restricted:データをクエリする場合、応答/リクエスト本文やリクエストヘッダーなどの機密データを含む可能性のある列は、 REDACTED文字列に置き換えられます。error codeなどの他の機密性の低い列は、引き続き通常どおり表示されます。制限付きデータアクセスモードはスマートではないことに注意してください。行に機密データが実際に含まれているかどうかは検出されません。代わりに、コンテンツのタイプを潜在的に機密性の高いものとして識別し、非表示にします。
Copyright © 2022 New Relic株式会社。

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.