왼쪽 탐색 창 > + Integration & Agents > eBPF Agent 로 이동합니다.
계정 선택 화면에서 eBPF 에이전트를 설치할 계정을 선택하고 Continue [계속을] 클릭합니다.
설치 방법 선택 페이지에서 Kubernetes를 선택하고 Continue [계속을] 클릭합니다.
사용자 키 입력 화면에서 다음 옵션 중 하나를 선택한 다음 Continue [계속을] 클릭합니다.
기존 키 사용: 이미 사용자 키가 있는 경우 사용자 키를 제공하세요. 자세한 내용은 사용자 키를 참조하세요.
새 키 만들기: 사용자 키가 없으면 Create a new key [새 키 만들기를] 클릭하여 키를 만듭니다.
Kubernetes 통합 구성 화면에서:
Kubernetes 의 구현, 배포 이름을 입력합니다.
(선택 사항) 통합에 대한 네임스페이스를 입력합니다. 기본 네임스페이스는 newrelic 입니다.
계속 을 클릭합니다.
팁
뉴럴릭 측정에 대해 사용자 정의 쿼리스페이스를 선택하는 경우(기본값 newrelic 대신) 해당 쿼리스페이스를 dropDataForNamespaces 설정 변수에 추가하여 모델링에서 제외하는 것이 좋습니다. 이는 eBPF 에이전트가 측정, 로그 필드 자체를 모니터링하는 것을 방지합니다. 예를 들어, newrelic-mon 네임스페이스로 사용하는 경우 dropDataForNamespaces: ["kube-system", "newrelic-mon"] 설정합니다.
Kubernetes 통합 설치 화면에서:
Helm 사용하여 쿠버네티스 클러스터에 eBPF 에이전트를 설치하려면 표시된 명령을 복사하여 붙여넣으세요.
(선택 사항) values.yaml 설정 파일을 다운로드하려면 Download [다운로드]를 클릭하세요. 설정 방법에 대한 자세한 내용은 K8s 설정 방법을 참조하세요.
eBPF 에이전트가 설치되면 Linux 호스트에서 자동으로 데이터를 수집하기 시작합니다. 이 데이터는 뉴렐릭의 OpenTelemetry UI 에서 액세스할 수 있습니다. 뉴렐릭 OpenTelemetry UI 에 대한 자세한 내용은 OpenTelemetry APM UI 참조하세요.
검색 배너에서 검색 기준을 instrumentation.name = nr_ebpf 으로 설정합니다.
/* 앱이 계측되고 뉴렐릭으로 데이터를 내보내도록 구성되면 뉴렐릭 UI 에서 데이터를 찾을 수 있어야 합니다. * <DNT>**모든 > 서비스 - OpenTelemetry</DNT>에서 찾아보세요. 엔티티 이름은 앱의 `service.name` 값으로 설정됩니다. 리소스 속성. 뉴렐릭 서비스 부분이 OpenTelemetry 리소스 속성에서 파생되는 방법에 대한 자세한 내용은 [서비스](/docs/OpenTelemetry/모범 참여/OpenTelemetry-모범 참여-resources/#services)를 참조하세요. * [NRQL](/docs/NRQL/get-started/introduction-NRQL(뉴렐릭 쿼리 언어)/)를 사용하여 직접 쿼리합니다. [트레이스](https\://one.newrelic.com/launcher/nr1-core.explorer?overlay=eyJuZXJkbGV0SWQiOiJkYXRhLWV4cGxvcmF0aW9uLnF1ZXJ5LWJ1aWxkZXIiLCJpbml0aWFsQWN0 aXZlSW50ZXJmYWNlIjoibnJxbEVkaXRvciIsImluaXRpYWxOcnFsVmFsdWUiOiIiLCJpbml 0aWFsUXVlcmllcyI6W3sibnJxbCI6IkZST00gU3BhbiBTRUxFQ1QgY291bnQoKikgd2hlcmU gbmV3cmVsaWMuc291cmNlPSclb3RscCUnIFRJTUVTRVJJRVMifV0sImluaXRpYWxDaGFydFNldHRpbmdzIjp7ImNoYXJ0VHlwZSI6IkNIQVJUX0xJTkUiLCJsaW1pdCI6NzU0MiwibGlua2VkRW50aXR5R3VpZCI6bnVsbCwibGlua2VkRGFzaGJvYXJkSWQiOm51bGwsInlTY2FsZSI6eyJzdGF0aWMiOmZhbHNlLCJkb21haW4iOltudWxsLG51bGxdfSwieVplcm8iOnRydWV9fQo=), [메트릭](https\://one.newrelic.com/launcher/nr1-core.explorer?overlay=eyJuZXJkbGV0SWQiOiJkYXRhLWV4cGxvcmF0aW9uLnF1ZXJ5LWJ1aWxkZXIiLCJpbml0aWFsQWN0aXZlSW50ZXJmYWNlIjoibnJxbEVkaXRvciIsImluaXRpYWxOcnFsVmFsdWUiOiIiLCJpbml0aWFsUXVlcmllcyI6W3sibnJxbCI6IkZST00gTWV0cmljIFNFTEVDVCBjb3VudCgqKSB3aGVyZS BuZXdyZWxpYy5zb3VyY2UgTElLRSAnJW90bHAlJyBUSU1FU0VSSUVTIn1dLCJpbml0aWFsQ2hhcnRTZXR0aW5ncyI6eyJjaGFydFR5cGUiOiJDSEFSVF9MSU5FIiwibGltaXQiOjc1NDIsImxpbmtlZEVudGl0eUd1aWQiOm51bGwsImxpbmtlZERhc2hib2FyZElkIjpudWxsLCJ5U2NhbGUiOnsic3RhdGljIjpmYWxzZSwiZG9tYWluIjpbbnVsbCxudWxsXX0sInlaZXJvIjp0cnVlfX0K), 및 [로그](https\://one.newrelic.com/launcher/nr1-core.explorer?overlay=eyJuZXJkbGV0SWQiOiJkYXRhLWV4cGxvcmF0aW9uLnF1ZXJ5LWJ1aWxkZXIiLCJpbml0aWFsQWN0aXZlSW50ZXJmYWNlIjoibnJxbEVkaXRvciIsImluaXRpYWxOcnFsVmFsdWUiOiIiLCJpbml0aWFsUXVlcmllcyI6W3sibnJxbCI6IkZST00gTG9nIFNFTEVDVCBjb3VudCgqKSB3aGVyZSB uZXdyZWxpYy5zb3VyY2U9JyVvdGxwJScgVElNRVNFUklFUyJ9XSwiaW5pdGlhbENoYXJ0U2V0dGluZ3MiOnsiY2hhcnRUeXBlIjoiQ0hBUlRfTElORSIsImxpbWl0Ijo3NTQyLCJsaW5rZWRFbnRpdHlHdWlkIjpudWxsLCJsaW5rZWREYXNoYm9hcmRJZCI6bnVsbCwieVNjYWxlIjp7InN0YXRpYyI6ZmFsc2UsImRvbWFpbiI6W251bGwsbnVsbF19LCJ5WmVybyI6dHJ1ZX19Cg==). * 자세한 내용은 [OpenTelemetry APM UI](/docs/OpenTelemetry/get-started/APM-모니터링/OpenTelemetry-APM-UI)를 참조하세요. 분리를 찾을 수 없고 NRQL 로 데이터가 보이지 않는 경우, [OTLP 문제 해결, 해결](/docs/OpenTelemetry/모범 참여/OpenTelemetry-otlp-문제 해결, 해결)을 참조하세요. 뉴렐릭 Opentelementry UI 에서 eBPF 에이전트가 수집한 데이터를 확인할 수 있습니다. */
라이선스 키가 포함된 Kubernetes 비밀의 이름을 지정합니다. 이 기능을 사용하면 키를 직접 제공하지 않아도 됩니다.
String
"newrelic-license-secret"
customSecretLicenseKey
라이선스 키 값이 저장된 비밀 내의 키를 지정합니다.
customSecretName
와 함께 사용됩니다.
String
"license"
region
귀하의 뉴렐릭 계정 지역(
US
또는
EU
)을 지정합니다.
customSecretName
사용할 때 필요합니다.
String
"US"
proxy
모든 발신 에이전트 데이터를 라우팅하기 위한 포트를 포함한 프록시 서버의 URL을 지정합니다.
String
"http://user:pass@host:port"
logLevel
에이전트에 대한 로깅 세부 정보 수준을 정의합니다. 유효한 옵션:
OFF
,
FATAL
,
ERROR
,
WARNING
,
INFO
,
DEBUG
.
String
"INFO"
logFilePath
로그 출력을 위한 에이전트 컨테이너 내부의 파일 경로를 지정합니다. 경로가 유효하지 않으면 로그가 stdout으로 전송됩니다.
String
"/var/log/nr-ebpf-agent.log"
downloadedPackagedHeadersPath
eBPF 에이전트가 사용할 필수 Linux 헤더를 수동으로 다운로드하여 배치하는 전체 디렉토리의 절대 경로를 설정합니다. 이 기능은 에이전트가 필요한 Linux 헤더를 다운로드할 수 없는 제한된 환경에서 유용합니다. 필수 헤더는 커널 버전을 기반으로 에이전트에 의해 식별됩니다. K8s의 경우 절대 경로 앞에는 필요한 경우 /host를 붙여야 합니다. NR 지원 권장 이후에만 사용하세요.
String
"/path/to/downloaded/headers/dir"
distroKernelHeadersPath
eBPF 에이전트가 사용할 Linux 헤더가 있는 전체 디렉토리의 절대 경로를 설정합니다. 이 기능은 필요한 Linux 헤더를 설치할 수 없거나 경로를 결정할 수 없는 경우에 유용합니다. K8s의 경우 절대 경로 앞에는 필요한 경우 /host를 붙여야 합니다. NR 지원 권장 이후에만 사용하세요.
String
"/host/usr/src/linux-headers-6.8.0-pl"
vizierPort
에이전트가 클라이언트로부터 pxl 스크립트를 수신하는 Vizier 서버 포트입니다. 기본값은 12345입니다.
String
"12345"
tableStoreDataLimitMB
에이전트의 내부 데이터 저장소에 대한 메모리 제한을 메가바이트(MiB) 단위로 정의합니다. 이는 RAM 사용에 대한 기본 제어입니다.
String
"250"
apmDataReporting
APM 데이터 보고를 활성화합니다. 이 기능을 활성화하면 에이전트가 애플리케이션 성능 모니터링 데이터를 수집하여 보고합니다.
String
true
networkMetricsReporting
네트워크 메트릭 보고를 활성화합니다. 활성화되면 에이전트는 TCP 통계를 포함한 네트워크 메트릭을 수집하고 보고합니다.
tcpStatsReporting
에서 이름이 변경되었습니다. 기존 명칭은 더 이상 사용되지 않지만, 하위 호환성은 지원됩니다.
String
true
이 섹션에서는 제공된 설정에 따라 모든 유형의 네트워크 범위 및 APM 데이터를 제외하도록 필터를 구성합니다.
매개변수
설명
데이터 형식
예시
allDataFilters.dropNewRelicBundle
newrelic 네임스페이스 및 newrelic-bundle 서비스에서 데이터를 삭제합니다. (명확성을 위해
dropDataNewRelic
에서 이름을 변경했습니다.) 이전 이름은 더 이상 사용되지 않지만 하위 호환성을 위해 계속 지원됩니다.
Boolean
true
allDataFilters.dropNamespaces
에이전트가 모든 데이터를 삭제해야 하는 Kubernetes 네임스페이스 목록입니다. (명확성을 위해
dropDataForNamespaces
에서 이름을 변경했습니다.) 이전 이름은 더 이상 사용되지 않지만 하위 호환성을 위해 계속 지원됩니다.
List
["kube-system"]
allDataFilters.dropServiceNameRegex
삭제할 Kubernetes 서비스 이름과 일치하는 정규 표현식을 정의하세요. 예시
"kube-dns|otel-collector|\\bblah\\b"
(명확성을 위해
dropDataServiceNameRegex
에서 이름을 변경했습니다.) 이전 이름은 더 이상 사용되지 않지만 하위 호환성을 위해 계속 지원됩니다.
String
""
allDataFilters.keepServiceNameRegex
이 설정은
dropServiceNameRegex
설정을 우회하는 역할을 합니다. 이 정규식과 일치하는 서비스 이름은
dropServiceNameRegex
에 의해 데이터가 삭제되지 않습니다. (명확성을 위해
allowServiceNameRegex
에서 이름을 변경했습니다.) 이전 이름은 더 이상 사용되지 않지만 하위 호환성을 위해 계속 지원됩니다.
String
""
allDataFilters.dropApmAgentEnabledEntity
NewRelic 또는 OTEL APM 에이전트가 실행 중인 애플리케이션 또는 엔티티의 모든 데이터를 삭제합니다.
Boolean
"false"
제공된 설정에 따라 ebpf APM 데이터를 제외하도록 필터를 구성합니다.
매개변수
설명
데이터 형식
예시
apmDataFilters.apmAgentEnabledEntity
NewRelic APM/OTel 에이전트가 실행 중인 애플리케이션/엔티티에 대한 eBPF APM 데이터를 삭제합니다.
Boolean
false
apmDataFilters.dropPodLabels
APM 데이터 필터링을 위해 일치시킬 파드 레이블입니다. 지도가 비어 있으면 레이블 기반 필터링이 적용되지 않습니다. (예시: dropPodLabels:
{ "app": "frontend", "env": "production" }
)
String
{}
apmDataFilters.dropEntityName
ebpf APM 데이터를 삭제할 엔티티 이름 목록
List
[]
apmDataFilters.keepEntityName
APM 데이터를 항상 보관해야 하는 엔티티 이름 목록입니다. 기본적으로 모든 엔티티가 유지/활성화됩니다. 이 설정은
dropEntityName
필터를 우회합니다.
List
[]
제공된 설정에 따라 네트워크 메트릭 데이터를 삭제/유지하도록 필터를 구성합니다.
매개변수
설명
데이터 형식
예시
networkMetricsDataFilter.dropPodLabels
네트워크 범위를 필터링하기 위해 일치시킬 파드 레이블입니다. 지도가 비어 있으면 레이블 기반 필터링이 적용되지 않습니다. (예시: dropPodLabels:
{ "app": "frontend", "env": "production" }
)
String
{}
networkMetricsDataFilter.dropEntityName
네트워크 메트릭 데이터를 삭제할 엔티티 이름 목록
List
[]
networkMetricsDataFilter.keepEntityName
네트워크 메트릭 데이터를 항상 보관할 엔티티 이름 목록입니다. 기본적으로 모든 엔티티가 유지/활성화됩니다. 이 설정은
dropEntityName
필터를 우회합니다.
List
[]
이 섹션에서는 특정 네트워크 프로토콜에 대한 모니터링을 활성화하고 트레이스 데이터(span)가 수집되는 방식을 구성할 수 있습니다. HTTP, MySQL 등과 같은 프로토콜에 대해 모니터링을 활성화 또는 비활성화하고 지연 시간 또는 오류율을 기반으로 범위 수집에 대해 파장을 설정할 수 있습니다. 다음 프로토콜이 지원됩니다.
HTTP
MySQL
PostgreSQL
MongoDB
아파치 카산드라
Redis
카프카
DNS
매개변수
설명
데이터 형식
예시
protocols.<protocol-name>.enabled
true
인 경우 지정된 프로토콜(예:
http
,
mysql
및 기타)에 대한 모니터링이 활성화됩니다.
Boolean
true
protocols.<protocol-name>.spans.enabled
true
인 경우, 활성화된 프로토콜에 대한 트레이스 스팬을 내보냅니다.
Boolean
true
protocols.<protocol-name>.spans.samplingLatency
스팬 내보내기를 위한 지연시간 기반 샘플링 기여값을 정의합니다. 유효한 옵션:
p1
,
p10
,
p50
,
p90
,
p99
.
String
"p90"
protocols.http.spans.samplingErrorRate
HTTP에만 해당. 오류율이 지정된 백분율(1~100)을 초과하는 모든 경로에서 스팬을 내보냅니다.
String
"5"
이 섹션에서는 솔루션의 주요 구성 요소에 대한 구현 및 배포 설정을 제어합니다. 별표 (*) 구성 요소 이름을 나타냅니다.
매개변수
설명
데이터 형식
예시
*.image.repository
구성 요소의 컨테이너 이미지 저장소를 지정합니다.
String
"docker.io/newrelic/newrelic-ebpf-agent"
*.image.pullPolicy
컨테이너 이미지에 대한 풀 정책을 정의합니다.
String
"IfNotPresent"
*.image.tag
컨테이너 이미지의 버전 태그를 구현하다, 배포하다로 지정합니다.
String
"agent-0.2.4"
*.resources.limits.memory
컨테이너가 사용할 수 있는 최대 메모리를 정의합니다.
String
"2Gi"
*.resources.limits.cpu
컨테이너가 사용할 수 있는 최대 CPU를 정의합니다.
String
"1"
*.resources.requests.memory
컨테이너가 시작될 때 요청되는 최소 메모리를 정의합니다.
String
"250Mi"
*.resources.requests.cpu
컨테이너가 시작될 때 요청되는 최소 CPU를 정의합니다.
String
"100m"
*.tolerations
특정 오염이 있는 노드에서 스케줄링을 허용하기 위해 파드 허용 범위를 정의합니다.
Objects
[{"key": "special", "operator": "Exists"}]
*.affinity
스케줄링을 위한 파드 친화성 및 반친화성 규칙을 정의합니다.
Object
{}
*.podAnnotations
구성 요소의 파드에 추가할 사용자 정의 주석을 지정합니다.
Object
{"iam.amazonaws.com/role": "my-role"}
이러한 기준은 구성 요소별 설정으로 재정의되지 않는 한 Helm 차트를 통해 모든 파드 구현, 배포에 적용됩니다.
매개변수
설명
데이터 형식
예시
podLabels
차트별로 모든 파드 구현하다, 배포하다에 적용할 추가 레이블을 지정합니다.
Object
{"team": "observability"}
priorityClassName
모든 파드에 대해
PriorityClass
을 지정합니다.
String
"high-priority"
nodeSelector
레이블이 일치하는 노드에서만 실행되도록 제한합니다.
Object
{"disktype": "ssd"}
이 섹션에서는 eBPF 에이전트와 클라이언트 구성 요소 간의 보안 통신을 구성합니다.
매개변수
설명
데이터 형식
예시
tls.enabled
true
인 경우 구성 요소 간 내부 통신에 TLS를 활성화합니다.
Boolean
true
tls.autoGenerateCert.enabled
true
인 경우 Helm이 TLS에 대한 자체 서명 인증서를 자동으로 생성하도록 지시합니다.
Boolean
true
tls.autoGenerateCert.recreate
true
인 경우
helm upgrade
마다 새 인증서가 생성됩니다.
Boolean
false
tls.autoGenerateCert.certPeriodDays
자동 생성된 인증서의 유효 기간을 일 단위로 정의합니다.
Integer
730
tls.certFile
사용자 정의 PEM 인코딩 인증서 파일의 경로를 지정합니다.
autoGenerateCert.enabled
은
false
이어야 합니다.
String
"my-certs/tls.crt"
tls.keyFile
사용자 정의 PEM 인코딩된 개인 키 파일의 경로를 지정합니다.
String
"my-certs/tls.key"
tls.caFile
사용자 지정 인증 기관(CA) 인증서 파일의 경로를 지정합니다.
String
"my-certs/ca.crt"
eBPF 에이전트 제거
쿠버네티스 클러스터에서 eBPF 에이전트를 제거하려면:
bash
$
helm uninstall nr-ebpf-agent -n newrelic
팁
이 명령을 실행하면 클러스터에서 모든 eBPF 에이전트 구성 요소가 제거됩니다. 네임스페이스는 명시적으로 삭제하지 않는 한 그대로 유지됩니다.