Grafana+Metricbeat 대시보드 구성과 디스크 사용량 불일치 해결 정리
2026. 2. 14. 12:43ㆍk8s
오늘은 Grafana에서 Metricbeat 데이터를 기반으로 CPU/Memory/Disk 대시보드를 만들고, 실제 서버의 df 결과와 디스크 사용량이 다른 문제를 해결한 과정을 정리한다.
핵심은 Metricbeat의 hostfs 경로(/hostfs)와 집계 함수(avg)로 인한 왜곡, 그리고 호스트 식별 필드(host.name) 추가였다.
1. 호스트 식별 필드(host.name) 추가
Kibana에서 확인했을 때 host.name이 들어오지 않아 서버별 구분이 어려웠다.
그래서 Metricbeat DaemonSet에 spec.nodeName을 받아 host.name으로 강제 세팅했다.
추가한 설정
metricbeat.yml에 필드 추가:processors: - add_host_metadata: ~ - add_cloud_metadata: ~ - add_fields: target: '' fields: host.name: ${NODE_NAME}DaemonSet 컨테이너 env 추가:
env: - name: NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName
2. Grafana 대시보드 구성(CPU/Memory/Disk)
CPU 패널
- 쿼리:
metricset.name:cpu - 메트릭:
system.cpu.total.norm.pct(Avg) - Group by:
host.name - Legend:
{{term}}
Memory 패널
- 쿼리:
metricset.name:memory - 메트릭 예시
system.memory.actual.used.pct(Avg)system.memory.actual.used.bytes(Avg)
- Group by:
host.name
Disk 패널
- 쿼리:
metricset.name:filesystem AND system.filesystem.mount_point:"/hostfs" - 메트릭 예시
- 사용률:
system.filesystem.used.pct(Avg) - 사용량:
system.filesystem.used.bytes(Max 또는 Last)
- 사용률:
- Group by:
host.name
3. Disk 사용량이 df와 다른 이유 및 해결df -P /에서는 / 사용률이 66%인데 Grafana는 12.7%로 보였다.
원인은 Metricbeat가 실제 /를 /hostfs 경로로 수집하고 있었기 때문이다.
해결 쿼리
metricset.name:filesystem AND system.filesystem.mount_point:"/hostfs"Bytes 값이 작게 보이는 이유
avg(system.filesystem.used.bytes)는 여러 시점/호스트의 평균이라 값이 작아짐- 해결:
Max또는Last사용
4. 단위(Unit) 정리
system.filesystem.used.pct- 값 범위:
0 ~ 1 - Grafana에서 Unit을
percent (0-1)로 설정 - 예:
0.66→66%
- 값 범위:
system.filesystem.used.bytes/free/available- 바이트 단위
- Grafana Unit은
bytes (IEC)또는bytes (SI) - IEC:
GiB, SI:GB
남은 용량(GB) 패널
- Metric:
system.filesystem.free또는system.filesystem.available - Aggregation:
Max또는Last - Unit:
bytes (SI)또는bytes (IEC)
5. 서버에서 실제 값 확인(Ubuntu)
- 사용률:
df -P / - 바이트 단위:
df -B1 /
'k8s' 카테고리의 다른 글
| 📦 Kubernetes ResourceQuota 완전 정리 (Namespace 리소스 제한) (0) | 2026.02.21 |
|---|---|
| Grafana에서 Minecraft 로그를 INFO/WARN/ERROR로 분리하기 (Data Stream + Pipeline + Kafka Connect) (0) | 2026.02.14 |
| Grafana에서 겪었던 이슈 정리 (0) | 2026.02.12 |
| Fluentd로 Slack 알림 연결하기 (Kubernetes + Minecraft 로그) (0) | 2026.02.11 |
| Kubernetes 클러스터 변경 시 kubeconfig 재설정 방법 (Windows 11) (0) | 2026.02.08 |