쿠버네티스 메트릭
쿠버네티스 모니터링이 수집하는 메 트릭을 카테고리별로 정리했습니다. 각 카테고리의 Tags(차원)와 Fields(측정값)를 확인할 수 있습니다.
컨테이너(container) 메트릭
container 카테고리는 컨테이너의 pod에 설정된 모든 사용자 정의 라벨들을 태그로 수집합니다.
- 대상: 클러스터 프로젝트, 네임스페이스 프로젝트
- 수집 간격: 5초
- 통계 데이터: 5분
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| 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
| Field | Type | Unit | Shortname/Name/Description |
|---|---|---|---|
| blkio_rbps | - | byte | IoReadBytes |
| Container Block I/O Read Byte | |||
| 컨테이너 전체 블럭 디바이스의 초당 읽은 바이트 합 | |||
| blkio_riops | - | count | IoReadIops |
| Container Block I/O Read IOPS | |||
| 컨테이너 전체 블럭 디바이스의 초당 읽은 건수 합 | |||
| blkio_wbps | - | byte | IoWriteBytes |
| Container Block I/O Write Byte | |||
| 컨테이너 전체 블럭 디바이스의 초당 쓴 바이트 합 | |||
| blkio_wiops | - | count | IoWriteIops |
| Container Block I/O Write IOPS | |||
| 컨테이너 전체 블럭 디바이스의 초당 쓴 건수 합 | |||
| cpu_per_quota | - | percent | CpuByLimit |
| Container CPU Usage by Limit(%) | |||
| CPU Limit 기준 CPU 전체 사용률 | |||
| cpu_quota | - | millicores | CpuLimit |
| Container CPU Limit (core) | |||
| 컨테이너 CPU Limit 할당량 - Limit 미설정인 경우 컨테이너가 작동 중인 해당 노드의 CPU 전체 코어가 밀리코어 단위로 표시됨 | |||
| cpu_quota_percent | - | percent | CpuLimitByNode |
| Container CPU Limit by Node(%) | |||
| 노드 CPU 대비 컨테이너 CPU Limit 할당량 - Limit 미설정인 경우 컨테이너가 작동 중인 해당 노드의 CPU 전체 코어가 퍼센트로 표시됨 | |||
| cpu_sys | - | percent | CpuSysByNode |
| Container CPU Sys Usage by Node(%) | |||
| 노드 CPU 대비 컨테이너 CPU System 사용률 | |||
| cpu_throttledperiods | - | count | CpuThrottledCnt |
| Container CPU Throttling Count | |||
| 컨테이너 CPU Throttled 건수 | |||
| cpu_throttledtime | - | nanosecond(ns) | CpuThrottledTime |
| Container CPU Throttling Time | |||
| 컨테이너 CPU Throttled 시간 | |||
| cpu_total | - | percent | CpuByNode |
| Container CPU Usage by Node(%) | |||
| 노드 CPU 대비 컨테이너 CPU 사용률 | |||
| cpu_total_milli | - | millicores | CpuTotUsage |
| Container CPU Usage (millicore) | |||
| 컨테이너 CPU 사용량 | |||
| cpu_user | - | percent | CpuUserByNode |
| Container CPU User Usage by Node(%) | |||
| 노드 CPU 대비 컨테이너 CPU User 사용률 | |||
| cpu_request | - | millicores | CpuRequest |
| Container CPU Request (core) | |||
| 컨테이너 CPU 요청 | |||
| cpu_per_request | - | percent | CpuByRequest |
| Container CPU Usage by Request(%) | |||
| 컨테이너 CPU 요청 대비 사용률 = cpu_total_milli / cpu_request * 100 | |||
| mem_failcnt | - | count | MemFailCnt |
| Container Memory Failure Count | |||
| 컨테이너 메모리 Limit 도달 건수 | |||
| mem_limit | - | byte | MemLimit |
| Container Memory Limit (byte) | |||
| 컨테이너 메모리 Limit 크기 | |||
| mem_maxusage | - | byte | MemMaxUsage |
| Container Memory Max Usage (byte) | |||
| 컨테이너 메모리 최대 사용량 기록값 - 자세한 내용은 하단 안내를 참고하세요. | |||
| mem_percent | - | percent | MemWsByLimit |
| Container Memory Working Set by Limit(%) | |||
| 컨테이너 메모리 Limit 기준 working set 사용량 = mem_working_set / mem_limit * 100 | |||
| mem_totalcache | - | byte | MemTotCache |
| Container Memory Total Cache (byte) | |||
| 컨테이너 전체 캐시 크기 | |||
| mem_totalpgfault | - | count | MemTotPageFaultCnt |
| Container Memory Total Page Fault Count | |||
| 컨테이너 Page Fault 횟수 | |||
| mem_totalrss | - | byte | MemTotRss |
| Container Memory Total RSS (byte) | |||
| 컨테이너 RSS 메모리 전체 크기 | |||
| mem_totalrss_percent | - | percent | MemTotRssByLimit |
| Container Memory Total RSS by Limit (%) | |||
| 컨테이너 RSS 메모리 전체 사용률 | |||
| mem_totalunevictable | - | byte | MemTotUnevictable |
| Container Memory Total Unevictable (byte) | |||
| 컨테이너 Unevictable Memory 전체 크기 | |||
| mem_usage | - | byte | MemUsage |
| Container Memory Usage (byte) | |||
| 컨테이너 메모리 사용량 | |||
| mem_working_set | - | byte | MemWs |
| Container Memory Working Set (byte) | |||
| 컨테이너 메모리 working set = mem_usage - inactive file | |||
| mem_working_set_percent | - | percent | MemWsByLimit |
| Container Memory Working Set by Limit (%) | |||
| 컨테이너 메모리 Limit 기준 working set 사용량 = mem_working_set / mem_limit * 100 | |||
| mem_request | - | byte | MemRequest |
| Container Memory Request (byte) | |||
| 컨테이너 메모리 Request 크기 | |||
| mem_per_request | - | percent | MemWsByRequest |
| Container Memory Working Set by Request (%) | |||
| 컨테이너 메모리 Request 기준 working set 사용량 = mem_working_set / mem_request * 100 | |||
| network_rbps | - | byte | NetRxBytes |
| Container Network Receive Byte | |||
| 컨테이너 전체 블럭 디바이스의 초당 읽기 바이트 합 | |||
| network_rdropped | - | byte | NetRxDropped |
| Container Network Receive Dropped | |||
| 컨테이너 네트워크 수신 dropped 건수 | |||
| network_rerror | - | byte | NetRxError |
| Container Network Receive Error | |||
| 컨테이너 네트워크 수신 에러 건수 | |||
| network_riops | - | byte | NetRxIops |
| Container Network Receive IOPS | |||
| 컨테이너 네트워크 수신 건수 | |||
| network_wbps | - | byte | NetTxByes |
| Container Network Transmit Byte | |||
| 컨테이너 네트워크 송신 데이터 크기 | |||
| network_wdropped | - | count | NetTxDropped |
| Container Network Transmit Dropped | |||
| 컨테이너 네트워크 송신 dropped 건수 | |||
| network_werror | - | count | NetTxError |
| Container Network Transmit Error | |||
| 컨테이너 네트워크 송신 에러 건수 | |||
| network_wiops | - | count | NetTxIops |
| Container Network Transmit IOPS | |||
| 컨테이너 네트워크 송신 건수 | |||
| node_cpu | - | percent | ConNodeCpu |
| Container Work Node CPU Usage (%) | |||
| 컨테이너가 실행 중인 노드의 CPU 사용량 | |||
| node_mem | - | percent | ConNodeMem |
| Container Work Node Memory Usage (%) | |||
| 컨테이너가 실행 중인 노드의 메모리 사용량 | |||
| phase | string | - | Pod 라이프사이클 ① PENDING ② RUNNING ③ SUCCEEDED ④ FAILED ⑤ UNKNOWN |
| restart_count | integer | - | ConRestartCnt |
| Container Restart Count | |||
| 컨테이너 재시작 횟수 | |||
| state | integer | - | ConState |
| Container Current State | |||
| 컨테이너 상태 코드 ① RUNNING = 114 ② PAUSE = 112 ③ RESTARTING = 101 ④ OOMKILLED = 111 ⑤ DEAD = 100 ⑥ WAITING = 119 | |||
| status | string | - | 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
| Tag | Type | Unit | Description |
|---|---|---|---|
| nodeName | - | - | 노드 이름 |
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| allocatable_cpu | - | millicores | 노드 할당 가능한 CPU량 |
| allocatable_memory | - | byte | 노드 할당 가능한 메모리량 |
| allocatable_pods | integer | - | 노드 할당 가능한 Pod 수 |
| limit_cpu | - | millicores | 노드 CPU Limit 합계 |
| limit_memory | - | byte | 노드 메모리 Limit 합계 |
| pods | integer | - | 노드 Pod 총 개수 |
| request_cpu | - | millicores | 노드 CPU Request 합계 |
| request_memory | - | byte | 노드 메모리 Request 합계 |
쿠버네티스 노드 성능(kube_node_perf) 메트릭
kube_node_perf 카테고리는 노드에 스케줄링된 모든 Pod/Container의 리소스 사용량과 할당량을 합산하여 노드 단위 성능 지표를 수집합니다.
- 대상: 클러스터 프로젝트, 네임스페이스 프로젝트
- 수집 간격: 5초
- 통계 데이터: 5분, 1시간
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| onode | - | - | 노드 해시값 |
| onodeName | - | - | 노드 이름 |
| agentPcode | - | - | 에이전트 프로젝트 코드 |
| agentOid | - | - | 에이전트 고유 ID |
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| cpuRequest | long | millicores | 노드 내 전체 컨테이너 CPU Request 합계 |
| cpuLimit | long | millicores | 노드 내 전체 컨테이너 CPU Limit 합계 |
| cpuTotal | long | millicores | 노드 내 전체 컨테이너 CPU 사용량 합계 |
| cpuPerRequest | float | percent | 노드 CPU Request 대비 실제 CPU 사용률 |
| cpuPerLimit | float | percent | 노드 CPU Limit 대비 실제 CPU 사용률 |
| memoryRequest | long | byte | 노드 내 전체 컨테이너 Memory Request 합계 |
| memoryLimit | long | byte | 노드 내 전체 컨테이너 Memory Limit 합계 |
| memTotal | long | byte | 노드 내 전체 컨테이너 Memory 사용량 합계 |
| memoryPerRequest | float | percent | 노드 Memory Request 대비 실제 Memory 사용률 |
| memoryPerLimit | float | percent | 노드 Memory Limit 대비 실제 Memory 사용률 |
쿠버네티스 이벤트(kube_event) 메트릭
kube_event 카테고리는 클러스터 프로젝트의 경우 클러스터 전체를 대상으로 데이터를 수집하며 네임스페이스 프로젝트는 해당 네임스페이스에서 발생한 이벤트에 대해서만 수집합니다.
- 대상: 클러스터 프로젝트, 네임스페이스 프로젝트
- 수집 간격: 5초
- 통계 데이터: 5분, 1시간
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| field_path | - | - | Field Path |
| kind | - | - | 이벤트가 발생한 오브젝트 종류 |
| name | - | - | 이벤트가 발생한 쿠버네티스 오브젝트명 |
| namespace | - | - | 이벤트가 발생한 네임스페이스명 |
| reason | - | - | 이벤트 발생 사유 |
| type | - | - | 이벤트 유형 - Warning 또는 Normal |
| uid | - | - | UID - 이벤트가 발생한 오브젝트 |
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| action | string | - | 액션 이름 |
| count | - | count | 이벤트 발생 건수 |
| event_time | integer | - | 이벤트 최초 발생 TimeStamp |
| first_timestamp | integer | - | 이벤트 최초 발생 시간 |
| last_timestamp | integer | - | 이벤트 마지막 발생 시간 |
| message | string | - | 이벤트 메시지 |
| reasonFiled | string | - | 이벤트 Reason |
| reporting_component | string | - | 현재 이벤트를 보고하는 컴포넌트 |
| reporting_instance | string | - | 현재 이벤트를 보고하는 인스턴스 |
| series_last_observed_time | integer | - | series last observed time |
쿠버네티스 클러스터(kube_stat) 메트릭
kube_stat 카테고리는 클러스터 프로젝트의 경우 클러스터 전체 대상으로 수집하고 네임스페이스 프로젝트는 해당 네임스페이스와 연관된 오브젝트를 대상으 로만 수집합니다.
- 대상: 클러스터 프로젝트, 네임스페이스 프로젝트
- 수집 간격: 5초
- 통계 데이터: 5분, 1시간
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| name | - | - | kube_stat(고정 값) |
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| 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_pods | integer | - | 할당 가능한 Pod 수 |
| available_pod | integer | - | Phase가 Running 상태인 Pod의 수 |
| desired_pod | integer | - | metadata.ownerReferences 없이 배포된 Pod 수와 쿠버네티스 오브젝트(ReplicaSet, Daemonset, StatefulSet)에 정의된 Desired Pod 수의 합 |
kubectl get pods -A로 조회한 Pod 수와 동일 | |||
| nodes | integer | - | 노드 수 |
| pod_phase_Pending | integer | - | Pending 상태 Pod 수 |
| pod_phase_Running | integer | - | Running 상태 Pod 수 |
| running_containers | integer | - | Running 컨테이너 수 |
| stopped_containers | integer | - | Stopped 컨테이너 수 |
| total_available_cpu | integer | - | 할당 가능한 CPU 총합 |
| total_available_memory | integer | - | 할당 가능한 Memory 총합 |
| total_limit_cpu | - | millicores | Limit CPU 총합 |
| total_limit_memory | - | byte | Limit Memory 총합 |
| total_request_cpu | - | millicores | Request CPU 총합 |
| total_request_memory | - | byte | Request Memory 총합 |
| unavailable_pod | integer | - | Phase가 Running 상태가 아닌(Pending, Failed, Succedded) Pod 수 |
| waiting_containers | integer | - | Waiting Container 수 |
Pod(kube_pod) 메트릭
kube_pod 카테고리는 Pod에 설정된 모든 사용자 정의 라벨들을 태그로 수집합니다.
- 대상: 마스터(클러스터) 프로젝트, 네임스페이스 프로젝트
- 수집 간격: 5초
- 통계 데이터: 5분
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| 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
| Field | Type | Unit | Shortname, Name, Description |
|---|---|---|---|
| blkio_rbps | - | byte | IoReadBytes |
| Pod Block I/O Read Byte | |||
| Pod 전체 블럭 디바이스의 초당 읽은 바이트 합 | |||
| blkio_riops | - | count | IoReadIops |
| Pod Block I/O Read IOPS | |||
| Pod 전체 블럭 디바이스의 초당 읽은 건수 합 | |||
| blkio_wbps | - | byte | IoWriteBytes |
| Pod Block I/O Write Byte | |||
| Pod 전체 블럭 디바이스의 초당 쓴 바이트 합 | |||
| blkio_wiops | - | count | IoWriteIops |
| Pod Block I/O Write IOPS | |||
| Pod 전체 블럭 디바이스의 초당 쓴 건수 합 | |||
| cpu_per_limit | - | percent | CpuByLimit |
| Pod CPU Usage by Limit (%) | |||
| CPU Limit 기준 CPU 전체 사용률 | |||
| cpu_per_request | - | percent | CpuByRequest |
| Pod CPU Usage by Request (%) | |||
| CPU Request 기 준 CPU 전체 사용률 | |||
| cpu_quota_percent | - | percent | CpuLimitByNode |
| Pod CPU Limit by Node (%) | |||
| 노드 CPU 대비 Pod CPU Limit 할당량 - Limit 미설정인 경우 Pod가 작동 중인 해당 노드의 CPU 전체 코어가 퍼센트로 표시됨 | |||
| cpu_sys | - | percent | CpuSysByNode |
| Pod CPU Sys Usage by Node (%) | |||
| 노드 CPU 대비 Pod CPU System 사용률 | |||
| cpu_throttledperiods | - | count | CpuThrottledCnt |
| Pod CPU Throttling Count | |||
| Pod CPU Throttled 건수 | |||
| cpu_throttledtime | - | nanosecond(ns) | CpuThrottledTime |
| Pod CPU Throttling Time | |||
| Pod CPU Throttled 시간 | |||
| cpu_total | - | percent | CpuByNode |
| Pod CPU Usage by Node (%) | |||
| 노드 CPU 대비 Pod CPU 사용률 | |||
| cpu_total_milli | - | millicores | CpuTotUsage |
| Pod CPU Usage (millicore) | |||
| Pod CPU 사용량 | |||
| cpu_user | - | percent | CpuUserByNode |
| Pod CPU User Usage by Node (%) | |||
| 노드 CPU 대비 Pod CPU User 사용률 | |||
| cpu_request | - | millicores | CpuRequest |
| Pod CPU Request (core) | |||
| Pod CPU 요청 | |||
| cpu_per_request | - | percent | CpuByRequest |
| Pod CPU Usage by Request (%) | |||
| Pod CPU 요청 대비 사용률 = cpu_total_milli / cpu_request * 100 | |||
| mem_totalcache | - | byte | MemTotCache |
| Pod Memory Total Cache (byte) | |||
| Pod 전체 캐시 크기 | |||
| mem_totalpgfault | - | count | MemTotPageFaultCnt |
| Pod Memory Total Page Fault Count | |||
| Pod Page Fault 횟수 | |||
| mem_totalrss | - | byte | MemTotRss |
| Pod Memory Total RSS (byte) | |||
| Pod RSS 메모리 전체 크기 | |||
| mem_totalrss_percent | - | percent | MemTotRssByLimit |
| Pod Memory Total RSS by Limit (%) | |||
| Pod RSS 메모리 전체 사용률 | |||
| mem_totalunevictable | - | byte | MemTotUnevictable |
| Pod Memory Total Unevictable (byte) | |||
| Pod Unevictable Memory 전체 크기 | |||
| mem_usage | - | byte | MemUsage |
| Pod Memory Usage (byte) | |||
| Pod 메모리 사용량 | |||
| mem_working_set | - | byte | MemWs |
| Pod Memory Working Set (byte) | |||
| Pod 메모리 working set = mem_usage - inactive file | |||
| memory_request | - | byte | MemRequest |
| Pod Memory Request (byte) | |||
| Pod 메모리 요청량 | |||
| memory_limit | - | byte | MemLimit |
| Pod Memory Limit (byte) | |||
| Pod 메모리 Limit 할당량 | |||
| memory_per_request | - | percent | MemByRequest |
| Pod Memory Working Set By Request (%) | |||
| Pod 메모리 요청량 기준 Working Set 사용량 | |||
| memory_per_limit | - | percent | MemByLimit |
| Pod Memory Working Set By Limit (%) | |||
| Pod 메모리 Limit 기준 Working Set 사용량 | |||
| network_rbps | - | byte | NetRxBytes |
| Pod Network Receive Byte | |||
| Pod 전체 블럭 디바이스의 초당 읽기 바이트 합 | |||
| network_rdropped | - | byte | NetRxDropped |
| Pod Network Receive Dropped | |||
| Pod 네트워크 수신 dropped 건수 | |||
| network_rerror | - | byte | NetRxError |
| Pod Network Receive Error | |||
| Pod 네트워크 수신 에러 건수 | |||
| network_riops | - | byte | NetRxIops |
| Pod Network Receive IOPS | |||
| Pod 네트워크 수신 건수 | |||
| network_wbps | - | byte | NetTxByes |
| Pod Network Transmit Byte | |||
| Pod 네트워크 송신 데이터 크기 | |||
| network_wdropped | - | count | NetTxDropped |
| Pod Network Transmit Dropped | |||
| Pod 네트워크 송신 dropped 건수 | |||
| network_werror | - | count | NetTxError |
| Pod Network Transmit Error | |||
| Pod 네트워크 송신 에러 건수 | |||
| network_wiops | - | count | NetTxIops |
| Pod Network Transmit IOPS | |||
| Pod 네트워크 송신 건수 | |||
| phase | string | - | Phase |
| Pod Current Phase | |||
| Pod 라이프사이클 ① PENDING ② RUNNING ③ SUCCEEDED ④ FAILED ⑤ UNKNOWN |
다음 필드는 내부용으로 예약되었습니다.
| Field | Type | Unit | Description |
|---|---|---|---|
| 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
| Tag | Type | Unit | Description |
|---|---|---|---|
| kind | - | - | 유형 - 클러스터 프로젝트의 경우 cluster 고정 값을 가지며 네임스페이스 프로젝트의 경우 Deployment 또는 ReplicaSet만 수집 |
| name | - | - | 쿠버네티스 자원 이름 - 클러스터 프로젝트는 name 값이 없으며 네임스페이스 프로젝트는 Deployment 또는 ReplicaSet의 이름 |
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| available_pod | integer | - | Phase가 Running 상태인 Pod의 수 |
| desired_pod | integer | - | metadata.ownerReferences 없이 배포된 Pod 수와 쿠버네티스 오브젝트(ReplicaSet, Daemonset, StatefulSet)에 정의된 Desired Pod 수의 합 |
kubectl get pods -A로 조회한 Pod 수와 동일 | |||
| limit_cpu | - | millicores | CPU Limit 사용량 |
| limit_memory | - | byte | Memory Limit 사용량 |
| request_cpu | - | millicores | CPU Request 사용량 |
| request_memory | - | byte | Memory Request 사용량 |
| running_container | integer | - | Running Container 수 |
| stopped_container | integer | - | Stopped Container 수 |
| waiting_container | integer | - | Waiting Container 수 |
쿠버네티스 Horizontal Pod Autoscaler(HPA)(kube_hpa_stat) 메트릭
와탭에서 사용하는 ClusterRole에 HPA가 추가되어야 지표 수집이 시작됩니다.
- 대상: 클러스터 프로젝트
- 수집 간격: 5초
- 통계 데이터: 5분, 1시간
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| name | - | - | HPA 이름 |
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| currentReplicas | integer | count | 현재 레플리카 수 |
| desiredReplicas | integer | count | Desired 레플리카 수 |
| lastScaleTime | integer | count | 마지막으로 스케일이 변경된 TimeStamp |
| maxReplicas | integer | count | 최대 레플리카 수 |
| minReplicas | integer | count | 최소 레플리카 수 |
프로세스(kube_process) 메트릭
쿠버네티스 에이전트 1.7.12 버전 이상이 필요합니다. 에이전트 업데이트에 대한 자세한 내용은 다음 문서를 참조하세요.
노드에 존재하는 쿠버네티스 관련 프로세스를 모니터링할 때 수집됩니다.
-
대상: 클러스터 프로젝트, 네임스페이스 프로젝트
-
수집 간격: 5초
-
통계 데이터: 5분
Tags
| Tag | Type | Unit | Description |
|---|---|---|---|
| ppid | string | - | 부모 프로세스 ID /proc/[pid]/status::PPid |
| pid | string | - | 프로세스 ID /proc/[pid]/status::Pid |
| cmd1 | string | - | 명령어 이름 /proc/[pid]/status::Name |
| cmd2 | string | - | 명령어 라인(전체 명령어와 인자) /proc/[pid]/cmdline |
| user | string | - | 사용자 ID 또는 사용자 이름 /proc/[pid]/status::Uid |
| onodeName | string | - | 프로세스의 노드 이름 컨테이너 시스템 환경변수 ( NODE_IP) |
| createTime | TimeStamp | - | 프로세스 시작 시간 /proc/uptime 통해 계산된 필드 |
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
| cpu | float | percent(%) | CPU 사용률 - /proc/[pid]/stat을 통해 계산된 필드 |
| memory | float | percent(%) | 메모리 사용률 - /proc/[pid]/statm을 통해 계산된 필드 |
| rss | long | byte | 실제 메모리 사용량 (Resident Set Size) - /proc/[pid]/status의 VmRSS |
| uid | string | - | 사용자 ID 또는 사용자 이름 - /proc/[pid]/status의 Uid |
| state | string | - | 프로세스 상태 - /proc/[pid]/status의 State |
| sharedMemory | long | byte | 공유 메모리 크기 - /proc/[pid]/statm을 통해 계산된 필드 |
| openFileDescriptors | integer | - | 프로세스가 열어둔 파일 디스크립터 수 - /proc/[pid]/fd를 통해 계산된 필드 |
| vmSize | long | byte | 가상 메모리 크기 (Virtual Memory Size) - /proc/[pid]/status의 VmSize |
| threads | integer | - | 프로세스가 생성한 스레드 수 - /proc/[pid]/status의 Threads |
Kubernetes 환경의 리눅스 프로세스 상태
리눅스에서 /proc/[pid]/status 파일의 State 필드가 프로세스의 현재 상태를 표시합니다. 각 상태 값의 의미는 다음과 같습니다.
| Code | Description |
|---|---|
| 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
| Field | Type | Unit | Description |
|---|---|---|---|
inActTime | - | milliseconds(ms) | 에이전트가 비활성화된 상태로 유지된 시간 |
isActive | Boolean | - | 현재 에이전트의 활성 상태 여부 (true / false) |
isRestart | Boolean | - | 에이전트가 재시작되었는지 여부 (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
| Tag | Type | Unit | Description |
|---|---|---|---|
ingressUid | string | - | Ingress 리소스의 고유 ID |
ingressName | string | - | Ingress 리소스의 이름 |
ingressNamespace | string | - | Ingress 리소스의 네임스페이스 |
creationTimeMillis | long | milliseconds(ms) | Ingress 리소스 생성 시간 |
ingressClassName | string | - | Ingress 클래스 이름 |
ingressLoadBalancerIps | List | - | Ingress 로드밸런서 IP |
Fields
| Field | Type | Unit | Description |
|---|---|---|---|
host | List | - | Ingress 리소스가 수신하는 호스트 이름 ( *인 경우 모든 호스트에 대해 적용됨) |
path | List | - | 특정 호스트 하위에서 요청 경로 |
backendServiceName | List | - |