개요
이전에 관련해서 쓴 글이 있는데 조금 더 심층적으로 가이드를 해야겠다는 생각이 들어서 이 글을 쓰는 부분이니 도움이 되었으면 한다.
Zabbix에서 Kubernetes를 모니터링하기 위해 Kubernetes Kubelet by HTTP 템플릿을 적용하면, 매크로 {$KUBE.API.URL} 에 지정된 IP를 기준으로
다음과 같은 호스트 그룹이 자동 생성된다.
{$KUBE.API.URL}의 IP : Kubernetes/Components: Kubelet
이 글에서는 해당 데이터를 기반으로 Pod CPU 및 Pod Memory 사용량을 Grafana에서 시각화하는 방법을 다룬다.
대시보드 생성이나 변수(variable) 작성 기본 과정은 이전 시리즈
🧭 「Zabbix 서버 지표를 Grafana로 시각화하기」 를 참고하기 바란다.
– 검색창에서 검색
🧩 Pod Memory 시각화
대상 그룹
- Group: {$KUBE.API.URL}의 IP :
Kubernetes/Components: Kubelet - Item tag:
namespace: 네임스페이스 실제 이름 - Item 예시:
Namespace [argocd] Pod [argocd-applicationset-controller-5867d7759-dksldk] Container [argocd-applicationset-controller]: Working set
이 쿼리를 통해 Pod Memory 사용량(Working set) 을 시각화할 수 있다.
이제 이를 변수로 처리하여 동적 대시보드로 구성한다.
🧮 변수 만들기
1️⃣ Group 필터링
- Name:
Group - Hide:
Variable - Query Type:
Group - Group:
/Kubelet/i

2️⃣ Item tag 필터링 (namespace)
- Name:
namespace - Label:
네임스페이스 [Memory] - Query Type:
item tag - Group:
$Group - Host:
/.*/ - Item Tag:
/^namespace:\s*([^\s]+)\s*$/ - Multi-value: ✅
- Include All option: ✅

3️⃣ Item 필터링 (Working set)
Working set은 Pod의 실질적인 메모리 사용량을 나타낸다.
- Name:
memory - Label:
POD별 Memory 사용량 - Query Type:
item - Group:
$Group - Host:
/.*/ - Item Tag:
$namespace - Item : /:\s*Working set$/i
- Multi-value: ✅
- Include All option: ✅

💡 Tip
가끔 변수 Query Options에서 Item Tag 자리에 Application이 표시되는 현상이 있다.
이럴 땐 다음 순서로 처리한다:
- Home → Connections → Data Sources → Zabbix Datasource → Save & Test 클릭
→ Zabbix API 캐시가 초기화됨 - 그래도 해결되지 않으면, 아래 명령으로 플러그인 업데이트 후 Grafana 재시작
#grafana-cli plugins update alexanderzobnin-zabbix-datasource
#systemctl restart grafana-server
⚙️ Pod CPU 시각화
대상 그룹
- Group: {$KUBE.API.URL}의 IP :
Kubernetes/Components: Kubelet - Item tag:
component: pod - Item 예시:
Namespace [argocd] Pod [argocd-applicationset-controller-5867d7759-dksldk]: CPU: Usage seconds, total
이 쿼리를 통해 Pod의 CPU 사용량(Usage seconds, total) 을 시각화할 수 있다.
이 역시 변수를 통해 네임스페이스/파드 단위의 동적 분석이 가능하도록 설정한다.
🧮 변수 만들기
1️⃣ Group 필터링
- (이전 단계의 Group 변수 재사용)
2️⃣ Item tag 필터링 (component: pod)
- Name:
itemtag - Hide:
Variable - Query Type:
item tag - Group:
$Group - Host:
/.*/ - Item Tag:
/^\s*component\s*:\s*pod\s*$/

3️⃣ Item 필터링 (네임스페이스 분류용)
이 단계는 CPU 데이터가 네임스페이스/파드별로 방대하기 때문에,
네임스페이스 라벨을 앞단에 따로 만들어 분류하기 위한 설정이다.
- Name:
cpu_namespace - Label:
네임스페이스 [CPU] - Query Type:
item - Group:
$Group - Host:
/.*/ - Item Tag:
$itemtag - Item:
/^Namespace\s*\[([^\]]+)\].*CPU: Usage seconds, total$/ - Regex:
^Namespace \[(?<text>[^\]]+)\].* - Multi-value: ✅
- Include All option: ✅

4️⃣ Item 필터링 (Usage seconds, total)
Usage seconds, total은 실질적인 Pod CPU 사용량을 나타내는 값이다.
- Name:
pod_cpu - Label:
POD별 CPU 사용량 - Query Type:
item - Group:
$Group - Host:
/.*/ - Item Tag:
$itemtag - Item:
/.*/ - Regex:
^(Namespace \[(?:${cpu_namespace:regex})\]\s+Pod \[[^\]]+\]\s+CPU: Usage seconds, total)$ - Multi-value: ✅
- Include All option: ✅

📊 패널 생성
1️⃣ POD별 CPU 사용량
- Visualization: Time series
- Title:
POD별 CPU 사용량 - Mode: Table / Right (옵션 선택)
- Values: Min / Mean / Max / Last*
- Query Type: Metrics
- Group:
$Group - Host:
/.*/ - Item Tag:
$cpu_namespace - Item:
$pod_cpu
- Group:

2️⃣ POD별 Memory 사용량
- Visualization: Time series
- Title:
POD별 Memory 사용량 - Mode: Table / Right (옵션 선택)
- Values: Min / Mean / Max / Last*
- Query Type: Metrics
- Group:
$Group - Host:
/.*/ - Item Tag:
$namespace - Item:
$memory
- Group:

💡 Tip
대시보드에서 네임스페이스나 지표 값을 All 또는 다중 선택한 상태에서
시간 범위를 Last 6 hours 등으로 설정하면
데이터 처리량(I/O)이 과도해 No data가 표시될 수 있다.
→ 시간 범위를 줄이거나, 네임스페이스별로 구분해 분석하는 것을 권장한다.
관련 글 :
🛠 마지막 수정일: 2025.11.12
ⓒ 2025 엉뚱한 녀석의 블로그 [quirky guy's Blog]. All rights reserved. Unauthorized copying or redistribution of the text and images is prohibited. When sharing, please include the original source link.
💡 도움이 필요하신가요?
Zabbix, Kubernetes, 그리고 다양한 오픈소스 인프라 환경에 대한 구축, 운영, 최적화, 장애 분석이 필요하다면 언제든 편하게 연락 주세요.
📧 Contact: jikimy75@gmail.com
💼 Service: 구축 대행 | 성능 튜닝 | 장애 분석 컨설팅
💡 Need Professional Support?
If you need deployment, optimization, or troubleshooting support for Zabbix, Kubernetes, or any other open-source infrastructure in your production environment, feel free to contact me anytime.
📧 Email: jikimy75@gmail.com
💼 Services: Deployment Support | Performance Tuning | Incident Analysis Consulting
답글 남기기
댓글을 달기 위해서는 로그인해야합니다.