Kubernetes 통합을 처음 설치 하면 쿠버네티스 클러스터에서 공지 조건 및 대시보드의 기반을 형성하는 권장 공지 조건 및 대시보드의 기본 세트를 계정에 구현하고 배포합니다. 주의사항은 Kubernetes alert policy 및 Google Kubernetes Engine alert policy 의 몇 가지 정책으로 그룹화됩니다.
모든 환경에서 가장 일반적인 사용 사례를 다루려고 노력했지만 기본 정책을 확장하여 설정할 수 있는 추가 알림도 많이 있습니다. 알림에 대해 자세히 알아보려면 뉴렐릭 알림 시작하기를 참조하세요.
권장 공지 조건 및 대시보드 추가
추천 공지 및 대시보드를 추가하려면 다음 단계를 따르세요.
one.newrelic.com > Integrations & Agents 으)로 이동합니다.
검색 상자에 kubernetes
입력합니다.
다음 옵션 중 하나를 선택하세요.
Kubernetes 통합을 설치해야 하는 경우 Begin installation 클릭하고, 이미 통합을 설정한 경우 Skip this step 클릭하세요.
3단계에서 선택한 옵션에 따라 추가할 수 있는 리소스가 달라집니다.
3단계에서 Kubernetes 선택하면 권장되는 공지 조건과 대시보드의 기본 집합입니다.
3단계에서 Google Kubernetes Engine 을 선택하면 권장되는 Google Kubernetes 엔진 공지 조건 및 대시보드의 기본 집합입니다.
- See your data 을 클릭하면 Kubernetes 데이터가 포함된 대시보드가 뉴렐릭으로 표시됩니다.
추천 공지 보는 방법
추가한 권장 공지 정책을 보려면 다음과 같이 하세요.
one.newrelic.com > All capabilities > Alerts 으)로 이동합니다.
왼쪽 탐색 창에서 Alert Policies 클릭합니다.
Kubernetes alert policy 과 Google Kubernetes engine alert policy 표시됩니다.
Kubernetes 대시보드를 보는 방법
일반적인 사용 사례에 대한 Kubernetes 데이터를 즉시 시각화하는 데 도움이 되는 권장 사전 구축 대시보드 모음이 있습니다. 이러한 대시보드를 보는 방법을 알아보려면 추천 대시보드 관리를 참조하세요.
Kubernetes 공지 위치
이것은 권장되는 공지 사항의 기본 세트입니다. 추가할 사항은 다음과 같습니다.
이 대시보드에는 일반적인 사용 사례에 대한 Kubernetes 데이터를 즉시 시각화하는 데 도움이 되는 차트와 시각화가 포함되어 있습니다.
이 공지 조건은 컨테이너가 5분 이상 25% 이상 제한될 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT sum(containerCpuCfsThrottledPeriodsDelta) / sum(containerCpuCfsPeriodsDelta) * 100
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET containerName, podName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 제한에 대한 평균 컨테이너 CPU 사용량이 5분 이상 90%를 초과하는 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT average(cpuCoresUtilization)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET containerName, podName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 제한에 대한 평균 컨테이너 메모리 사용량이 5분 이상 90%를 초과하는 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT average(memoryWorkingSetUtilization)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET containerName, podName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 다시 시작이 5분 슬라이딩 창에서 0을 초과할 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT sum(restartCountDelta)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET containerName, podName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 컨테이너가 5분 이상 기다릴 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT uniqueCount(podName)
WHERE status = 'Waiting' AND clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET containerName, podName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 데몬셋에 5분 이상 파일이 없는 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT latest(podsMissing)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET daemonsetName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 배포에 5분 이상의 기간 동안 파드가 누락된 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT latest(podsMissing)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET deploymentName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 Etcd
파일 설명자 사용량이 5분 이상 90%를 초과할 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT max(processFdsUtilization)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
FACET displayName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 Etcd
파일 설명자가 1분 이상 리더가 없는 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT min(etcdServerHasLeader)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
FACET displayName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 수평 파드 자동 확장기의 현재 복제본이 원하는 복제본보다 5분 이상 낮은 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT latest(desiredReplicas - currentReplicas)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET displayName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 수평 파드 자동 스케일러가 5개의 복제본을 초과할 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT latest(maxReplicas - currentReplicas)
WHERE clusterName in ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET displayName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 작업이 실패 상태를 보고할 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT uniqueCount(jobName)
WHERE failed = 'true' and clusterName in ('YOUR_CLUSTER_NAME') and namespaceName in ('YOUR_NAMESPACE_NAME') facet jobName, namespaceName, clusterName, failedPodsReason
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 지우스페이스 내 5개 이상의 패드가 5분 이상 실패할 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT uniqueCount(podName)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 평균 노드 할당 CPU 사용률이 5분 이상 90%를 초과할 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT average(allocatableCpuCoresUtilization)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
FACET nodeName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 평균 노드 할당 가능 메모리 사용률이 5분 이상 90%를 초과하는 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT average(allocatableMemoryUtilization)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
FACET nodeName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 노드를 5분간 사용할 수 없을 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT latest(condition.Ready)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
FACET nodeName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 노드가 예정되지 않은 것으로 표시되면 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT latest(unschedulable)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
FACET nodeName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 노드의 실행 중인 패드가 노드 패드 용량의 90%를 5분 이상 초과할 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sPodSample, K8sNodeSample
) / latest(capacityPods) * 100
WHERE nodeName != '' AND nodeName IS NOT NULL
AND clusterName IN ('YOUR_CLUSTER_NAME')
FACET nodeName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 평균 노드 루트 파일 시스템 용량 사용률이 5분 이상 90%를 초과할 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT average(fsCapacityUtilization)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
FACET nodeName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 지속형 볼륨이 5분 이상 실패 또는 보류 상태일 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sPersistentVolumeSample
SELECT uniqueCount(volumeName)
WHERE statusPhase IN ('Failed','Pending')
AND clusterName IN ('YOUR_CLUSTER_NAME')
FACET volumeName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 5분 이상 파드를 예약할 수 없을 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT latest(isScheduled)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET podName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 파드를 5분 이상 사용할 수 없을 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
WHERE status NOT IN ('Failed', 'Succeeded')
AND clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET podName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 statefulset
에 5분 이상 파드가 누락된 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sStatefulsetSample
SELECT latest(podsMissing)
WHERE clusterName IN ('YOUR_CLUSTER_NAME')
AND namespaceName IN ('YOUR_NAMESPACE_NAME')
FACET daemonsetName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
Google Kubernetes 엔진 공지사항
이는 권장되는 Google Kubernetes 엔진 공지 사항의 기본 세트입니다. 다음을 추가합니다.
이 대시보드에는 일반적인 사용 사례에 대한 Google Kubernetes 데이터를 즉시 시각화하는 데 도움이 되는 차트와 시각화가 포함되어 있습니다.
이 공지 조건은 노드의 CPU 사용률이 최소 15분 동안 90%를 초과할 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT max(`gcp.kubernetes.node.cpu.allocatable_utilization`) * 100
WHERE clusterName LIKE '%' FACET gcp.kubernetes.nodeName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 노드의 메모리 사용량이 전체 용량의 85%를 초과할 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
SELECT max(gcp.kubernetes.node.memory.allocatable_utilization) * 100
WHERE clusterName LIKE '%' FACET gcp.kubernetes.nodeName
자세한 내용은 GitHub 설정 파일을 참조하세요.