Elasticsearch에 저장된 Metricbeat 데이터를 기반으로내 컴퓨터의 평균 CPU 사용률(system.cpu.total.norm.pct) 을시간 축으로 시각화하는 라인 그래프 생성
전제 조건
- Metricbeat는 내 PC에서 정상 작동 중
host.name = book-~~인 데이터가 Elasticsearch에 저장됨
- 필드
system.cpu.total.norm.pct도 존재함
- Grafana는
.ds-metricbeat-*인덱스를 데이터 소스로 사용 중
전체 구성 절차 (실제 쿼리 설정)
1. 패널 만들기
- 대시보드 →
+ Add panel
- 새로운 시각화 패널이 생성됨
1. 쿼리 타입 설정
Query Type: Metrics 탭 그대로 사용 (→ 시계열 집계 쿼리를 만들기 위한 모드)
2. Lucene Query 입력
특정 PC에서 수집된 데이터만 보이게 하려면 필터 조건을 걸어야 함
host.name:"book-~~"
항목 | 설명 |
host.name | Metricbeat가 전송한 시스템의 이름 필드 |
"book-~~" | 내 PC 이름 (정확히 일치해야 함) |
Lucene 문법 | : 뒤에 값은 "따옴표"로 감싸야 정확하게 동작함 |
조건 | 결과 |
Lucene Query 없음 | 모든 PC의 Metricbeat 데이터가 함께 출력됨 |
host.name:"book-~~" 있음 | 오직 내 PC에서 수집된 데이터만 보여줌 |
3. Metric (1) 수정
기본값은
Count로 되어 있음 → 클릭해서 수정- Aggregation:
Average(→ 평균값 계산)
- Field:
system.cpu.total.norm.pct
이 설정은 "CPU 사용률 평균값"을 시계열로 표시하게 함norm.pct는 CPU 사용률을 0~1 사이 값으로 제공하며,0.012= 1.2%,0.5= 50%,1.0= 100%
3. Group by 설정
기본적으로 아래처럼 구성되어 있음
Group By: Date Histogram > @timestamp > Interval: auto
이건 시계열 그래프의 핵심 설정
항목 | 설명 |
Date Histogram | X축을 시간 축으로 설정 |
@timestamp | 수집된 Metricbeat 문서의 타임스탬프 |
Interval: auto | 적절한 시간 간격 자동 설정 (예: 10s, 1m 등) |
Group by > Terms > host.name를 상단에 추가하면,컴퓨터마다의 값이 나오게 되는데, 해당 부분을 빼놓으면,
Metric을 group by 없이 평균만 한 상태라서
→ 결과가 전체 평균 1줄로 나옴

결과 화면
