Upload
openstack-foundation
View
1.204
Download
0
Tags:
Embed Size (px)
DESCRIPTION
true
Citation preview
CeilometerThe OpenStack Metering Project
15 Oct 2012 @ ODS Grizzly
Doug Hellmannaka doughellmann/dhellmann (twitter/irc)
Nick Barcetaka nijaba (twitter/irc)
What About Billing?● Billing has been left out of OpenStack core so far as it
was not the primary problem and is not a trivial one...
● Yet almost every OpenStack deployment needs a way to track usage information
Billing: 3 Step Process
Metering Collect usage data
Rating Transform usage data into billable items and calculate costs
Billing Create invoice, collect payment
Ceilometer is Metering
Usage data collection is the ONLY thing common to all clouds
Uses for Metering● Billing
● Auditing
● Capacity Planning
Problems to Solve● Collecting per user/tenant usage data
○ For every resource○ From every OpenStack component○ In a single place
● Retrieving usage data○ From a single place
● Doing this with an open source project○ Everyone did this in their own corner in the past :-(
Ceilometer Begins● Started in May 2012
Ceilometer Rises● Developed in StackForge
○ Same process as OpenStack
● Minimal set of meters defined
● Targeting OpenStack core ○ incubation pending
Design Requirements● Scalable
○ …if your database is too
Design Requirements● Scalable
○ …if your database is too● Message signature
○ Non-repudiation built in
Design Requirements● Scalable
○ …if your database is too● Message signature
○ Non-repudiation built in● Only one entry point to get data
Design Requirements● Scalable
○ …if your database is too● Message signature
○ Non-repudiation built in● Only one entry point to get data● Extensible, add your own:
○ Agent○ Agent plugin○ Storage engine○ Meters
Design Requirements● Scalable
○ …if your database is too● Message signature
○ Non-repudiation built in● Only one entry point to get data● Extensible, add your own:
○ Agent○ Agent plugin○ Storage engine○ Meters
● Use openstack-common components
Design Requirements● Scalable
○ …if your database is too● Message signature
○ Non-repudiation built in● Only one entry point to get data● Extensible, add your own:
○ Agent○ Agent plugin○ Storage engine○ Meters
● Use openstack-common components● Accept data from many sources
Data TriggersCeilometer inputs are generated three ways
User Action Creating, modifying, or deleting a resource
Audit Regular audit events stating usage generated by the service
Polling The ceilometer agent asks the service for data periodically
Meter CategoriesCeilometer handles 3 types of meters
Cumulative Increasing over time (instance hours)
Gauge Discrete items (floating IPs, image uploads) and fluctuating values (disk I/O)
Delta Changing over time (bandwidth)
Simple REST API
Sum GET /v1/resources/(resource)/meters/(meter)/volume/sum
Maximum GET /v1/resources/(resource)/meters/(meter)/volume/max
Duration GET /v1/resources/(resource)/meters/(meter)/duration
Raw Events GET /v1/resources/(resource)/meters/(meter)
http://ceilometer.readthedocs.org/en/latest/api.html
Roadmap
Grizzly HFolsom
● Delivered last week● Collects base metering
○ nova○ glance○ cinder○ quantum
● Basic API access
● Incubated Project● User accessible API?● Integration example with
Horizon● New agents for other
openstack components○ Swift○ Heat?
● New uses of collector?● SQLAlchemy storage
driver
● Core Project● TBD
DreamHost Use Case● New Public Cloud Service
● Existing Billing System
● Existing Users and Accounts
Configuring Ceilometer● Measure exactly what we want to bill for
○ instance hours
○ block storage
○ image uploads
○ bandwidth
Customizing Ceilometer● Custom Bandwidth Meter
○ No charge for traffic "inside" DreamHost
○ Don't expose infrastructure details to customers
○ Measure at the router, not the VIF
Consuming Meter Data
Questions?
Nick Barcetaka nijaba (twitter/irc)
http://launchpad.net/ceilometerhttp://ceilometer.readthedocs.org
freenode: #openstack-meteringemail: openstack-dev [ceilometer]
Doug Hellmannaka doughellmann/dhellmann (twitter/irc)[email protected]