Pixie와 함께 자동 원격 측정을 설치할 때 수집하는 데이터의 유형과 양에 대한 옵션이 있습니다. 설치하는 동안 Helm을 사용하여 특정 네임스페이스 또는 포드를 제외하거나 원하는 노드에 대한 데이터만 수집하거나 민감한 정보가 포함된 열을 수정하여 데이터를 줄이거나 제한하거나 제외합니다.
중요
다음 섹션에서는 Pixie를 설치하는 동안 수집을 구성하는 방법을 보여줍니다. 사용자 지정 Pixie 내보내기 스크립트를 활성화, 비활성화 또는 추가하여 설치 후 수집을 구성할 수도 있습니다.
네임스페이스 및 포드 제외
New Relic이 수집하는 Pixie 데이터의 양을 줄이려면 설치 중에 Helm 차트에 다음 매개변수를 추가하여 네임스페이스 또는 포드를 제외할 수 있습니다. 데이터는 Pixie에 여전히 존재합니다.
excludeNamespacesRegex
- 관찰 가능성 데이터를 New Relic에 보내는 것에서 제외할 네임스페이스를 식별하는 데 사용합니다. 비어 있으면 모든 네임스페이스의 데이터가 New Relic으로 전송됩니다. 예를 들어:bash$--set newrelic-pixie.excludeNamespacesRegex="examplenamespace-1|examplenamespace-2"excludePodsRegex
- 관찰 가능성 데이터를 New Relic으로 보내는 것에서 제외하려는 모든 네임스페이스에서 포드를 식별하는 데 사용합니다. 비어 있으면 모든 포드(제외된 네임스페이스의 포드 제외)에 대한 데이터가 New Relic으로 전송됩니다. 예를 들어:bash$--set newrelic-pixie.excludePodsRegex="examplepod-1|examplepod-2"
이 두 가지 구성 옵션은 Pixie에서 New Relic으로 전송되는 Metric
및 Span
데이터에 대한 추가 제어를 제공합니다.
예를 들어 px-sock-shop
및 kafka-demo
를 제외한 모든 네임스페이스를 제외하도록 newrelic-pixie
통합을 구성하려면 Helm 설치 또는 Helm 업그레이드 명령에 다음 구성 매개변수를 추가합니다.
$--set newrelic-pixie.excludeNamespacesRegex="default|kube-node-lease|kube-public|kube-system|newrelic|newrelic-custom-metrics|olm|px-operator"
또는 제외되지 않은 네임스페이스에서 실행되는 팟(Pod)을 제외하려는 경우 Helm 설치 또는 Helm 업그레이드에 다른 구성 매개변수를 추가할 수 있습니다. 정확한 이름을 일치시키는 대신 간단한 정규식을 사용하여 예와 같이 부하 테스트와 관련된 포드 이름을 일치시킬 수 있습니다.
$--set newrelic-pixie.excludePodsRegex="load-test.*|loadgen.*"
완전히 새로 설치하는 경우 New Relic의 설치 안내에서 제공하는 helm upgrade --install
명령에 excludeNamespacesRegex
및 excludePodsRegex
를 추가해야 합니다.
$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
Helm 차트에 사용 가능한 매개변수에 대해 자세히 알아보세요.
Kubernetes 기능을 사용하여 선택한 데이터 수집
Pixie와 함께 자동 원격 측정을 배포하면 실제로 Pixie Helm 차트와 함께 자동 원격 측정과 New Relic 인프라 번들에 포함된 다른 New Relic 구성 요소를 활성화하는 것입니다. Pixie Edge Module(PEM) 포드는 Kubernetes DaemonSet으로 클러스터에 배포됩니다. 즉, 기본적으로 포드는 모든 클러스터 노드에 예약되고 해당 노드에 대한 모든 관찰 가능성 메트릭을 수집하는 책임이 있습니다.
Kubernetes에서는 nodeSelector, taint/toleration 및 노드 선호도/반선호도를 사용하여 클러스터 노드의 특정 하위 집합에 포드를 할당할 수 있습니다. 이렇게 하면 모든 노드가 아니라 선택한 노드에 대한 지표만 수집하게 됩니다. 예를 들어 10개의 클러스터 노드 중 5개에만 Pixie를 사용하여 자동 원격 측정을 배포하려는 경우에 유용합니다. 지정된 5개의 노드가 우선 순위가 높은 워크로드를 담당하거나, 클러스터에서 Linux 및 Windows 노드를 모두 실행 중이고 현재 Windows 노드가 지원되지 않기 때문에 Linux 노드에만 배포하려고 할 수 있습니다.
이제 단계별 설치 명령에 추가 옵션을 제공하여 노드 하위 집합에 포드를 할당할 수 있습니다. 이 옵션은 이스케이프 처리된 JSON 문자열을 Pixie 차트를 사용한 자동 원격 분석에 전달하여 pixie=allowed
레이블이 있는 노드에서만 PEM DaemonSet를 예약하는 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와 함께 자동 원격 분석을 배포할 때 다음 Helm 명령을 사용하십시오.
$--set pixie-chart.dataAccess=Restricted
dataAccess
을 Restricted
로 설정하지 않으면 기본 상태인 전체 데이터 액세스 권한을 계속 얻게 됩니다.
현재 Full
및 Restricted
은(는) 두 가지 옵션뿐입니다.
Full
: 기본 옵션입니다. 이는 이미 배포된 모든 클러스터에 적용됩니다. 이 방법에서는 모든 테이블과 열을 자유롭게 쿼리하고 모든 데이터를 볼 수 있습니다.Restricted
: 데이터를 쿼리할 때 응답/요청 본문 및 요청 헤더와 같은 민감한 데이터를 포함할 수 있는 열은REDACTED
문자열로 대체됩니다.error code
과 같은 다른 민감하지 않은 열은 여전히 정상적으로 표시됩니다. 제한된 데이터 액세스 모드는 스마트하지 않습니다. 행에 실제로 민감한 데이터가 포함되어 있는지 여부는 감지하지 않습니다. 대신 잠재적으로 민감한 콘텐츠 유형을 식별하고 숨깁니다.