Jump to: navigation, search

Ceilometer/blueprints/pollster-swift

< Ceilometer‎ | blueprints
Revision as of 09:56, 22 November 2012 by Nijaba (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

pollster-swift blueprint

Use Cases

  • Provider wants to retrieve data about swift usage to bill his customers
  • Customer wants to monitor his usage of swift

Proposed implementation

The following is a first list of meters that needs to be collected in order to allow billing systems to perform their tasks on swift. This list must be expandable over time and each administrator must have the possibility to enable or disable each meter based on his local needs

Meter name Priority Resource ID Volume unit Payload Type Note
o1 obj_volume must swift account id Megabytes Cumulative total object volume stored
o2 obj_in must swift account id Kbytes Cumulative volume of data received for this account (int and ext)
o3 obj_out must swift account id Kbytes Delta volume of data sent for this account (int and ext)
o4 obj_in_int may swift account id Kbytes Delta volume of data received from internal network source
o5 obj_in_ext may swift account id Kbytes Delta volume of data received from external network source
o6 obj_out_int may swift account id Kbytes Delta volume of data sent to internal network dest
o7 obj_out_ext may swift account id Kbytes Delta volume of data sent to external network destinations
o8 obj_number must swift account id container Gauge Number of objects stored for a container. The resource_id is the container id.
o9 obj_containers must swift account id Number of containers Gauge
o10 obj_requests must swift account id type Delta Number of HTTP requests, type being the request type (GET/HEAD/PUT/POST…)

The following counters must be implemented through polling of Swift:

obj_volume, obj_number, obj_containers, obj_requests, obj_in, obj_out

In addition, if we can distinguish between external and internal networks, it would be nice to also have: obj_in_int, obj_in_ext, obj_out_int, obj_out_ext. I would suggest that we start this implementation by using a configuration file listing internal networks, which by default should list A, B and C private network class (RFC 1918)