자세한 로그를 생성하고 버전 및 구성 정보를 얻으려면 아래 단계를 따르세요. 통합 버전 2를 사용하는 경우 이 섹션 으로 건너뛰세요.
Kubernetes 통합은 debug
수준 로그를 생성하지 않습니다. 직접적으로 또는 New Relic 지원을 통해 보다 심층적인 조사를 수행하는 경우 자세한 정보 표시 모드를 활성화할 수 있습니다.
주의
Verbose 모드에서는 로그 파일로 전송되는 정보의 양이 크게 늘어납니다. 문제 해결 목적으로만 이 모드를 일시적으로 활성화하고 완료되면 로그 수준을 재설정하십시오.
Helm 및
nri-bundle
차트를 사용하여 자세한 로깅 세부정보를 얻으려면 다음 구성을values.yaml
파일에 추가하세요. 모든 하위 차트에 대해 자세한 로깅을 활성화할 수도 있습니다.# To enable verboseLog for newrelic-infrastructure only# newrelic-infrastructure:# verboseLog: true# To enable verboseLog for all sub-charts# global:# verboseLog: true원하는 구성을 추가한 후 다음 명령을 사용하여 솔루션을 업그레이드하십시오.
bash$helm upgrade <RELEASE_NAME> newrelic/nri-bundle \>--namespace <NEWRELIC_NAMESPACE> \>-f values-newrelic.yaml \>[--version fixed-chart-version]상세 로그를 수집한 후
values.yaml
파일의 변경 사항을 되돌리고upgrade
명령을 다시 실행합니다.매니페스트 파일을 사용하여 자세한 로깅 세부 정보를 얻으려면 두 가지 환경 변수를 설정해야 합니다.
NRIA_VERBOSE="1"
모든agent
및forwarder
컨테이너에 대해; 이렇게 하면 에이전트 상세 로그가 활성화됩니다.NRIA_LICENSE_KEY
아래에서 설정할 수 있습니다.통합의 모든 구성요소에
NRI_KUBERNETES_VERBOSE=true"
설정합니다. 이렇게 하면 통합에 대한 자세한 로그가 활성화됩니다.env:
이름: NRIA_LICENSE_KEY valueFrom: secretKeyRef: 키: 라이센스키 이름: newrelic-bundle-newrelic-infrastructure-license
이름: NRIA_VERBOSE 값: "1"
매니페스트를 편집한 후 다음 명령을 사용하여 솔루션을 업그레이드하십시오.
bash$kubectl apply -f your_newrelic_k8s.yaml -n <NEWRELIC_NAMESPACE>자세한 로그를 수집한 후 매니페스트의 변경 사항을 되돌리고 매니페스트를 다시 적용하세요.
ksm
, controlplane
및 kubelet
스크래핑을 담당하는 세 가지 통합 구성요소가 있습니다. 각 인스턴스에는 두 개의 컨테이너가 실행되고 있으며, 하나는 데이터를 스크래핑하고 다른 하나는 데이터를 전달합니다. kubelet
구성요소의 에이전트는 노드 데이터 스크랩 및 통합 실행도 담당합니다. 아래 다이어그램은 3개의 노드가 있는 클러스터에 설치된 통합을 보여줍니다.
로그를 가져오려면 다음에서 로그를 검색하려는 포드의 이름을 가져옵니다.
$kubectl get pods -n <NEWRELIC_NAMESPACE>
로그 검색:
$kubectl logs <POD_NAME> --all-containers --prefix
이전 실행에서 로그를 검색하려면 --previous
플래그를 추가하세요. 컨테이너 중 하나만 로그를 가져오려면 --all-containers --prefix
플래그를 제거하고 --container
옵션을 사용하여 컨테이너를 지정합니다.
중요
Kubernetes 통합에 대한 최상의 경험을 위해서는 최신 버전을 사용하는 것이 좋습니다. 버전 3에 도입된 변경 사항을 확인하세요.
Kubernetes 통합을 사용하면 인프라 에이전트는 인프라 에이전트와 Kubernetes 통합을 모두 포함하는 Docker 이미지로 배포됩니다. Docker 이미지에는 버전 태그가 지정되며 인프라 에이전트에도 자체 버전이 있습니다.
에이전트가 New Relic으로 데이터를 전송하면 다음 NRQL 쿼리를 사용하여 클러스터에서 실행 중인 Kubernetes용 인프라 에이전트(Docker 이미지) 버전을 검색할 수 있습니다.
FROM K8sContainerSample SELECT uniqueCount(entityId) WHERE containerName LIKE 'agent' FACET clusterName, containerImage
상담원이 데이터를 보고하지 않는 경우:
kubectl
을 사용하여 클러스터에서 실행 중인 Kubernetes용 New Relic 통합 버전을 가져옵니다.
$kubectl get pods --all-namespaces -l app.kubernetes.io/name=newrelic-infrastructure -o jsonpath="{.items..spec..containers..image}"
클러스터에서 실행 중인 kube-state-metrics
버전을 검색하려면 다음 NRQL 쿼리를 실행하세요.
FROM K8sContainerSample SELECT uniqueCount(entityId) WHERE containerName LIKE '%kube-state-metrics%' facet clusterName, containerImage
통합 버전 2 지침
Kubernetes 통합의 경우 인프라 에이전트는 오류가 발생한 경우에만 로그 항목을 추가합니다. 가장 일반적인 오류는 표준(상세하지 않은) 로그에 표시됩니다. 직접적으로 또는 New Relic 지원을 통해 보다 심층적인 조사를 수행하는 경우 자세한 정보 표시 모드를 활성화할 수 있습니다.
주의
Verbose 모드에서는 로그 파일로 전송되는 정보의 양이 크게 늘어납니다. 문제 해결 목적으로만 이 모드를 일시적으로 활성화하고 완료되면 로그 수준을 재설정하십시오.
매니페스트 파일을 사용하여 자세한 로깅을 활성화하려면 다음 안내를 따르세요.
자세한 로깅 활성화: 배포 파일에서
NRIA_VERBOSE
값을1
로 설정합니다.다음을 실행하여 수정된 구성을 적용합니다.
bash$kubectl apply -f your_newrelic_k8s.yaml몇 분 동안 또는 충분한 활동이 발생할 때까지 자세한 정보 표시 모드를 그대로 둡니다.
상세 모드 비활성화:
NRIA_VERBOSE
값을 다시0
로 설정합니다.다음을 실행하여 복원된 구성을 적용합니다.
bash$kubectl apply -f your_newrelic_k8s.yaml환경의 노드 목록을 가져옵니다.
bash$kubectl get nodes --all-namespaces인프라 및 kube-state-metrics 포드 목록을 가져옵니다.
bash$kubectl get pods --all-namespaces -o wide | egrep 'newrelic|kube-state-metrics'
Kubernetes 통합의 경우 인프라 에이전트는 오류가 발생한 경우에만 로그 항목을 추가합니다. 가장 일반적인 오류는 표준(상세하지 않은) 로그에 표시됩니다. 직접적으로 또는 New Relic 지원을 통해 보다 심층적인 조사를 수행하는 경우 자세한 정보 표시 모드를 활성화할 수 있습니다.
주의
Verbose 모드에서는 로그 파일로 전송되는 정보의 양이 크게 늘어납니다. 문제 해결 목적으로만 이 모드를 일시적으로 활성화하고 완료되면 로그 수준을 재설정하십시오.
Helm을 사용하여 자세한 로깅을 활성화하려면 다음 안내를 따르세요.
다음 명령을 실행합니다.
bash$helm upgrade -n <namespace> --reuse-values newrelic-bundle --set newrelic-infrastructure.verboseLog=true newrelic/nri-bundle몇 분 동안 또는 충분한 활동이 발생할 때까지 자세한 정보 표시 모드를 그대로 둡니다.
필요한 정보가 있으면 자세한 로깅을 비활성화합니다.
bash$helm upgrade --reuse-values newrelic-bundle --set newrelic-infrastructure.verboseLog=false newrelic/nri-bundle다음을 실행하여 복원된 구성을 적용합니다.
bash$kubectl apply -f your_newrelic_k8s.yaml환경의 노드 목록을 가져옵니다.
bash$kubectl get nodes --all-namespaces인프라 및 kube-state-metrics 포드 목록을 가져옵니다.
bash$kubectl get pods --all-namespaces -o wide | egrep 'newrelic|kube-state-metrics'
kube-state-metrics
에 연결하는 Pod에서 로그를 가져오려면 다음 안내를 따르세요.
다음 명령을 실행합니다.
bash$kubectl get pods --all-namespaces -o wide | grep kube-state-metrics다음과 유사한 출력을 찾습니다.
bash$kube-system kube-state-metrics-5c6f5cb9b5-pclhh 2/2$Running 4 4d 172.17.0.3 minikubekube-state-metrics
과 동일한 노드에서 실행 중인 New Relic 포드를 가져옵니다.bash$kubectl describe node minikube | grep newrelic-infra다음과 유사한 출력을 찾습니다.
bash$default newrelic-infra-5wcv6 100m (5%)$0 (0%) 100Mi (5%) 100Mi (5%)다음을 실행하여 노드에 대한 로그를 검색합니다.
bash$kubectl logs newrelic-infra-5wcv6
마스터 노드에서 실행 중인 포드에서 로그를 가져오려면:
마스터로 레이블이 지정된 노드를 가져옵니다.
bash$kubectl get nodes -l node-role.kubernetes.io/master=""또는,
bash$kubectl get nodes -l kubernetes.io/role="master"다음과 유사한 출력을 찾습니다.
bash$NAME STATUS ROLES AGE VERSION$ip-10-42-24-4.ec2.internal Ready master 42d v1.14.8이전 단계에서 반환된 노드 중 하나에서 실행 중인 New Relic 포드를 가져옵니다.
bash$kubectl get pods --field-selector spec.nodeName=ip-10-42-24-4.ec2.internal -l name=newrelic-infra --all-namespaces다음과 유사한 출력을 찾습니다.
bash$newrelic-infra-whvzt다음을 실행하여 노드에 대한 로그를 검색합니다.
bash$kubectl logs newrelic-infra-whvzt