Openstack

OpenStack Ceilometer란? (Telemetry & Monitoring)

Somaz 2025. 3. 5. 14:51
728x90
반응형

Overview

오늘은 OpenStack Ceilometer에 대해 공부하고, 개념과 구조, 기능에 대해 정리하려고 한다.

출처 : https://wiki.openstack.org/wiki/Ceilometer/blueprints/support-standard-audit-formats

 

 

 

📅 관련 글

2022.05.11 - [Openstack] - Openstack이란?

2022.07.29 - [Openstack] - Openstack Nova란?

2022.08.08 - [Openstack] - Openstack Neutron이란? (network)

2022.08.08 - [Openstack] - Openstack 배치 서비스 Placement란?

2022.08.08 - [Openstack] - Openstack Glance란? (image)

2022.08.08 - [Openstack] - Openstack Keystone이란? (identity)

2022.08.08 - [Openstack] - Openstack horizon이란? (dashboard)

2022.08.09 - [Openstack] - Openstack Cinder/Swift란? (block storage/object storage)

2025.02.27 - [Openstack] - OpenStack Heat란? (Orchestration)

 

 

 


 

Ceilometer란?

Ceilometer는 OpenStack 환경에서 모니터링 및 측정(Telemetry & Monitoring) 기능을 제공하는 서비스이다. OpenStack 내부에서 리소스 사용량을 측정하고 데이터를 수집하여 비용 청구(Billing) 및 성능 모니터링에 활용할 수 있도록 한다.

Ceilometer는 OpenStack 환경의 각종 서비스(Nova, Cinder, Neutron 등)와 통합되어 동작하며, 이벤트를 감지하고 메트릭 데이터를 수집하여 다양한 분석 및 관리 기능을 지원한다.

 


 

 

Ceilometer의 주요 역할

 

리소스 사용량 모니터링

  • OpenStack의 다양한 서비스(Nova, Cinder, Neutron, Glance 등)에서 발생하는 리소스 사용량을 수집 및 기록.
  • 예: 가상 머신(CPU, RAM), 네트워크 트래픽, 볼륨 사용량, 이미지 사용량 등.

 

이벤트 기반 데이터 수집

  • 특정 이벤트(인스턴스 생성, 삭제, 스토리지 증가 등)가 발생하면 자동으로 해당 이벤트를 기록 및 분석.

 

알람 및 트리거

  • 특정 임계값을 초과하는 경우 알람을 생성하여 관리자가 적절한 조치를 취할 수 있도록 지원.
  • 예: CPU 사용량이 80% 이상인 경우 경고 메시지 전송.

 

과금(Billing) 시스템 연계

  • OpenStack에서 사용한 자원에 대해 비용을 부과하는 과금 시스템과 연동하여 사용량 기반 청구를 가능하게 함.

 

다양한 데이터 저장소 연동

  • MongoDB, Gnocchi 등의 데이터베이스와 연동하여 수집된 데이터를 저장 및 관리.

 

 

 


 

 

 

 

Ceilometer의 주요 구성 요소

 

Agent

  • Compute Agent: Nova 인스턴스 관련 메트릭을 수집.
  • Central Agent: 다양한 OpenStack 서비스(Cinder, Glance, Neutron 등)에서 메트릭을 수집.
  • Notification Agent: 이벤트 기반의 데이터 수집 담당.
  • Collector: 모든 에이전트에서 수집한 데이터를 데이터베이스에 저장.

 

Polling Mechanism

  • 정해진 시간 간격으로 OpenStack API를 호출하여 메트릭을 수집.

 

Publisher

  • 수집된 데이터를 메시지 큐(RabbitMQ) 또는 데이터 저장소(MongoDB, Gnocchi)로 전송.

 

Alarming (Aodh와 연동)

  • Aodh 서비스와 함께 사용하여 특정 임계값을 초과하면 알람을 발생.

 

 

 

 


 

 

 

 

 

Ceilometer와 Gnocchi의 차이

Ceilometer는 원래 데이터 수집 및 저장까지 담당했지만, OpenStack Mitaka 버전 이후 Gnocchi가 메트릭 저장소 역할을 담당하게 되었다.

 

기능 Ceilometer Gnocchi
데이터 수집 OpenStack API를 통해 메트릭 및 이벤트 수집 X
데이터 저장 MongoDB, Gnocchi와 연동 시간 기반의 메트릭 데이터 저장
알람 기능 Aodh와 연계하여 알람 기능 제공 X

 

 

 

 


 

 

 

Ceilometer 데이터 흐름

  1. Metric 생성: OpenStack의 각 서비스에서 메트릭 데이터 생성 (예: Nova에서 CPU 사용량 데이터 제공).
  2. Agent 수집: Ceilometer의 Agent가 API를 호출하여 메트릭 데이터를 수집.
  3. Collector 저장: 수집된 데이터를 RabbitMQ 또는 Gnocchi 같은 데이터 저장소로 전송.
  4. 알람 트리거: Aodh와 연계하여 특정 임계값을 초과하는 경우 알람 발생.
  5. 사용량 분석 및 과금 연계: Panko 및 CloudKitty 같은 서비스와 연계하여 분석 및 과금 적용.

 

 

Ceilometer와 함께 사용하는 서비스

  • Aodh: 알람 서비스 (임계값 초과 시 경고 및 액션 수행).
  • Gnocchi: 메트릭 스토리지 서비스 (시간 기반 데이터 저장 및 분석).
  • Panko: 이벤트 기록 및 저장.
  • CloudKitty: OpenStack에서 과금(Billing) 기능을 제공.

 

 

 


 

 

 

Ceilometer 설치 및 설정 (기본 예제)

 

1. Ceilometer 설치

sudo apt update
sudo apt install ceilometer-api ceilometer-collector ceilometer-agent-compute ceilometer-agent-central ceilometer-agent-notification ceilometer-alarm-evaluator ceilometer-alarm-notifier

 

2. Ceilometer 서비스 시작

sudo systemctl enable --now ceilometer-api ceilometer-collector ceilometer-agent-compute ceilometer-agent-central ceilometer-agent-notification

 

3. Ceilometer 데이터 조회

  • 현재 실행 중인 인스턴스의 CPU 사용량 조회
openstack metric list
  • 특정 메트릭 조회
openstack metric show cpu_util

 

 

 


 

 

결론

  • Ceilometer는 OpenStack 환경에서 리소스 사용량을 모니터링하고 데이터를 수집하는 중요한 서비스이다.
  • Aodh, Gnocchi, Panko 등의 서비스와 연계하여 보다 정밀한 리소스 관리와 과금 시스템을 구축할 수 있다.
  • Ceilometer를 효과적으로 활용하면 OpenStack 환경의 가시성을 높이고, 최적의 성능을 유지할 수 있다.

 

 

 

 


Reference

https://docs.openstack.org/ceilometer/latest/

https://github.com/openstack/ceilometer

https://wiki.openstack.org/wiki/Ceilometer/Graduation

https://wiki.openstack.org/wiki/Ceilometer/blueprints/support-standard-audit-formats

 

 

728x90
반응형