반응형
EKS에서 Prometheus Metric 테스트를 진행하기 위한 대시보드 구성
사용량을 체크하기위해 노드 총 Capacity와 request 그리고 현재 사용량을 구성
노드 스펙 계산
# CPU Capacity 계산
sum(kube_node_status_capacity{resource="cpu"})
# Memory Capacity 계산
sum(kube_node_status_capacity{resource="memory"})
Capacity는 총 메모리라서 노드 수나 스펙에 변경이 없으면 변화가 없음
가독성을 위해 Unit을 bytes로 변경
현재 사용량을 확인하기위해 Bar gauge로 변경
Query Options
- Legend -> Memory Capacity
- Type -> Instant (현재 시간 기준)Bar gauge
- Orientation -> Horizontal
- Value display -> value color
- Show unfilled area -> offStandard options
- Unit -> bytes(IEC)
- Min -> 0Text size
- title -> 20
Override
- Fields with name으로 선택한 후 변화가 없는 수치이기 때문에 Thresholds X
변경 사항 적용 후
현재 Memory Request 확인
sum(kube_pod_container_resource_requests{resource="memory"})
현재 실제 사용 Resource
단순히 container_memory_working_set_bytes의 총 합을 하면 각각의 컨테이너 + 노드가 합쳐져서 값이 2배로 출력됨
그래서 필터링을 고민하다 EKS Node는 id값이 "/"인걸 확인한 뒤 노드만 필터링(구성 환경에 따라 상이)
sum(container_memory_working_set_bytes{id="/"})
앞과 유사하게 구성하고 추가적으로 %로 볼 수 있게 Expression 추가
Math
D = $B/$A (Request/Capacity)
E = $C/A (Usage/Capacity)
Memory Dashboard 구성
CPU 대시보드
완성된 Panel을 Duplicate하여 CPU 대시보드 작성
Unit -> Core
Name이 Memory -> CPU로 변경 Override 재설정
C 쿼리만 변경이 필요
아래의 쿼리로 구성하게되면 현재 사용중인 CPU 현황을 파악 할 수 있음
sum(rate(container_cpu_usage_seconds_total{id="/"}[$__rate_interval]))
작성하고나니 폰트가 너무 작아서
text와 barsize auto로 변경
추가적으로 sum 하지않은 노드별 CPU, Memory Usage 시계열 그래프로 구성
최종 결과
반응형
'Engineering' 카테고리의 다른 글
AWS CloudTrail & CloudWatch & Lambda를 활용한 리소스 생성, 삭제 추적 (0) | 2024.04.25 |
---|---|
K6 load testing (0) | 2024.04.05 |
DevOps Research and Assessment (DORA) Metrics (0) | 2024.04.02 |
Prometheus란? helm을 이용해 EKS에 설치 (0) | 2024.04.02 |
Performance Test Metric 도구 간단 정리 (Promethus, Thanos, Cortex, Mimir, Victoria Metrics) (0) | 2024.04.01 |