자세한 로그를 생성하고 버전 및 구성 정보를 얻으려면 다음 절차를 따르십시오.
Kubernetes 통합의 경우 디버그 수준 로그가 생성되지 않습니다.자체적으로 또는 New Relic Support와 함께 보다 심층적인 조사를 수행하는 경우 자세한 정보 표시 모드를 활성화할 수 있습니다.
주의
Verbose 모드는 로그 파일로 전송되는 정보의 양을 크게 증가시킵니다. 문제 해결 목적으로만 이 모드를 일시적으로 활성화하고 완료되면 로그 수준을 재설정합니다.
Helm 및
nri-bundle
차트를 사용하여 자세한 로깅 세부정보를 얻으려면 values.yamlnewrelic-infrastructure.verboseLog
에 추가하는 것으로 충분합니다.모든 하위 차트 설정global.verboseLog
에서 활성화할 수 있습니다.# 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
파일의 변경 사항을 되돌리고 다시 업그레이드하십시오.매니페스트 파일을 사용하여 수동으로 통합에 대한 자세한 로깅 세부 정보를 얻으려면 두 가지 다른 환경 변수를 설정해야 합니다.
NRIA_VERBOSE="1"
모든agent
및forwarder
컨테이너에 대해예를 들어NRIA_LICENSE_KEY
환경 변수 아래에 있습니다.이 환경 변수는 에이전트 상세 로그를 활성화합니다.- 통합의 모든 구성요소에서
NRI_KUBERNETES_VERBOSE=true"
을(를) 설정합니다.이 환경 변수는 통합의 자세한 로그를 활성화합니다.
매니페스트를 편집했으면 다음 명령을 사용하여 솔루션을 업그레이드하십시오.그런 다음 잠시 기다렸다가 로그를 수집하고 매니페스트에서 변경 사항을 되돌리고 매니페스트를 다시 적용합니다.
bash$kubectl apply -f your_newrelic_k8s.yaml -n <NEWRELIC_NAMESPACE>
ksm
, controlplane
및 kubelet
스크래핑을 담당하는 통합의 세 가지 구성요소가 있습니다.각 인스턴스에서 두 개의 컨테이너가 실행 중이며 하나는 데이터를 스크랩하고 다른 하나는 데이터를 전달합니다.kubelet 구성 요소의 에이전트는 노드 데이터를 스크랩하고 통합을 실행하는 역할도 합니다.
로그를 가져오려면 다음에서 로그를 검색하려는 포드의 이름을 가져옵니다.
$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 Support와 함께 보다 심층적인 조사를 수행하는 경우 자세한 정보 표시 모드를 활성화할 수 있습니다.
주의
Verbose 모드는 로그 파일로 전송되는 정보의 양을 크게 증가시킵니다. 문제 해결 목적으로만 이 모드를 일시적으로 활성화하고 완료되면 로그 수준을 재설정합니다.
매니페스트 파일을 사용하여 통합에 대한 자세한 로깅 세부 정보를 얻으려면:
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 Support와 함께 보다 심층적인 조사를 수행하는 경우 자세한 정보 표시 모드를 활성화할 수 있습니다.
주의
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매니페스트 파일을 사용하여 설치에 대한 자세한 로그 가져오기 섹션의 5단계에서 구성을 복원하는 단계를 따르십시오.
kube-state-metrics에 연결하는 포드에서 로그를 가져오려면 다음 안내를 따르세요.
kube-state-metrics가 실행 중인 노드를 가져옵니다.
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