Kubernetes Pod 모니터링
이제 모든 관련 문서를 확인했습니다. 상세한 답변을 드리겠습니다.
exemONE Kubernetes Pod 모니터링 상세 가이드
exemONE의 Kubernetes > Pod 메뉴에서 Kubernetes 클러스터의 파드를 종합적으로 모니터링할 수 있습니다. 화면은 Filters, Pod Card, Pod Map, Pod List로 구성되며, 각 파드를 클릭하면 Pod Detail Slide에서 8개 탭의 상세 정보를 확인할 수 있습니다.
참고 문서: Kubernetes Pod

| 구성 요소 | 설명 |
|---|---|
| Global Time | 모니터링 재생 여부를 선택 (실시간 데이터만 조회 가능) |
| Filters | 파드 화면의 필터 항목 선택 |
| Pod Card | 파드의 상태 별 개수를 카드 형태로 표시 |
| Pod Map | 모니터링 대상 별 상태를 헥사 맵으로 표시 |
| Pod List | 파드 목록을 Grid 형태로 표시 |
1. Filters (필터)
참고 문서: Kubernetes Pod Filters

| 항목 | 설명 |
|---|---|
| Cluster | 클러스터 하위의 필터 항목을 보여줍니다. 접기/펼치기 가능합니다. |
| Search | 필터 항목 검색 기능입니다. 대소문자 구분 없이 입력하며, 검색 결과가 없을 경우 'No data.'를 보여줍니다. |
| Filter Item | 항목을 전체 선택한 상태로 보여줍니다. 필터 항목 선택에 따라 파드 화면이 변경되며, OR 조건으로 데이터를 보여줍니다. 접기/펼치기 가능합니다. |
2. Pod Card (파드 카드)
참고 문서: Kubernetes Pod Card
파드의 상태 별 개수를 카드 형태로 보여주는 화면입니다.

| 항목 | 설명 |
|---|---|
| Total | 전체 파드 개수를 보여줍니다. 클릭 시 파드 맵과 파드 목록에서 전체 파드를 보여줍니다. |
| Pending | Pending 상태의 파드 개수를 보여줍니다. 클릭 시 해당 상태의 파드만 필터링합니다. |
| Running | Running 상태의 파드 개수를 보여줍니다. 클릭 시 해당 상태의 파드만 필터링합니다. |
| Succeeded | Succeeded 상태의 파드 개수를 보여줍니다. 클릭 시 해당 상태의 파드만 필터링합니다. |
| Failed | Failed 상태의 파드 개수를 보여줍니다. 클릭 시 해당 상태의 파드만 필터링합니다. |
| Unknown | Pod와 통신할 수 없는 파드 개수를 보여줍니다. |
3. Pod Map (파드 맵)
참고 문서: Kubernetes Pod Map
파드의 개별 상태를 헥사 맵(Hex Map) 으로 보여주는 화면입니다.

헥사 상태 색상
| 상태 | 표시 |
|---|---|
| Pending | ![]() |
| Running | ![]() |
| Succeeded | ![]() |
| Failed | ![]() |
| Unknown | ![]() |
마우스 오버 시 해당 파드의 다음 데이터를 보여줍니다:
- Namespace
- Containers
- Controlled by
- Node
- QoS
- Age
- Status
- Alert
클릭 시 해당 파드의 Pod Detail Slide가 열립니다.
4. Pod List (파드 목록)
참고 문서: Kubernetes Pod List
파드 목록을 Grid 형태로 보여주는 화면입니다.

기능
| 항목 | 설명 |
|---|---|
| Search | Pod Name을 검색합니다. 대소문자 구분 없이 입력합니다. |
| Option | 클릭 시 Grid의 옵션(컬럼 설정 등)을 보여줍니다. |
Grid 수집 항목
| 항목 | 설명 |
|---|---|
| Pod Name | 파드의 이름 (클릭 시 Pod Detail Slide 오픈) |
| Namespace | 파드가 배포되어 있는 Namespace의 이름 |
| Containers | 파드 내에 있는 Containers 수 |
| Restarts Count | 파드의 Restarts Count 수 |
| Controlled By | 파드의 Controller Type |
| Node | 파드가 배포되어 있는 Node의 이름 |
| QoS | 파드의 QoS |
| Age | 파드의 Age (가동 시간) |
| Status | 파드의 현재 Status |
| CPU Usage/Limits (%) | 파드의 Limits 대비 CPU Usage |
| Mem Usage/Limits (%) | 파드의 Limits 대비 Mem Usage |
5. Pod Detail Slide (파드 상세 슬라이드)
참고 문서: Kubernetes Pod Detail Slide
Pod List 또는 Pod Map에서 파드를 클릭하면 열리는 상세 화면입니다. 8개 탭으로 구성됩니다.

| 구성 요소 | 설명 |
|---|---|
| Title | 선택한 파드의 이름 |
| Slide History | 슬라이드 이력 탐색 |
| Close | 클릭 시 디테일 슬라이드 닫기 |
| Tab | Information, Metric, Event, YAML, Log, Container, PVC, Alert |
5.1 Information 탭
참고 문서: Kubernetes Pod Information
파드의 기본 정보를 확인하는 화면입니다.

| 항목 | 설명 |
|---|---|
| Pod Name | 파드 이름 |
| Cluster | 파드가 배포되어 있는 클러스터 이름 |
| Error reason | 에러 원인 (파드에 Error가 발생한 경우 표시) |
| Node | 파드가 배포되어 있는 노드 이름 |
| Namespace | 파드가 배포되어 있는 네임스페이스 이름 |
| Owner References | 파드가 속한 Owner의 정보 |
| Service | 파드와 연결되어 있는 Service |
| Pod IP | 파드가 사용 중인 IP |
| Status | 파드의 현재 상태 |
| Alert | 마지막 발생된 알람 정보 |
| Phase | 파드의 Lifecycle 단계 |
| Restart Count | 파드의 재시작 수 |
| Ready | 파드의 Ready 상태 |
| Age | 파드의 동작 시간 |
| Label | 파드가 가지고 있는 Label |
5.2 Metric 탭
참고 문서: Kubernetes Pod Metric
파드의 성능 지표를 차트로 확인하는 화면입니다. Default 최근 5분 데이터를 보여줍니다.

| 지표 | 설명 |
|---|---|
| CPU Used | 파드의 CPU 사용량 |
| CPU Throttling Count | CPU Throttling 발생 횟수 |
| CPU Throttling | CPU Throttling 상태 지속 시간 |
| Memory Usage | 파드의 메모리 사용량 |
| Memory Workingset | 파드의 Workingset 메모리 |
| Memory OOM Event | 파드의 OOM(Out of Memory) 이벤트 |
| Network Receive | 네트워크 수신량 |
| Network Transmit | 네트워크 송신량 |
| Network Receive Errors | 네트워크 수신 에러 수 |
| Network Transmit Errors | 네트워크 송신 에러 수 |
| Disk Read | 디스크 읽기량 |
| Disk Write | 디스크 쓰기량 |
5.3 Event 탭
참고 문서: Kubernetes Pod Event
파드 관련 Kubernetes 이벤트를 확인하는 화면입니다. Default 최근 10분 데이터를 보여줍니다.

| 항목 | 설명 |
|---|---|
| Type | 발생한 이벤트의 Type |
| Create Time | 이벤트가 발생한 시간 |
| Kind | 이벤트의 Kind |
| Name | 해당 Kind의 이름 |
| Namespace | 이벤트가 발생한 Namespace |
| Reason | 이벤트의 Reason |
| Message | 발생한 이벤트 상세 메세지 |
5.4 YAML 탭
참고 문서: Kubernetes Pod YAML
해당 파드의 YAML 정의를 확인하는 화면입니다.

| 항목 | 설명 |
|---|---|
| YAML | 파드에 적용된 YAML을 보여줍니다 |
| Copy | 클릭 시 텍스트가 복사됩니다 |
5.5 Log 탭
참고 문서: Kubernetes Pod Log
파드의 로그를 확인하는 화면입니다. 다양한 로그 검색 기능을 제공합니다.

| 기능 | 설명 |
|---|---|
| Radio Button | 검색할 로그 선택: Search current log (최근 로그) / Select Time (특정 시간 로그, 클릭 시 Time 활성화) |
| Toggle | 최근 로그 출력 방식: Current Head Log (앞부분) / Current Tail Log (뒷부분) |
| Check box | 이전 종료된 컨테이너의 로그 출력 여부 선택 |
| Line | 로그 출력 라인 수 설정 |
| Get | 현재 로그 목록 데이터 조회 |
| Copy | 텍스트 복사 |
| Expansion | 새로운 Current Log 창 생성 |
5.6 Container 탭
참고 문서: Kubernetes Pod Container
파드 내 컨테이너 목록을 확인하는 화면입니다.

Grid 수집 항목
| 항목 | 설명 |
|---|---|
| Container Name | 컨테이너의 이름 (클릭 시 컨테이너 디테일 슬라이드 오픈) |
| Status | Container의 현재 Status |
| Alert | 마지막 발생된 알람 정보 |
| vCore | vCore 개수 |
| CPU Limit | Container의 CPU Limit |
| CPU Usage/Limit(%) | Container의 CPU Limit 대비 사용량 |
| CPU Usage/Node Alloc(%) | Node의 할당된 사용량 대비 CPU Usage |
| Memory Limit | Container의 Memory Limit |
| Mem Usage/Limit(%) | Container의 Memory Limit 대비 사용량 |
| Mem Usage/Node Alloc(%) | Node의 할당된 사용량 대비 Mem Usage |
| RX | Container의 네트워크 수신(RX) |
| TX | Container의 네트워크 송신(TX) |
| Image | Container의 Image |
| Age | Container의 Age |
5.7 PVC 탭
참고 문서: Kubernetes Pod PVC
파드에 연결된 PVC(Persistent Volume Claim)를 확인하는 화면입니다.

Grid 수집 항목
| 항목 | 설명 |
|---|---|
| PVC Name | PVC 이름 |
| Cluster | PVC가 생성되어 있는 Cluster 이름 |
| Namespace | PVC가 생성되어 있는 Namespace 이름 |
| Storage Class Name | PVC의 Storage Class 이름 |
| Finalizers | PVC의 Finalizers |
| Storage | PVC의 스토리지 크기 |
| Age | PVC의 생성 시간 |
| Access Modes | PVC의 Access Mode |
| Status | PVC의 상태 |
| Labels | PVC의 레이블 |
5.8 Alert 탭
참고 문서: Kubernetes Pod Alert
파드 관련 알람 이력을 확인하는 화면입니다.

| 항목 | 설명 |
|---|---|
| Rule Name | 룰의 이름 (클릭 시 Alert Detail Slide 오픈) |
| Alert Name | Alert 이름 |
| Target | Alert 발생 타겟 |
| Last Triggered | 최근 Alert 발생 시간 |
| Rule Type | 룰의 유형 |
| Last Alert | 마지막 Alert 항목 (Normal / Warning / Critical) |
6. Pod OS 리소스 사용률(Usage) 지표
참고 문서: Pod OS 리소스 사용률 지표 가이드
exemONE K8S Agent에서 수집하는 Pod 리소스 사용률 산출 방식입니다.
6.1 Pod CPU Usage
- 설명: limit 값이 설정된 경우에만 사용 가능합니다. limit 값이 없는 경우
Pod CPU Usage By Node Allocatable지표 사용을 권장합니다. - 계산식:
cpu_usage / cpu_limit - v3.0.5 이후 변경 사항:
- limit을 설정하지 못하면 값은 0으로 처리됩니다.
- 일부 컨테이너만 limit이 설정되어 있는 경우, 해당 Pod는 unlimit(0)으로 처리됩니다.
6.2 Pod Memory Usage
- 설명: limit 값이 설정된 경우에만 사용 가능합니다. limit 값이 없는 경우
Pod Memory Usage By Node Allocatable지표 사용을 권장합니다. - 계산식:
memory_working_set / memory_limit - v3.0.5 이후 변경 사항: CPU와 동일. 종료된 파드 컨테이너는 캐싱하지 않습니다.
6.3 Pod CPU Usage By Node Allocatable (v3.0.5+)
- 계산식:
(cpu usage * 100) / alloc_cpu - limit의 합이 node의 allocate 값을 초과할 경우, limit의 합은 node의 allocate 값으로 처리됩니다.
6.4 Pod Memory Usage By Node Allocatable (v3.0.5+)
- 계산식:
(memory usage * 100) / alloc_memory - limit의 합이 node의 allocate 값을 초과할 경우, limit의 합은 node의 allocate 값으로 처리됩니다.
7. Pod CPU/Memory Limit, Request 수집 방식
Pod List에 출력되는 CPU Request, CPU Limit, Memory Request, Memory Limit 값은 Pod 내의 모든 Container에 대한 합으로 계산됩니다.

확인 방법:
- Pod Detail > YAML 탭: 각 Container의 리소스 사용량 확인 (initcontainer, containers > resources 하위)

- Pod Detail > Container 탭: 각 Container의 리소스 사용량 확인

- Container Detail > Information 탭: 개별 Container의 리소스 사용량 확인

8. Pod 상태 알람 Metric
K8S Pod 상태 알람을 위해 추가된 3건의 metric입니다:
| Metric | 설명 | 단위 |
|---|---|---|
| Pod Container Restart Count | 파드 내에 속한 컨테이너의 restart count 합계 수집 | count |
| Pod Abnormal Phase Period | 파드의 비정상 phase가 지속된 시간값 수집 | sec |
| Pod Normal Phase Period | 파드의 정상 phase가 지속된 시간값 수집 | sec |
알람 설정 예시
Pod 재시작 횟수가 1시간 동안 5회/10회 이상인 경우 알람 발생 (warning >=5count, critical >= 10count)
- 메트릭:
Pod Container Restart Count
- 메트릭:
Pod 상태가 2분/3분 이상 RUNNING이 아닌 경우 알람 발생 (warning >=120sec, critical >= 180sec)
- 메트릭:
Pod Abnormal Phase Period
- 메트릭:
9. Pod CLI 및 삭제 요청 권한
참고 문서: Pod CLI 및 삭제 요청 권한 설정 가이드
Pod Detail 화면에서 Pod CLI 및 삭제 요청 기능을 사용하려면 k8s-agent에 해당 권한이 부여되어야 합니다.

K8S-Agent ClusterRole 권한 설정 (exem-k8s-agent.yaml)
- apiGroups:
- ""
resources:
- pods/exec
verbs:
- create
- apiGroups:
- ""
resources:
- pods
verbs:
- delete
exemONE 역할 권한 기본 설정
| 역할 | 기본 권한 |
|---|---|
| Master | 권한 있음 (기본값) |
| Admin | 권한 있음 (체크박스 선택 상태) |
| User | 권한 없음 (체크박스 해제 상태) |
- front v3.0.411.39, api v3.0.411.37 버전부터 적용
- 역할 권한은 관리 화면에서 수정 가능
10. Pod Event 알람 발생 조건
수집되는 이벤트의 카운트가 아닌 실제 이벤트의 카운트 차이 값(delta_count) 을 계산하여 이벤트 알람을 발생합니다.
- delta_count: 직전 이벤트 대비 늘어난 이벤트 카운트 (agent → receiver에서 전달한 값)
- check_count: 집계범위(Aggregation Scope) 내에서 들어온 이벤트에 대한 delta_count의 합 (알람 발생 기준 카운트)
11. 수집 항목 종합 정리
| 카테고리 | 수집 항목 |
|---|---|
| 파드 상태 | Status (Pending/Running/Succeeded/Failed/Unknown), Phase, Alert, Ready, Restart Count, Age |
| 기본 정보 | Pod Name, Cluster, Namespace, Node, Owner References, Service, Pod IP, Error reason, Label, QoS, Controlled By, Containers 수 |
| Metric 성능 지표 (12개) | CPU Used, CPU Throttling Count, CPU Throttling, Memory Usage, Memory Workingset, Memory OOM Event, Network Receive, Network Transmit, Network Receive Errors, Network Transmit Errors, Disk Read, Disk Write |
| 리소스 사용률 | CPU Usage/Limits (%), Mem Usage/Limits (%), Pod CPU Usage By Node Allocatable, Pod Memory Usage By Node Allocatable |
| 알람 전용 Metric (3개) | Pod Container Restart Count, Pod Abnormal Phase Period, Pod Normal Phase Period |
| Container 탭 지표 | Container Name, Status, Alert, vCore, CPU Limit, CPU Usage/Limit(%), CPU Usage/Node Alloc(%), Memory Limit, Mem Usage/Limit(%), Mem Usage/Node Alloc(%), RX, TX, Image, Age |
| PVC 탭 지표 | PVC Name, Cluster, Namespace, Storage Class Name, Finalizers, Storage, Age, Access Modes, Status, Labels |
| 이벤트 정보 | Type, Create Time, Kind, Name, Namespace, Reason, Message |
| 알람 정보 | Rule Name, Alert Name, Target, Last Triggered, Rule Type, Last Alert |
| YAML | 파드의 Kubernetes YAML 정의 |
12. 접근 방법
- exemONE에 로그인합니다.
- 좌측 메뉴에서 Kubernetes > Pod를 클릭합니다.
- Filters에서 모니터링할 Cluster 및 필터 항목을 선택합니다.
- Pod Card에서 상태별 파드 수(Total, Pending, Running, Succeeded, Failed, Unknown)를 확인합니다.
- Pod Map(헥사맵)에서 전체 파드의 시각적 상태를 파악하고, 마우스 오버로 상세 정보를 확인합니다.
- Pod List에서 각 파드의 Namespace, Containers, Restarts Count, CPU/Mem Usage 등 핵심 지표를 Grid 형태로 확인합니다.
- 특정 파드를 클릭하면 Pod Detail Slide가 열리며, 8개 탭(Information, Metric, Event, YAML, Log, Container, PVC, Alert)을 통해 상세 모니터링이 가능합니다.




