Ceilometer originated as the Telemetry component for OpenStack. It soon became a monolithic project responsible for all things measurement in the OpenStack ecosystem. This organic growth became a pain point in performance at scale.
That's a lot to handle!
Time to decouple the responsibilities
Source: https://julien.danjou.info/blog/2015/gnocchi-benchmarks
Resource Types
Stores many different resources logically grouped by associated metadata.
Url: http://os.dev.digitalpacific.com.au:8041/v1/resource
VM Instance
Metadata
Metrics
Url: http://os.dev.digitalpacific.com.au:8041/v1/resource/
instance/0d5...4ab
VM Instance Network Interface
Metadata
Metrics
Url: http://os.dev.digitalpacific.com.au:8041/v1/resource/instance_network_interface/8a0...f97
VM Instance Volume
Metadata
Metrics
Url: http://os.dev.digitalpacific.com.au:8041/v1/resource/instance_disk/4e7...e28
Image
Metadata
Metrics
Url: http://os.dev.digitalpacific.com.au:8041/v1/resource/image/017...748
Metric Details
Data is stored based on archive policies.
Each archive policy will store the data for a timespan which equals the granularity times the points. When the timespan passes, the data will be removed.
An archive policy can be applied across any metric. This means that we can created archive policies defined for hourly billing eg. 1 hour granularity for a timespan of 3 months for auditing.
Url: http://os.dev.digitalpacific.com.au:8041/v1/resource/instance/
0d5...4ab/metrics/memory.usage
Metric Measurements Example -
We can bill this!
Start time of measurement
Measurement length (granularity)
in seconds (30 minutes)
Data value (total bytes)
Url: http://os.dev.digitalpacific.com.au:8041/v1/resource/instance_network_interface/
8a0...f97/metrics/network.incoming.bytes/measures/