Ceilometer presentation ODS Grizzly.pdf

Post on 25-Jun-2015

1,205 views 0 download

Tags:

description

true

transcript

CeilometerThe OpenStack Metering Project

15 Oct 2012 @ ODS Grizzly

Doug Hellmannaka doughellmann/dhellmann (twitter/irc)

doug.hellmann@dreamhost.com

Nick Barcetaka nijaba (twitter/irc)

nick.barcet@canonical.com

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)

nick.barcet@canonical.com

http://launchpad.net/ceilometerhttp://ceilometer.readthedocs.org

freenode: #openstack-meteringemail: openstack-dev [ceilometer]

Doug Hellmannaka doughellmann/dhellmann (twitter/irc)doug.hellmann@dreamhost.com