OpenTelemetry 용 옵저버빌리티는 독점적인 Kubernetes 리소스와 Kubernetes UI 이미 호환되는 최고 수준의 와 결합된 완전한 오픈 소스 설정을 Kubernetes 제공합니다. Kubernetes UI는 공급자에 관계없이 설계되어 사용자의 요구 사항에 따라 OpenTelemetry 또는 NewRulestics를 선택할 수 있습니다.
이 문서에서는 OpenTelemetry 사용하여 쿠버네티스 클러스터를 모니터링하는 프로세스를 간략하게 설명합니다. 클러스터 내의 nr-k8s-otel-collector
Helm 차트 설치와 일류 옵저버빌리티를 활성화하는 데 필요한 수집기 배포가 포함됩니다.
Kubernetes 구성 요소를 OpenTelemetry 수집기에 통합하여 지표, 이벤트, 로그를 뉴렐릭에 직접 전송할 수 있습니다. 이러한 텔레메트리 신호는 Kubernetes Navigator, 개요 대시보드, Kubernetes 이벤트 또는 Kubernetes APM 요약 페이지 와 같은 기본 제공 환경을 자동으로 향상시킵니다.
어떻게 작동하나요?
nr-k8s-otel-collector
Helm 차트를 구현하다, 배포하다 이러한 OpenTelemetry 수집기:
Deamonset Collector: 구현하다, 배포하다 각 작업자 노드에 있으며 노드의 기본 호스트인
cAdvisor
,Kubelet
에서 지표를 수집하고 컨테이너에서 로그를 수집하는 일을 담당합니다.배포 수집기: 구현하다, 배포하다 컨트롤 플레인 노드에 있으며 Kube 상태 지표 및 쿠버네티스 클러스터 이벤트의 지표를 수집하는 역할을 담당합니다.
요구 사항
Kubernetes 텔리메트리 데이터를 뉴렐릭으로 보내려면 OpenTelemetry 수집기가 필요합니다. 우리의 OpenTelemetry (NRDOT) 배포판은 이미 쿠버네티스 클러스터를 자동으로 모니터링하도록 설정되어 있습니다. nr-k8s-otel-collector
Helm 차트를 통해 모든 필수 구성 요소를 구현, 배포하여 이를 수행합니다.
다른 OpenTelemetry 수집기로 전환하는 경우 필요한 모든 주요 구성 요소가 있는지 확인하세요.
- 속성 프로세서
- 필터 프로세서
- 파일로그 수신기
- GroupByAttrs 프로세서
- 호스트메트릭스 수신기
- K8s속성 프로세서
- K8events 수신기
- Kubelet 수신기
- MetricsTransform 프로세서
- 프로메테우스 수신기
- ResourceDetection 프로세서
- 리소스 프로세서
- 변환 프로세서
팁
Kubernetes OpenTelemetry 옵저버빌리티를 사용하고 싶지만 Helm 차트를 설치하고 싶지 않으신가요?
- 수집기에 이전에 강조 표시된 구성 요소가 포함되어 있는지 확인하세요.
- 이 문서 에 제공된 설정 지침에 따라 수집기를 적절히 구성하세요.
OpenTelemetry로 쿠버네티스 클러스터를 설치하세요
클러스터에서 OpenTelemetry를 시작하고 실행하려면 다음 단계를 따르세요.
Helm 차트 값 파일을 다운로드하여 특정 요구 사항에 맞게 조정하세요.
클러스터 이름과 필수입니다.
설정 시위 의 전체 목록을 확인하세요.
값 파일과 함께 Helm 차트를 설치합니다.
bash$helm repo add newrelic https://helm-charts.newrelic.com$helm upgrade nr-k8s-otel-collector newrelic/nr-k8s-otel-collector -f your-custom-values.yaml -n newrelic --create-namespace --install패드가 성공적으로 회전되었는지 확인하십시오.
bash$kubectl get pods -n newrelic --watch올바른 쿼리를 실행하여 뉴렐릭이 메트릭, 이벤트, 로그 등 필요한 데이터를 가져오고 있는지 확인하세요. 자세한 내용은 쿼리 빌더 소개를 참조하세요.
FROM Metric SELECT * WHERE k8s.cluster.name='<CLUSTER_NAME>'FROM InfrastructureEvent SELECT * WHERE k8s.cluster.name='<CLUSTER_NAME>'FROM Log SELECT * WHERE k8s.cluster.name='<CLUSTER_NAME>'GKE AutoPilot을 사용하는 경우 OpenTelemetry 수집기의 호환성과 적절한 기능을 보장하기 위해
values.yaml
파일에 다음 설정을 적용해야 합니다.privileged: falsereceivers:filelog:enabled: falsedaemonset:containerSecurityContext:privileged: false
OpenTelemetry로 쿠버네티스 클러스터 제거
OpenTelemetry 로 쿠버네티스 클러스터 모니터링을 중지하려면 다음 명령을 실행하세요.
$helm uninstall nr-k8s-otel-collector -n newrelic
데이터 수집 줄이기
LowDataMode
옵션은 기본적으로 Kubernetes UI에 필요한 지표만 수집하도록 활성화되어 있습니다.
데이터 수집을 더 줄여야 하는 경우 각 구현하다, 배포하다 구성 요소에 대한 nr-k8s-otel-collector
차트 값 에서 스크레이핑 간격을 늘립니다.
메트릭
데이터 찾기 및 사용
데이터를 찾는 방법에 대해 자세히 알아보려면 다음 문서를 확인하세요.
쿠버네티스 클러스터를 탐색하여 컨트롤 플레인부터 노드 및 파드까지 클러스터의 상태를 알아보세요.
모니터와 함께 통합에 인사이트를 제공하는Kubernetes APM 요약 페이지입니다 . Kubernetes
문제점 해결
문제가 발생한 수집기 패드의 로그를 확인해 보세요. 다음 명령을 실행하세요:
$kubectl logs <otel-pod-name> -n newrelic
nr-k8s-otel-collector
Helm 차트에서 verboseLog
보고서를 true
로 설정할 수도 있습니다.
일반적인 오류
GitHub 저장소의 일반적인 오류 섹션을 확인하세요.
지원하다
용 OpenTelemetry 옵저버빌리티에 문제가 있는 Kubernetes 경우:
비슷한 문제가 있는지 GitHub의 문제 섹션을 살펴보거나 새 문제를 여는 것을 고려해 보세요.
도움이 필요하면 뉴렐릭 지원팀 에 문의하세요.