Kubernetes 통합을 처음 설치 하면 귀하의 쿠버네티스 클러스터에 공지 조건의 기초를 형성하는 권장 공지 조건의 기본 세트가 귀하의 계정에 구현되고 배포됩니다. 이러한 조건은 Kubernetes alert policy 이라는 정책으로 그룹화됩니다.
모든 환경에서 가장 일반적인 사용 사례를 다루려고 노력했지만 기본 정책을 확장하여 설정할 수 있는 추가 알림도 많이 있습니다. 권장하는 알림 정책은 다음과 같습니다.
추천 공지 추가
추천 공지를 추가하려면 다음 단계를 따르세요.
one.newrelic.com > + Integrations & Agents 으)로 이동합니다.
Alerts 선택하여 사전 구축된 리소스에 액세스하세요.
Kubernetes 검색하여 추가하고 싶은 추천 공지 정책을 선택하세요.
추천 공지 보는 방법
추가한 권장 공지 정책을 보려면 다음과 같이 하세요.
one.newrelic.com > All capabilities > Alerts 으)로 이동합니다.
왼쪽 탐색 창에서 Alert Policies 클릭합니다.
Kubernetes alert policy 과 Google Kubernetes engine alert policy 표시됩니다.
Kubernetes 공지 위치
이것은 권장되는 공지 사항의 기본 세트입니다. 추가할 사항은 다음과 같습니다.
이 공지 조건은 컨테이너가 5분 이상 25% 이상 제한될 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sContainerSampleSELECT 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%를 초과하는 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sContainerSampleSELECT average(cpuCoresUtilization)WHERE clusterName in ('YOUR_CLUSTER_NAME') and namespaceName in ('YOUR_NAMESPACE_NAME') facet containerName, podName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 제한에 대한 평균 컨테이너 메모리 사용량이 5분 이상 90%를 초과하는 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sContainerSampleSELECT average(memoryWorkingSetUtilization)WHERE clusterName in ('YOUR_CLUSTER_NAME') and namespaceName in ('YOUR_NAMESPACE_NAME') facet containerName, podName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 다시 시작이 5분 슬라이딩 창에서 0을 초과할 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sContainerSampleSELECT sum(restartCountDelta)WHERE clusterName in ('YOUR_CLUSTER_NAME') and namespaceName in ('YOUR_NAMESPACE_NAME') facet containerName, podName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 컨테이너가 5분 이상 기다릴 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sContainerSampleSELECT uniqueCount(podName)WHERE status = 'Waiting' and clusterName in ('YOUR_CLUSTER_NAME') and namespaceName in ('YOUR_NAMESPACE_NAME') FACET containerName, podName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 데몬셋에 5분 이상 파일이 없는 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sDaemonsetSampleSELECT latest(podsMissing)WHERE clusterName in ('YOUR_CLUSTER_NAME') and namespaceName in ('YOUR_NAMESPACE_NAME') facet daemonsetName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 배포에 5분 이상의 기간 동안 파드가 누락된 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sDeploymentSampleSELECT latest(podsMissing)WHERE clusterName in ('YOUR_CLUSTER_NAME') and namespaceName in ('YOUR_NAMESPACE_NAME') facet deploymentName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 Etcd
파일 설명자 사용량이 5분 이상 90%를 초과할 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sEtcdSampleSELECT max(processFdsUtilization)WHERE clusterName in ('YOUR_CLUSTER_NAME') facet displayName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 Etcd
파일 설명자가 1분 이상 리더가 없는 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sEtcdSampleSELECT min(etcdServerHasLeader)WHERE clusterName in ('YOUR_CLUSTER_NAME') facet displayName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 수평 파드 자동 확장기의 현재 복제본이 원하는 복제본보다 5분 이상 낮은 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sHpaSampleSELECT latest(desiredReplicas - currentReplicas)WHERE clusterName in ('YOUR_CLUSTER_NAME') and namespaceName in ('YOUR_NAMESPACE_NAME') facet displayName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 수평 파드 자동 스케일러가 5개의 복제본을 초과할 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sHpaSampleSELECT latest(maxReplicas - currentReplicas)WHERE clusterName in ('YOUR_CLUSTER_NAME') and namespaceName in ('YOUR_NAMESPACE_NAME') facet displayName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 작업이 실패 상태를 보고할 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sJobSampleSELECT 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분 이상 실패할 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sPodSampleSELECT uniqueCount(podName)WHERE clusterName in ('YOUR_CLUSTER_NAME') and namespaceName in ('YOUR_NAMESPACE_NAME') and status = 'Failed' facet namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 평균 노드 할당 CPU 사용률이 5분 이상 90%를 초과할 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sNodeSampleSELECT average(allocatableCpuCoresUtilization)WHERE clusterName in ('YOUR_CLUSTER_NAME') facet nodeName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 평균 노드 할당 가능 메모리 사용률이 5분 이상 90%를 초과하는 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sNodeSampleSELECT average(allocatableMemoryUtilization)WHERE clusterName in ('YOUR_CLUSTER_NAME') facet nodeName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 노드를 5분간 사용할 수 없을 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sNodeSampleSELECT latest(condition.Ready)WHERE clusterName in ('YOUR_CLUSTER_NAME') facet nodeName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 노드가 예정되지 않은 것으로 표시되면 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sNodeSampleSELECT latest(unschedulable)WHERE clusterName in ('YOUR_CLUSTER_NAME') facet nodeName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 노드의 실행 중인 패드가 노드 패드 용량의 90%를 5분 이상 초과할 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sPodSample, K8sNodeSampleSELECT ceil(filter(uniqueCount(podName)WHERE status = 'Running') / latest(capacityPods) * 100) as 'Pod Capacity %' where nodeName != '' and nodeName is not null and clusterName in ('YOUR_CLUSTER_NAME') facet nodeName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 평균 노드 루트 파일 시스템 용량 사용률이 5분 이상 90%를 초과할 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sNodeSampleSELECT average(fsCapacityUtilization)WHERE clusterName in ('YOUR_CLUSTER_NAME') facet nodeName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 지속형 볼륨이 5분 이상 실패 또는 보류 상태일 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sPersistentVolumeSampleSELECT uniqueCount(volumeName)WHERE statusPhase in ('Failed','Pending') and clusterName in ('YOUR_CLUSTER_NAME') facet volumeName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 5분 이상 파드를 예약할 수 없을 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sPodSampleSELECT latest(isScheduled)WHERE clusterName in ('YOUR_CLUSTER_NAME') and namespaceName in ('YOUR_NAMESPACE_NAME') facet podName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 파드를 5분 이상 사용할 수 없을 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sPodSampleSELECT latest(isReady)WHERE status not in ('Failed', 'Succeeded') where clusterName in ('YOUR_CLUSTER_NAME') and namespaceName in ('YOUR_NAMESPACE_NAME') facet podName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 statefulset
에 5분 이상 파드가 누락된 경우 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sStatefulsetSampleSELECT latest(podsMissing)WHERE clusterName in ('YOUR_CLUSTER_NAME') and namespaceName in ('YOUR_NAMESPACE_NAME') facet daemonsetName, namespaceName, clusterName
자세한 내용은 GitHub 설정 파일을 참조하세요.
Google Kubernetes 엔진 공지사항
이는 권장되는 Google Kubernetes 엔진 공지 사항의 기본 세트입니다. 다음을 추가합니다.
이 공지 조건은 노드의 CPU 사용률이 최소 15분 동안 90%를 초과할 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM MetricSELECT max(`gcp.kubernetes.node.cpu.allocatable_utilization`) * 100WHERE clusterName LIKE '%' FACET gcp.kubernetes.nodeName
자세한 내용은 GitHub 설정 파일을 참조하세요.
이 공지 조건은 노드의 메모리 사용량이 전체 용량의 85%를 초과할 때 공지를 생성합니다. 다음 쿼리를 실행합니다.
FROM K8sPodSampleSELECT max(gcp.kubernetes.node.memory.allocatable_utilization) * 100 WHERE clusterName LIKE '%' FACET gcp.kubernetes.nodeName
자세한 내용은 GitHub 설정 파일을 참조하세요.