8/13/2019 ICCLab Ceilometer CHOSUG Presentation
1/23
OpenStack Ceilometer
Lucas Graf, ZHAW, [email protected] Zehnder, ZHAW, [email protected]
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
2/23
Intro
Beginning 2012: Billing left out of OpenStack core
But almost every deployment needs to track usage
information Ceilometer started in May 2012 Written in Python Main targets of Ceilometer in the beginning:
unique point of contact for billing systems easy to extend collectors should be independent
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
3/23
What?
Metering Measure the use of resources Data for billing
Monitoring Is the system running? Notice system failures
Ceilometer
currently: metering
future: collect data for monitoring
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
4/23
Why?
Metering and Monitoring is important....
Billing and Rating Know how many resources are available Is the infrastructure currently big enough? How many tenants could be served?
Are there any bottlenecks? Prove that a system is running Are all hard disks running? Are the temperatures in the correct range?
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
5/23
v0.1 Folsom
Delivered in Oct 2012 Collects base metering
nova (instance, memory, cpu, ...)
glance (image, image size, ...) cinder (volume, volume size) quantum (duration of network)
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
6/23
Grizzly
Release 4th April 2013 Incubated Project Integration in Horizon
Multi-Publisher API v2 support
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
7/23
Havana
Release Fall 2013 Integration with Synaps Integration with Healthnmon (alerting)
ICCLab Hardware agent ...
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
8/23
Architecture: Big Picture
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
9/23
Architecture
Two main behaviours
Polling Flow Used disk space
RAM usage Processor usage ...
Notification Flow
Start/Stop VM Create Image ...
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
10/23
Poll: 1
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
11/23
Poll: 2
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
12/23
Poll: 3
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
13/23
Notification: 1
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
14/23
Notification: 2
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
15/23
Ceilometer Requirements
Database MongoDB SQLAlchemy supported DB
Future supported DB drivers: cassandra, hbase Message Queue
RabbitMQ Qpid
ZeroMQ(not tested)
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
16/23
Using Ceilometer
Install manually Collector Compute Agent
API Server Install automated
devstack http://docs.openstack.
org/developer/ceilometer/install.html#configuring-
devstack puppet
https://github.com/enovance/puppet-ceilometer
Request ressources via Web API (RESTful)
https://github.com/enovance/puppet-ceilometerhttps://github.com/enovance/puppet-ceilometerhttps://github.com/enovance/puppet-ceilometer8/13/2019 ICCLab Ceilometer CHOSUG Presentation
17/23
- Key from Keystone
curl -d '{"auth": {"tenantName": "admin","passwordCredentials":{"username": "admin","password": "admin_pass"}}}' -H "Content-type:application/json" http://192.168.1.1:35357/v2.0/tokens
Demo: authorization
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
18/23
curl -v -H 'X-Auth-Token: '$KID -X GET http://192.168.1.2:9000/v2/resources/
(resource_id)/meters/(meter_id)/
API v2 Demo: Request data
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
19/23
{ "counter_name": "instance", "counter_type": "gauge", "counter_unit": "instance",
"counter_volume": 1.0, "message_id": "5460acc-4fd6-480d-ab18-9735ec7b1996", "project_id": "35b17138-b364-4e6a-a131-8f3099c5be68", "resource_id": "bd9431c1-8d69-4ad3-803a-8d4a6bfd36", "resource_metadata": {},
"source": "openstack", "timestamp": "2013-02-14T15:16:04.773256", "user_id": "efd87807-12d2-4b38-9c70-5f5c2ac427ff"}
Demo: Data sample JSON
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
20/23
Extending
Agent Loads all plugins in ceilometer.poll.compute call get_counters() Method from the plugins
Plugin
http://docs.openstack.
org/developer/ceilometer/contributing/index.html
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
21/23
ICCLab and Ceilometer
Currently Deploying Ceilometer on test bed
Future
Extend Ceilometer with a hardware agent Collect/Record hardware data Easy to extend
new Plugins for collecting data such as IPMI, SMART, ...
In Havana Release
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
22/23
Thanks!
Questions?
8/13/2019 ICCLab Ceilometer CHOSUG Presentation
23/23
Source
https://docs.google.
com/presentation/d/1dAOUd_SM9cc2VLh801_cf_zW0RLsCs2cmeFrTW61
uUg/edit#slide=id.p
http://ceilometer.readthedocs.org/en/latest/architecture.html
https://fosdem.
org/2013/schedule/event/openstack_ceilometer/attachments/slides/217/ex
port/events/attachments/openstack_ceilometer/slides/217/ceilometer.pdf
http://docs.openstack.org/developer/ceilometer/