Kubernetes Controller Manager

개요
이 점검은 Kubernetes 컨트롤 플레인의 일부인 Kubernetes Controller Manager를 모니터링합니다.
참고: 이 점검은 해당 서비스가 노출되지 않기 때문에 Amazon EKS 클러스터에 대한 데이터를 수집하지 않습니다.
설정
설치
Kubernetes Controller Manager 점검은 Datadog Agent 패키지에 포함되어 있으므로 서버에 다른
서버에 추가 설치가 필요 없습니다.
설정
Agent 구성 디렉터리 루트의 conf.d/ 폴더에 있는 kube_controller_manager.d/conf.yaml 파일을 편집하여 kube_controller_manager 성능 데이터 수집을 시작하세요. 사용 가능한 모든 구성 옵션은 샘플 kube_controller_manager.d/conf.yaml을 참조하세요.
Agent 다시 시작
이 통합을 위해서는 컨트롤러 관리자의 메트릭 엔드포인트에 대한 액세스가 필요합니다. 메트릭 엔드포인트에 액세스하려면 다음을 수행해야 합니다.
- controller-manager 프로세스의 IP/포트에 대한 액세스가 있어야 합니다.
- /metrics 엔드포인트에 대한
get RBAC 권한이 있어야 합니다. (기본 Datadog Helm 차트에는 이미 이에 대한 올바른 RBAC 역할과 바인딩이 추가되어 있습니다.)
검증
Agent status 하위 명령을 실행하고 점검 섹션에서 kube_controller_manager를 찾습니다.
수집한 데이터
Metrics
| |
|---|
kube_controller_manager.goroutines (gauge) | 현재 존재하는 goroutine의 개수 |
kube_controller_manager.job_controller.terminated_pods_tracking_finalizer (count) | 작업 컨트롤러가 종료된 포드를 작업 상태로 계정화한 후 포드 파이널라이저를 제거하는지 여부를 모니터링하는 데 사용됩니다. |
kube_controller_manager.leader_election.lease_duration (gauge) | 리더십 리스 기간 |
kube_controller_manager.leader_election.transitions (count) | 관측된 리더십 전환 횟수 |
kube_controller_manager.max_fds (gauge) | 열려 있는 파일에 대해 최대 허용되는 설명자 |
kube_controller_manager.nodes.count (gauge) | 영역당 등록된 노드 수 |
kube_controller_manager.nodes.evictions (count) | 영역당 노드 축출 이벤트 수 |
kube_controller_manager.nodes.unhealthy (gauge) | 영역당 비정상 노드 수 |
kube_controller_manager.open_fds (gauge) | 열려 있는 파일의 설명자 수 |
kube_controller_manager.queue.adds (count) | 추가된 요소, 대기열별 |
kube_controller_manager.queue.depth (gauge) | 현재 깊이, 대기열별 |
kube_controller_manager.queue.latency.count (gauge) | 처리 대기 시간 수, 대기열별(Kubernetes v1.14에서 더 이상 사용되지 않음) |
kube_controller_manager.queue.latency.quantile (gauge) | 처리 지연 시간 백분위수, 대기열별(Kubernetes v1.14에서 더 이상 사용되지 않음) microsecond로 표시 |
kube_controller_manager.queue.latency.sum (gauge) | 처리 대기 시간 합계, 대기열별(Kubernetes v1.14에서 더 이상 사용되지 않음) microsecond로 표시 |
kube_controller_manager.queue.process_duration.count (gauge) | 작업 대기열에서 항목을 처리하는 데 걸리는 시간, 대기열별 |
kube_controller_manager.queue.process_duration.sum (gauge) | 총 작업 대기열 처리 시간, 대기열별 second로 표시 |
kube_controller_manager.queue.queue_duration.count (gauge) | 항목이 요청되기 전까지 대기열에 머무르는 기간, 대기열별 |
kube_controller_manager.queue.queue_duration.sum (gauge) | 항목이 요청되기 전까지 대기열에 머무른 총 시간, 대기열별 second로 표시 |
kube_controller_manager.queue.retries (count) | 처리된 재시도, 대기열별 |
kube_controller_manager.queue.work_duration.count (gauge) | 작업 기간, 대기열별(Kubernetes v1.14에서 더 이상 사용되지 않음) |
kube_controller_manager.queue.work_duration.quantile (gauge) | 작업 지속 시간 백분위수, 대기열별(Kubernetes v1.14에서 더 이상 사용되지 않음) microsecond로 표시 |
kube_controller_manager.queue.work_duration.sum (gauge) | 작업 지속 시간 합계, 대기열별(Kubernetes v1.14에서 더 이상 사용되지 않음) microsecond로 표시 |
kube_controller_manager.queue.work_longest_duration (gauge) | 가장 오래 실행 중인 프로세서가 실행된 시간, 대기열별 second로 표시 |
kube_controller_manager.queue.work_unfinished_duration (gauge) | 진행 중이지만 process_duration으로 관측되지 않은 작업 시간(초) second로 표시 |
kube_controller_manager.rate_limiter.use (gauge) | 레이트 리미터 사용, 리미터별 |
kube_controller_manager.slis.kubernetes_healthcheck (gauge) | 단일 컨트롤러 관리자 상태 확인 결과(알파, k8s v1.26 이상 필요) |
kube_controller_manager.slis.kubernetes_healthcheck_total (count) | 모든 컨트롤러 관리자 상태 확인의 누적 결과(alpha, k8s v1.26 이상 필요) |
kube_controller_manager.threads (gauge) | 생성된 OS 스레드 수 |
이벤트
Kubernetes Controller Manager 점검은 이벤트를 포함하지 않습니다.
서비스 점검
kube_controller_manager.prometheus.health
검사에서 메트릭 엔드포인트에 액세스할 수 없는 경우 CRITICAL을 반환합니다.
상태: ok, critical
kube_controller_manager.leader_election.status
현재 리더로 설정된 복제본이 없는 경우 CRITICAL을 반환합니다.
상태: ok, critical
kube_controller_manager.up
Kube Controller Manager가 정상 상태가 아니면 CRITICAL을 반환합니다.
상태: ok, critical
트러블슈팅
도움이 필요하신가요? Datadog 지원팀으로 문의하세요.