Openstack Prometheus-Libvirt Exporter metrics (Openstack API)

이태곤·2023년 10월 29일
0

Cloud

목록 보기
7/8
post-thumbnail

1. metrics description

  • HELP: 메트릭에 대한 설명 또는 도움말 정보를 제공
  • TYPE: 메트릭의 종류 또는 유형
    → counter, gauge 등
  1. libvirt_domain_block_stats_read_bytes_total: 가상 머신의 스토리지에서 실제로 읽은 데이터 양
    → 얼마나 많은 데이터가 실제로 디스크에서 읽혔는지

  2. libvirt_domain_block_stats_read_requests_total: 가상 머신의 스토리지에서 수행한 읽기 작업의 총 횟수
    → 실제 데이터 양과는 상관 없이 얼마나 많은 읽기 작업이 요청되었는지

  3. libvirt_domain_block_stats_write_bytes_total: 가상 머신의 스토리지에서 실제로 기록된 데이터 양
    → 얼마나 많은 데이터가 디스크에 기록되었는지

  4. libvirt_domain_block_stats_write_requests_total: 가상 머신의 스토리지에서 수행한 쓰기 작업의 총 횟수
    → 제 데이터 양과는 상관 없이 얼마나 많은 쓰기 작업이 요청되었는지

  5. libvirt_domain_info_cpu_time_seconds_total: 가상 머신이 소비한 CPU 시간

  6. libvirt_domain_info_maximum_memory_bytes: 가상 머신에 할당된 최대 메모리 용량

  7. libvirt_domain_info_memory_usage_bytes: 실제로 사용된 메모리 양

  8. libvirt_domain_info_virtual_cpus: 가상 머신에 할당된 가상 프로세서 코어 수

  9. libvirt_domain_interface_stats_receive_bytes_total: 가상 머신의 네트워크 인터페이스를 통해 받은 데이터 양

  10. libvirt_domain_interface_stats_receive_drops_total: 가상 머신에서 수신되는 동안 드롭된 네트워크 패킷 수

  11. libvirt_domain_interface_stats_receive_packets_total: 가상 머신의 네트워크 인터페이스에서 수신한 패킷의 총 수

  12. libvirt_domain_interface_stats_transmit_bytes_total: 가상 머신의 네트워크 인터페이스에서 전송된 바이트의 총 수

  13. libvirt_domain_stat_memory_available_bytes: 가상 머신의 사용 가능한 메모리

  14. libvirt_domain_stat_memory_rss_bytes: 가상 머신을 실행하는 프로세스의 Resident Set Size

  15. libvirt_domain_stat_memory_swap_in_bytes & libvirt_domain_stat_memory_swap_out_bytes: 가상 머신에서 메모리 스왑 인 작업의 총 바이트 수 & 가상 머신에서 메모리 스왑 아웃 작업의 총 바이트 수
    → Swap In: 디스크에서 데이터를 메모리로 읽는 작업
    → Swap Out: 메모리에서 데이터를 디스크로 쓰는 작업

  16. libvirt_domain_stat_memory_unused_bytes: 가상 머신에서 미사용 메모리 양

  17. libvirt_domain_stat_memory_usable_bytes: 가상 머신에서 사용 가능한 메모리 양

  18. libvirt_domains_number: 현재 호스트에서 실행 중인 가상 머신의 수

  19. libvirt_up: libvirt 메트릭 수집이 성공적으로 수행되었는지 여부를 → 1: 성공적으로 수집


2. 수집 대상 metrics

  • 탄소 중립을 실천하기 위한 지표를 선택할 때 중요한 고려 사항은 가상 머신 또는 호스트의 에너지 효율과 리소스 사용 효율

1. CPU

  • libvirt_domain_info_cpu_time_seconds_total: 가상 머신이 CPU 리소스를 얼마나 소비했는지
    • 가상 머신이 돌아가는 시간이 아니라 CPU가 실제로 사용된 시간이 누적
    • 가상 머신의 CPU 이용률을 평가하여 CPU 이용률을 최적화하고 가상 머신이 비효율적으로 실행되는 경우 해당 metric 정보를 바탕으로 개선
  • libvirt_domain_info_virtual_cpus: 가상 머신에 할당된 가상 프로세서 코어 수
    • 만약 가상 머신이 현재 할당된 CPU 코어 수를 모두 활용하고 성능이 부족하다고 판단된다면, CPU 코어 수↑
    • CPU 코어 수가 현재 사용량보다 더 많은 것으로 판단되면 코어 수↓
      → 다른 가상 머신들이 CPU 자원을 더 많이 이용할 수 있게 된다.

2. Memory

  • libvirt_domain_info_memory_usage_bytes: 실제로 사용된 메모리 양
    • 메모리 사용량이 낮은 경우, 더 적은 메모리를 할당하여 자원을 절약할 수 있고, 반대로 메모리 사용량이 높은 경우 추가 메모리를 할당하여 성능을 최적화 할 수 있다.
      → 2.68435456e+08 = 268,435,456 바이트 = 268MB

      → bytes 단위로 parsing

0개의 댓글