본문으로 건너뛰기

쿠버네티스 지표

쿠버네티스에서 수집되는 지표 일부는 서버 모니터링, 애플리케이션과 동일합니다.

컨테이너(container) 지표

container 카테고리는 컨테이너의 pod에 설정된 모든 사용자 정의 라벨들을 태그로 수집합니다.

  • 대상: 클러스터 프로젝트, 네임스페이스 프로젝트
  • 수집 간격: 5초
  • 통계 데이터: 5분

Tags

TagsTypeUnitDescription
agentOid--노드 에이전트 고유 ID(고유값)
agentPcode--프로젝트 코드(고유값)
command--실행 명령어
containerId--컨테이너 ID(고유값)
containerKey--컨테이너 Key
created--컨테이너가 생성된 TimeStamp
image--컨테이너 이미지명
imageHash--이미지 해시 값
imageId--이미지 ID
k8s-app--Pod의 레이블 k8s-app에 대한 값
microOid--컨테이너에 설치된 와탭 APM 에이전트의 고유 ID
name--컨테이너 이름
namespace--컨테이너가 소속된 네임스페이스
namespaceHash--컨테이너가 소속된 네임스페이스 해시 값
okind--컨테이너에 설치된 와탭 APM 에이전트에 지정한 OKIND 고유 ID
okindName--컨테이너에 설치된 와탭 APM 에이전트에 지정한 OKIND 이름
oname--컨테이너에 설치된 와탭 APM 에이전트 이름
onode--컨테이너가 작동 중인 노드 에이전트의 고유 ID
onodeName--컨테이너가 작동 중인 노드 이름
podHash--컨테이너의 Pod 해시 값
podName--컨테이너의 Pod 이름
replicaSetHash--컨테이너의 레플리카셋 해시 값
replicaSetName--컨테이너의 레플리카셋 이름
whatap_project--컨테이너가 속한 와탭 프로젝트 이름

Fields

FieldTypeUnitShortname/Name/Description
blkio_rbps-byteIoReadBytes
Container Block I/O Read Byte
컨테이너 전체 블럭 디바이스의 초당 읽은 바이트 합
blkio_riops-countIoReadIops
Container Block I/O Read IOPS
컨테이너 전체 블럭 디바이스의 초당 읽은 건수 합
blkio_wbps-byteIoWriteBytes
Container Block I/O Write Byte
컨테이너 전체 블럭 디바이스의 초당 쓴 바이트 합
blkio_wiops-countIoWriteIops
Container Block I/O Write IOPS
컨테이너 전체 블럭 디바이스의 초당 쓴 건수 합
cpu_per_quota-percentCpuByLimit
Container CPU Usage by Limit(%)
CPU Limit 기준 CPU 전체 사용률
cpu_quota-millicoresCpuLimit
Container CPU Limit (core)
컨테이너 CPU Limit 할당량
- Limit 미설정인 경우 컨테이너가 작동 중인 해당 노드의 CPU 전체 코어가 밀리코어 단위로 표시됨
cpu_quota_percent-percentCpuLimitByNode
Container CPU Limit by Node(%)
노드 CPU 대비 컨테이너 CPU Limit 할당량
- Limit 미설정인 경우 컨테이너가 작동 중인 해당 노드의 CPU 전체 코어가 퍼센트로 표시됨
cpu_sys-percentCpuSysByNode
Container CPU Sys Usage by Node(%)
노드 CPU 대비 컨테이너 CPU System 사용률
cpu_throttledperiods-countCpuThrottledCnt
Container CPU Throttling Count
컨테이너 CPU Throttled 건수
cpu_throttledtime-nanosecond(ns)CpuThrottledTime
Container CPU Throttling Time
컨테이너 CPU Throttled 시간
cpu_total-percentCpuByNode
Container CPU Usage by Node(%)
노드 CPU 대비 컨테이너 CPU 사용률
cpu_total_milli-millicoresCpuTotUsage
Container CPU Usage (millicore)
컨테이너 CPU 사용량
cpu_user-percentCpuUserByNode
Container CPU User Usage by Node(%)
노드 CPU 대비 컨테이너 CPU User 사용률
cpu_request-millicoresCpuRequest
Container CPU Request (core)
컨테이너 CPU 요청
cpu_per_request-percentCpuByRequest
Container CPU Usage by Request(%)
컨테이너 CPU 요청 대비 사용률
= cpu_total_milli / cpu_request * 100
mem_failcnt-countMemFailCnt
Container Memory Failure Count
컨테이너 메모리 Limit 도달 건수
mem_limit-byteMemLimit
Container Memory Limit (byte)
컨테이너 메모리 Limit 크기
mem_maxusage-byteMemMaxUsage
Container Memory Max Usage (byte)
컨테이너 메모리 최대 사용량 기록값
- 자세한 내용은 하단 안내를 참고하세요.
mem_percent-percentMemWsByLimit
Container Memory Working Set by Limit(%)
컨테이너 메모리 Limit 기준 working set 사용량
= mem_working_set / mem_limit * 100
mem_totalcache-byteMemTotCache
Container Memory Total Cache (byte)
컨테이너 전체 캐시 크기
mem_totalpgfault-countMemTotPageFaultCnt
Container Memory Total Page Fault Count
컨테이너 Page Fault 횟수
mem_totalrss-byteMemTotRss
Container Memory Total RSS (byte)
컨테이너 RSS 메모리 전체 크기
mem_totalrss_percent-percentMemTotRssByLimit
Container Memory Total RSS by Limit (%)
컨테이너 RSS 메모리 전체 사용률
mem_totalunevictable-byteMemTotUnevictable
Container Memory Total Unevictable (byte)
컨테이너 Unevictable Memory 전체 크기
mem_usage-byteMemUsage
Container Memory Usage (byte)
컨테이너 메모리 사용량
mem_working_set-byteMemWs
Container Memory Working Set (byte)
컨테이너 메모리 working set
= mem_usage - inactive file
mem_working_set_percent-percentMemWsByLimit
Container Memory Working Set by Limit (%)
컨테이너 메모리 Limit 기준 working set 사용량
= mem_working_set / mem_limit * 100
mem_request-byteMemRequest
Container Memory Request (byte)
컨테이너 메모리 Request 크기
mem_per_request-percentMemWsByRequest
Container Memory Working Set by Request (%)
컨테이너 메모리 Request 기준 working set 사용량
= mem_working_set / mem_request * 100
network_rbps-b yteNetRxBytes
Container Network Receive Byte
컨테이너 전체 블럭 디바이스의 초당 읽기 바이트 합
network_rdropped-byteNetRxDropped
Container Network Receive Dropped
컨테이너 네트워크 수신 dropped 건수
network_rerror-byteNetRxError
Container Network Receive Error
컨테이너 네트워크 수신 에러 건수
network_riops-byteNetRxIops
Container Network Receive IOPS
컨테이너 네트워크 수신 건수
network_wbps-byteNetTxByes
Container Network Transmit Byte
컨테이너 네트워크 송신 데이터 크기
network_wdropped-countNetTxDropped
Container Network Transmit Dropped
컨테이너 네트워크 송신 dropped 건수
network_werror-countNetTxError
Container Network Transmit Error
컨테이너 네트워크 송신 에러 건수
network_wiops-countNetTxIops
Container Network Transmit IOPS
컨테이너 네트워크 송신 건수
node_cpu-percentConNodeCpu
Container Work Node CPU Usage (%)
컨테이너가 실행 중인 노드의 CPU 사용량
node_mem-percentConNodeMem
Container Work Node Memory Usage (%)
컨테이너가 실행 중인 노드의 메모리 사용량
phasestring-Pod 라이프사이클
① PENDING
② RUNNING
③ SUCCEEDED
④ FAILED
⑤ UNKNOWN
restart_countinteger-ConRestartCnt
Container Restart Count
컨테이너 재시작 횟수
stateinteger-ConState
Container Current State
컨테이너 상태 코드
① RUNNING = 114
② PAUSE = 112
③ RESTARTING = 101
④ OOMKILLED = 111
⑤ DEAD = 100
⑥ WAITING = 119
statusstring-ConStatus
Container Current Status
컨테이너 상태 정보
① running 상태: uptime 정보 표시
② waiting/terminated 상태: 상태에 대한 reason 정보 표시
노트

mem_maxusage는 컨테이너가 실행되는 동안 기록된 메모리 최대 사용량을 나타냅니다. 그러나 Linux 커널 버전이 5.19보다 낮은 경우, 이 지표의 원본 데이터가 지원되지 않을 수 있습니다. 이러한 경우 해당 값이 0으로 표시될 수 있습니다. 해당 지표를 정상적으로 수집하기 위해서는 Linux 커널 버전을 5.19 이상으로 업데이트해야 합니다.

쿠버네티스 노드(kube_node) 지표

kube_node 카테고리는 노드에 설정된 모든 사용자 정의 라벨들을 태그로 수집합니다.

  • 대상: 클러스터 프로젝트, 네임스페이스 프로젝트
  • 수집 간격: 5초
  • 통계 데이터: 5분, 1시간

Tags

TagsTypeUnitDescription
nodeName--노드 이름

Fields

FieldTypeUnitDescription
allocatable_cpu-millicores노드 할당 가능한 CPU량
allocatable_memory-byte노드 할당 가능한 메모리량
allocatable_podsinteger-노드 할당 가능한 Pod 수
limit_cpu-millicores노드 CPU Limit 합계
limit_memory-byte노드 메모리 Limit 합계
podsinteger-노드 Pod 총 개수
request_cpu-millicores노드 CPU Request 합계
request_memory-byte노드 메모리 Request 합계

쿠버네티스 이벤트(kube_event) 지표

kube_event 카테고리는 클러스터 프로젝트의 경우 클러스터 전체를 대상으로 데이터를 수집하며 네임스페이스 프로젝트는 해당 네임스페이스에서 발생한 이벤트에 대해서만 수집합니다.

  • 대상: 클러스터 프로젝트, 네임스페이스 프로젝트
  • 수집 간격: 5초
  • 통계 데이터: 5분, 1시간

Tags

TagsTypeUnitDescription
field_path--Field Path
kind--이벤트가 발생한 오브젝트 종류
name--이벤트가 발생한 쿠버네티스 오브젝트명
namespace--이벤트가 발생한 네임스페이스명
reason--이벤트 발생 사유
type--이벤트 유형
- Warning 또는 Normal
uid--UID
- 이벤트가 발생한 오브젝트

Fields

FieldTypeUnitDescription
actionstring-액션 이름
count-count이벤트 발생 건수
event_timeInteger-이벤트 최초 발생 TimeStamp
first_timestampInteger-이벤트 최초 발생 시간
last_timestampInteger-이벤트 마지막 발생 시간
messagestring-이벤트 메시지
reasonFiledstring-이벤트 Reason
reporting_componentstring-현재 이벤트를 보고하는 컴포넌트
reporting_instancestring-현재 이벤트를 보고하는 인스턴스
series_last_observed_timeInteger-series last observed time

쿠버네티스 클러스터(kube_stat) 지표

kube_stat 카테고리는 클러스터 프로젝트의 경우 클러스터 전체 대상으로 수집하고 네임스페이스 프로젝트는 해당 네임스페이스와 연관된 오브젝트를 대상으로만 수집합니다.

  • 대상: 클러스터 프로젝트, 네임스페이스 프로젝트
  • 수집 간격: 5초
  • 통계 데이터: 5분, 1시간

Tags

TagsTypeUnitDescription
name--kube_stat(고정 값)

Fields

FieldTypeUnitDescription
alloctable_cpu-millicores클러스터 전체 코어 수(클러스터 프로젝트 Only)
alloctable_ephemeral-storage-byte클러스터 전체 할당 가능한 ephemeral storage(클러스터 프로젝트 Only)
alloctable_hugepages-1gi-byte클러스터 전체 할당 가능한 hugepages-1Gi(클러스터 프로젝트 Only)
alloctable_hugepages-2mi-byte클러스터 전체 할당 가능한 hugepages-2Mi(클러스터 프로젝트 Only)
alloctable_memory-byte클러스터 전체 할당 가능한 메모리(클러스터 프로젝트 Only)
alloctable_podsInteger-할당 가능한 Pod 수
available_podInteger-Phase가 Running 상태인 Pod의 수
desired_podInteger-metadata.ownerReferences 없이 배포된 Pod 수와 쿠버네티스 오브젝트(ReplicaSet, Daemonset, StatefulSet)에 정의된 Desired Pod 수의 합
kubectl get pods -A로 조회한 Pod 수와 동일
nodesInteger-노드 수
pod_phase_PendingInteger-Pending 상태 Pod 수
pod_phase_RunningInteger-Running 상태 Pod 수
running_containersInteger-Running 컨테이너 수
stopped_containersInteger-Stopped 컨테이너 수
total_available_cpuInteger-할당 가능한 CPU 총합
total_available_memoryInteger-할당 가능한 Memory 총합
total_limit_cpu-millicoresLimit CPU 총합
total_limit_memory-byteLimit Memory 총합
total_request_cpu-millicoresRequest CPU 총합
total_request_memory-byteRequest Memory 총합
unavailable_podInteger-Phase가 Running 상태가 아닌(Pending, Failed, Succedded) Pod 수
waiting_containersInteger-Waiting Container 수

Pod(kube_pod) 지표

kube_pod 카테고리는 Pod에 설정된 모든 사용자 정의 라벨들을 태그로 수집합니다.

  • 대상: 마스터(클러스터) 프로젝트, 네임스페이스 프로젝트
  • 수집 간격: 5초
  • 통계 데이터: 5분

Tags

TagsTypeUnitDescription
agentOid--노드 에이전트 고유 ID(고유값)
agentPcode--프로젝트 코드(고유값)
command--실행 명령어
containerIds--Pod에 속해있는 컨테이너 ID
containerIdsCount--containerIds의 개수
containerKeys--Pod 에 속해있는 컨테이너 ID 의 해시 값
containerKeysCount--containerKeys의 개수
DaemonSet--Pod의 DaemonSet 이름
Deployment--Deployment
k8s-app--Pod의 레이블 k8s-app에 대한 값
microOid--Pod의 컨테이너 내부 애플리케이션에서 실행중인 에이전트의 ID
microOids--Pod 안의 복수개 컨테이너 내부 애플리케이션에서 실행 중인 에이전트의 복수개 ID
microOidsCount--microOids의 개수
name--Pod 이름
onames--Pod의 컨테이너 내부 애플리케이션에서 실행중인 에이전트의 명칭
onamesCount--onames의 개수
podName--Pod 이름
namespace--Pod가 소속된 네임스페이스
namespaceHash--Pod가 소속된 네임스페이스 해시 값
replicaSetHash--Pod의 ReplicaSet 해시 값
replicaSetName--Pod의 ReplicaSet 이름
whatap_project--Pod가 속한 와탭 프로젝트 이름

Fields

FieldTypeUnitShortname, Name, Description
blkio_rbps-byteIoReadBytes
Pod Block I/O Read Byte
Pod 전체 블럭 디바이스의 초당 읽은 바이트 합
blkio_riops-countIoReadIops
Pod Block I/O Read IOPS
Pod 전체 블럭 디바이스의 초당 읽은 건수 합
blkio_wbps-byteIoWriteBytes
Pod Block I/O Write Byte
Pod 전체 블럭 디바이스의 초당 쓴 바이트 합
blkio_wiops-countIoWriteIops
Pod Block I/O Write IOPS
Pod 전체 블럭 디바이스의 초당 쓴 건수 합
cpu_per_limit-precentCpuByLimit
Pod CPU Usage by Limit (%)
CPU Limit 기준 CPU 전체 사용률
cpu_per_request-precentCpuByRequest
Pod CPU Usage by Request (%)
CPU Request 기준 CPU 전체 사용률
cpu_quota_percent-precentCpuLimitByNode
Pod CPU Limit by Node (%)
노드 CPU 대비 Pod CPU Limit 할당량
- Limit 미설정인 경우 Pod가 작동 중인 해당 노드의 CPU 전체 코어가 퍼센트로 표시됨
cpu_sys-precentCpuSysByNode
Pod CPU Sys Usage by Node (%)
노드 CPU 대비 Pod CPU System 사용률
cpu_throttledperiods-countCpuThrottledCnt
Pod CPU Throttling Count
Pod CPU Throttled 건수
cpu_throttledtime-nanosecond(ns)CpuThrottledTime
Pod CPU Throttling Time
Pod CPU Throttled 시간
cpu_total-percentCpuByNode
Pod CPU Usage by Node (%)
노드 CPU 대비 Pod CPU 사용률
cpu_total_milli-millicoresCpuTotUsage
Pod CPU Usage (millicore)
Pod CPU 사용량
cpu_user-percentCpuUserByNode
Pod CPU User Usage by Node (%)
노드 CPU 대비 Pod CPU User 사용률
cpu_request-millicoresCpuRequest
Pod CPU Request (core)
Pod CPU 요청
cpu_per_request-precentCpuByRequest
Pod CPU Usage by Request (%)
Pod CPU 요청 대비 사용률
= cpu_total_milli / cpu_request * 100
mem_totalcache-byteMemTotCache
Pod Memory Total Cache (byte)
Pod 전체 캐시 크기
mem_totalpgfault-countMemTotPageFaultCnt
Pod Memory Total Page Fault Count
Pod Page Fault 횟수
mem_totalrss-byteMemTotRss
Pod Memory Total RSS (byte)
Pod RSS 메모리 전체 크기
mem_totalrss_percent-precentMemTotRssByLimit
Pod Memory Total RSS by Limit (%)
Pod RSS 메모리 전체 사용률
mem_totalunevictable-byteMemTotUnevictable
Pod Memory Total Unevictable (byte)
Pod Unevictable Memory 전체 크기
mem_usage-byteMemUsage
Pod Memory Usage (byte)
Pod 메모리 사용량
mem_working_set-byteMemWs
Pod Memory Working Set (byte)
Pod 메모리 working set
= mem_usage - inactive file
memory_request-byteMemRequest
Pod Memory Request (byte)
Pod 메모리 요청량
memory_limit-byteMemLimit
Pod Memory Limit (byte)
Pod 메모리 Limit 할당량
memory_per_request-precentMemByRequest
Pod Memory Working Set By Request (%)
Pod 메모리 요청량 기준 Working Set 사용량
memory_per_limit-precentMemByLimit
Pod MMemory Working Set By Limit (%)
Pod 메모리 Limit 기준 Working Set 사용량
network_rbps-byteNetRxBytes
Pod Network Receive Byte
Pod 전체 블럭 디바이스의 초당 읽기 바이트 합
network_rdropped-byteNetRxDropped
Pod Network Receive Dropped
Pod 네트워크 수신 dropped 건수
network_rerror-byteNetRxError
Pod Network Receive Error
od 네트워크 수신 에러 건수
network_riops-byteNetRxIops
Pod Network Receive IOPS
Pod 네트워크 수신 건수
network_wbps-byteNetTxByes
Pod Network Transmit Byte
Pod 네트워크 송신 데이터 크기
network_wdropped-countNetTxDropped
Pod Network Transmit Dropped
Pod 네트워크 송신 dropped 건수
network_werror-countNetTxError
Pod Network Transmit Error
Pod 네트워크 송신 에러 건수
network_wiops-countNetTxIops
Pod Network Transmit IOPS
Pod 네트워크 송신 건수
phasestring-Phase
Pod Current Phase
Pod 라이프사이클
① PENDING
② RUNNING
③ SUCCEEDED
④ FAILED
⑤ UNKNOWN

다음 필드는 내부용으로 예약되었습니다.

FieldTypeUnitDescription
kube_sless_normal--쿠버네티스 정보성 이벤트 발생 건수
kube_sless_warning--쿠버네티스 경고 이벤트 발생 건수
micro_sful_critical--apm 심각 상태 기반 이벤트 발생 건수
micro_sful_info--apm 정보성 상태 기반 이벤트 발생 건수
micro_sful_warning--apm 경고 상태 기반 이벤트 발생 건수
micro_sless_critical--apm 심각 무상태 이벤트 발생 건수
micro_sless_info--apm 정보성 무상태 이벤트 발생 건수
micro_sless_warning--apm 경고 무상태 이벤트 발생 건수
sful_critical--메트릭스 심각 상태 기반 이벤트 발생 건수
sful_info--메트릭스 정보성 상태 기반 이벤트 발생 건수
sful_warning--메트릭스 경고 상태 기반 이벤트 발생 건수
sless_critical--메트릭스 심각 무상태 이벤트 발생 건수
sless_info--메트릭스 정보성 무상태 이벤트 발생 건수
sless_warning--메트릭스 경고 무상태 이벤트 발생 건수

쿠버네티스 Pod 통계(kube_pod_stat) 지표

kube_pod_stat 카테고리 클러스터 프로젝트는 클러스터 전체를 대상으로 데이터를 수집하며 네임스페이스 프로젝트는 해당 네임스페이스에 소속된 Pod에 대해서만 수집합니다.

  • 대상: 클러스터 프로젝트, 네임스페이스 프로젝트
  • 수집 간격: 5초
  • 통계 데이터: 5분, 1시간

Tags

TagsTypeUnitDescription
kind--유형
- 클러스터 프로젝트의 경우 cluster 고정 값을 가지며 네임스페이스 프로젝트의 경우 Deployment 또는 ReplicaSet만 수집
name--쿠버네티스 자원 이름
- 클러스터 프로젝트는 name 값이 없으며 네임스페이스 프로젝트는 Deployment 또는 ReplicaSet의 이름

Fields

FieldTypeUnitDescription
available_podinteger-Phase가 Running 상태인 Pod의 수
desired_podinteger-metadata.ownerReferences 없이 배포된 Pod 수와 쿠버네티스 오브젝트(ReplicaSet, Daemonset, StatefulSet)에 정의된 Desired Pod 수의 합
kubectl get pods -A로 조회한 Pod 수와 동일
limit_cpu-millicoresCPU Limit 사용량
limit_memory-byteMemory Limit 사용량
request_cpu-millicoresCPU Request 사용량
request_memory-byteMemory Request 사용량
running_containerinteger-Running Container 수
stopped_containerinteger-Stopped Container 수
waiting_containerinteger-Waiting Container 수

쿠버네티스 Horizontal Pod Autoscaler(HPA)(kube_hpa_stat) 지표

와탭에서 사용하는 ClusterRole에 HPA가 추가되어야 지표 수집이 시작됩니다.

  • 대상: 클러스터 프로젝트
  • 수집 간격: 5초
  • 통계 데이터: 5분, 1시간

Tags

TagsTypeUnitDescription
name--HPA 이름

Fields

FieldTypeUnitDescription
currentReplicasintegercount현재 레플리카 수
desiredReplicasintegercountDesired 레플리카 수
lastScaleTimeintegercount마지막으로 스케일이 변경된 TimeStamp
maxReplicasintegercount최대 레플리카 수
minReplicasintegercount최소 레플리카 수

프로세스(kube_process) 지표

노트

쿠버네티스 에이전트 1.7.12 버전 이상이 필요합니다. 에이전트 업데이트에 대한 자세한 내용은 다음 문서를 참조하세요.

노드에 존재하는 쿠버네티스 관련 프로세스를 모니터링할 때 수집됩니다.

  • 대상: 클러스터 프로젝트, 네임스페이스 프로젝트

  • 수집 간격: 5초

  • 통계 데이터: 5분

Tags

TagsTypeUnitDescription
ppidstring-부모 프로세스 ID
/proc/[pid]/status::PPid
pidstring-프로세스 ID
/proc/[pid]/status::Pid
cmd1string-명령어 이름
/proc/[pid]/status::Name
cmd2string-명령어 라인(전체 명령어와 인자)
/proc/[pid]/cmdline
userstring-사용자 ID 또는 사용자 이름
/proc/[pid]/status::Uid
onodeNamestring-프로세스의 노드 이름
컨테이너 시스템 환경변수 (NODE_IP)
createTimeTimeStamp-프로세스 시작 시간
/proc/uptime 통해 계산된 필드

Fields

FieldTypeUnitDescription
cpufloatpercent(%)CPU 사용률
- /proc/[pid]/stat을 통해 계산된 필드
memoryfloatpercent(%)메모리 사용률
- /proc/[pid]/statm을 통해 계산된 필드
rsslongbyte실제 메모리 사용량 (Resident Set Size)
- /proc/[pid]/status의 VmRSS
uidstring-사용자 ID 또는 사용자 이름
- /proc/[pid]/status의 Uid
statestring-프로세스 상태
- /proc/[pid]/status의 State
sharedMemorylongbyte공유 메모리 크기
- /proc/[pid]/statm을 통해 계산된 필드
openFileDescriptorsinteger-프로세스가 열어둔 파일 디스크립터 수
- /proc/[pid]/fd를 통해 계산된 필드
vmSizelongbyte가상 메모리 크기 (Virtual Memory Size)
- /proc/[pid]/status의 VmSize
threadsinteger-프로세스가 생성한 스레드 수
- /proc/[pid]/status의 Threads

Kubernetes 환경의 리눅스 프로세스 상태

리눅스에서 /proc/[pid]/status 파일의 State 필드가 프로세스의 현재 상태를 표시합니다. 각 상태 값의 의미는 다음과 같습니다.

CodeDescription
R (Running)실행 중
- 프로세스가 실행 중이거나 실행될 준비가 되어 있는 상태
S (Sleeping)대기 중
- 인터럽트 가능한 수면 상태로, 대기 중이며 이벤트를 기다리고 있는 상태
D (Disk Sleep)디스크 수면
- 인터럽트 불가능한 수면 상태로, 일반적으로 I/O 작업을 기다리는 중인 상태
R (Zombie)좀비 상태
- 프로세스가 종료되었으나 아직 부모 프로세스가 종료 상태를 수집하지 않은 상태
T (Stopped)중지
- 프로세스가 작업 제어 신호에 의해 중지된 상태 (SIGSTOP 등) 또는 디버거에 의해 중지된 상태
t (Tracing stop)추적 중지
- 디버거에 의해 추적 중인 상태 (소문자 t로 표시됨)
X (Dead)죽은 상태
- 프로세스가 죽은 상태 (일반적으로 보지 않음)
x (Dead)죽은 상태
- 커널 쓰레드의 죽은 상태 (일반적으로 보지 않음)
K (WakeKill)강제 종료
- 깨우기 신호를 무시하고 즉시 죽은 상태
W (Waking)깨우기 중
- 깨우기 신호를 받아 깨워지는 중인 상태
I (Idle)유휴 상태
- 커널 스레드가 유휴 상태 (일반적으로 유저 공간 프로세스에는 보이지 않음)
노트

Kubernetes는 컨테이너와 노드의 리소스를 효율적으로 관리하기 때문에, 컨테이너 내부에서 실행되는 다수의 프로세스가 실제로 대기 상태를 유지합니다. 이에 따라 대부분의 프로세스는 Sleeping 상태일 수 있습니다.

에이전트 상태(agent_status_summary) 지표

에이전트 상태와 관련한 지표를 10초 간격으로 수집한 카테고리입니다.

Fields

FieldTypeUnitDescription
inActTime-milliseconds(ms)에이전트가 비활성화된 상태로 유지된 시간
isActiveBoolean-현재 에이전트의 활성 상태 여부 (true / false)
isRestartBoolean-에이전트가 재시작되었는지 여부 (true / false)
lastActTime-milliseconds(ms)마지막으로 에이전트가 활성화된 상태의 시각
- 0: 비활성화된 경우
oid--프로젝트에 포함된 각 에이전트의 고유 식별자
oType--에이전트 종류
- 1: 애플리케이션 에이전트
- 2: subType 참조
startTime-milliseconds(ms)에이전트가 시작된 시점을 나타내는 타임스탬프
subType--에이전트 종류
-9: 노드 에이전트
- 10: 마스터 에이전트

Ingress(kube_ingress) 지표

노트

쿠버네티스 에이전트 1.7.13 버전 이상이 필요합니다. 에이전트 업데이트에 대한 자세한 내용은 다음 문서를 참조하세요.

Ingress 리소스에 대한 메타 데이터와 관련 정보를 모니터링할 때 수집됩니다.

  • 대상: 클러스터 프로젝트, 네임스페이스 프로젝트

  • 수집 간격: 30초

  • 통계 데이터: 5분

Tags

TagsTypeUnitDescription
ingressUidstring-Ingress 리소스의 고유 ID
ingressNamestring-Ingress 리소스의 이름
ingressNamespacestring-Ingress 리소스의 네임스페이스
creationTimeMillisLongmilliseconds(ms)Ingress 리소스 생성 시간
ingressClassNamestring-Ingress 클래스 이름
ingressLoadBalancerIpsList-Ingress 로드밸런서 IP

Fields

FieldTypeUnitDescription
hostList-Ingress 리소스가 수신하는 호스트 이름
(*인 경우 모든 호스트에 대해 적용됨)
pathList-특정 호스트 하위에서 요청 경로
backendServiceNameList-백엔드로 전달되는 서비스의 이름
backendServicePortList-백엔드로 전달되는 포트 번호
backendServiceUidList-백엔드로 전달되는 서비스의 uid
pathTypeList-경로 일치 방식 (예, Prefix, Exact)

쿠버네티스 크론잡(kube_cronjob) 지표

디플로이먼트 리소스에 대한 메타데이터와 상태 정보를 태그로 수집합니다.

Tags

TagsTypeUnitDescription
cronJobNamestring-CronJob의 이름 (metadata.name)
namespacestring-CronJob이 속한 네임스페이스 (metadata.namespace)
cronJobUidstring-CronJob의 UID (metadata.uid)

Fields

FieldTypeUnitDescription
lastScheduleTimestring-CronJob이 마지막으로 스케줄된 시간 (status.lastScheduleTime)
lastSuccessfulTimestring-CronJob이 마지막으로 성공한 시간 (status.lastSuccessfulTime)
cronJobSpecSchedulestring-CronJob의 스케줄 주기 (spec.schedule, 예: "0 */5 * * *" )
successfulJobsHistoryLimitintegercount성공한 Job을 보존하는 최대 개수 (spec.successfulJobsHistoryLimit)
failedJobsHistoryLimitintegercount실패한 Job을 보존하는 최대 개수 (spec.failedJobsHistoryLimit)
concurrencyPolicystring-동시 실행 정책 (Allow, Forbid, Replace) (spec.concurrencyPolicy)
startingDeadlineSecondsintegertime(seconds)스케줄된 시간이 지난 후에도 Job을 실행할 수 있는 최대 지연 시간 (spec.startingDeadlineSeconds)

쿠버네티스 디플로이먼트(kube_deployment) 지표

디플로이먼트 리소스에 대한 메타데이터와 상태 정보를 태그로 수집합니다.

Tags

TagsTypeUnitDescription
deployNameString-디플로이먼트의 이름 (metadata.name)
namespaceString-디플로이먼트가 속한 네임스페이스 (metadata.namespace)
deployUidString-디플로이먼트의 UID (metadata.uid)

Fields

FieldTypeUnitDescription
deployReadyReplicasintegercount준비(Ready) 상태인 파드 수 (status.readyReplicas)
deployTotalReplicasintegercount설정된 전체 파드 수 (spec.replicas)
deployUpdatedReplicasintegercount최신 버전으로 갱신된 파드 수 (status.updatedReplicas)
deployAvailableReplicasintegercount사용 가능한 상태의 파드 수 (status.availableReplicas)
deployUnavailableReplicasintegercount사용 불가능한 상태의 파드 수 (status.unavailableReplicas)
deployCreationTimeintegermilliseconds(ms)디플로이먼트 생성 시각 (Unix Epoch milliseconds, metadata.creationTimestamp)
deploySelectorstring-디플로이먼트의 선택자 라벨 (spec.selector.matchLabels)
deployStrategystring-디플로이먼트의 배포 전략 (spec.strategy.type, 예: RollingUpdate, Recreate)

쿠버네티스 데몬셋(kube_daemonset) 지표

데몬셋 리소스에 대한 메타데이터와 상태 정보를 태그로 수집합니다.

Tags

TagsTypeUnitDescription
daemonSetNamestring-DaemonSet의 이름 (metadata.name)
namespacestring-DaemonSet이 소속된 네임스페이스 (metadata.namespace)
daemonSetUidstring-DaemonSet의 UID (metadata.uid)
creationTimeintegermilliseconds(ms)DaemonSet 생성 시각 (metadata.creationTimestamp)
agestring-DaemonSet 생성 이후 경과 시간

Fields

FieldTypeUnitDescription
currentNumberScheduledintegercount현재 스케줄된 파드 수 (status.currentNumberScheduled)
desiredNumberScheduledintegercount기대하는 파드 수 (status.desiredNumberScheduled)
numberReadyintegercountReady 상태인 파드 수 (status.numberReady)
numberAvailableintegercount사용 가능한 파드 수 (status.numberAvailable)
numberMisscheduledintegercount잘못 스케줄된 파드 수 (status.numberMisscheduled)
updatedNumberScheduledintegercount업데이트된 파드 수 (status.updatedNumberScheduled)
daemonSetSelectorstring-Selector 라벨 (spec.selector.matchLabels)

쿠버네티스 레플리카셋(kube_replicaset) 지표

레플리카셋(ReplicaSet) 리소스에 대한 메타데이터와 상태 정보를 태그로 수집합니다.

Tags

TagsTypeUnitDescription
replicaSetNamestring-ReplicaSet의 이름 (metadata.name)
namespacestring-ReplicaSet이 소속된 네임스페이스 (metadata.namespace)
replicaSetUidstring-ReplicaSet의 UID (metadata.uid)
ownerKindstring-상위 오브젝트 종류 (예: Deployment) (metadata.ownerReferences.kind)
ownerNamestring-상위 오브젝트 이름 (metadata.ownerReferences.name)
ownerUid string-상위 오브젝트 UID (metadata.ownerReferences.uid)
creationTimeintegermilliseconds(ms)ReplicaSet 생성 시각 (metadata.creationTimestamp)
agestring-ReplicaSet 생성 이후 경과 시간

Fields

FieldTypeUnitDescription
replicaSetReplicasintegercount설정된 파드 수 (spec.replicas)
replicaSetReadyReplicasintegercountReady 상태 파드 수 (status.readyReplicas)
replicaSetAvailableReplicasintegercount사용 가능한 파드 수 (status.availableReplicas)
replicaSetSelectorstring-Selector 라벨 (spec.selector.matchLabels)

쿠버네티스 스테이트풀셋(kube_statefulSet) 지표

스테이트풀셋(StatefulSet) 리소스에 대한 메타데이터와 상태 정보를 태그로 수집합니다.

Tags

TagsTypeUnitDescription
statefulSetNamestring-StatefulSet의 이름 (metadata.name)
namespacestring-StatefulSet이 소속된 네임스페이스 (metadata.namespace)
statefulSetUidstring-StatefulSet의 UID (metadata.uid)
creationTimeintegermilliseconds(ms)StatefulSet 생성 시각 (metadata.creationTimestamp)
agestring-StatefulSet 생성 이후 경과 시간

Fields

FieldTypeUnitDescription
replicasintegercount설정된 파드 수 (spec.replicas)
readyReplicasintegercountReady 상태 파드 수 (status.readyReplicas)
currentReplicasintegercount현재 생성된 파드 수 (status.currentReplicas)
updatedReplicasintegercount업데이트된 파드 수 (status.updatedReplicas)
statefulSetSelectorstring-Selector 라벨 (spec.selector.matchLabels)

쿠버네티스 잡(kube_job) 지표

디플로이먼트 리소스에 대한 메타데이터와 상태 정보를 태그로 수집합니다.

Tags

TagsTypeUnitDescription
jobNamestring-Job의 이름 (metadata.name)
namespacestring-Job이 소속된 네임스페이스 (metadata.namespace)
jobUidstring-Job의 UID (metadata.uid)
ownerKindstring-상위 오브젝트의 종류 (예: CronJob)
ownerNamestring-상위 오브젝트의 이름
ownerUid string-상위 오브젝트의 UID

Fields

FieldTypeUnitDescription
succeededPodsintegercount성공한 파드 수 (status.succeeded)
failedPodsintegercount실패한 파드 수 (status.failed)
completionTimestring-Job이 완료된 시간 (status.completionTime.toString())
parallelismintegercount동시에 실행되도록 설정된 파드 수 (spec.parallelism)
completionsintegercountJob이 완료되기 위해 필요한 파드 실행 횟수 (spec.completions)
backoffLimitintegercount실패 시 재시도 가능한 최대 횟수 (spec.backoffLimit)
activeDeadlineSecondsintegerseconds(sec)Job이 실행될 수 있는 최대 시간 (spec.activeDeadlineSeconds)