Metrics Support for Container Instances

Registered by Ashish Billore

Nova Docker Drivers does not have any of the ceilometer metrics measurements and alarms implemented for containers. This feature is to implement common subset of ceilometer metrics (CPU, Memory etc) for container instances. This is also needed to support Heat and alarm and related usecases such as Autoscaling.

Blueprint information

Status:
Started
Approver:
Mark Vanderwiel
Priority:
Undefined
Drafter:
Ashish Billore
Direction:
Needs approval
Assignee:
Sudheesh S K
Definition:
Review
Series goal:
None
Implementation:
Good progress
Milestone target:
None
Started by
Sudheesh S K

Related branches

Sprints

Whiteboard

Currently, Nova-Docker Driver is Missing: Collection, Aggregation, Reporting of resource usage for containers missing (in Ceilometer).

How this affects clouds:

Monitoring / reporting of resource usage for containers not available through ceilometer. Due to this missing functionality, some of the higer-level scenarios such as Auto-scaling will not work for containers.

Proposed Approach and Design for implementing this:

1. Instead of parsing cgroup proc files on each docker compute nodes, use cAdvisor (https://github.com/google/cadvisor , Apache 2.0 License) to get resource metrics for: CPU, memory, Disk, Network

2. Develop and plug a ceilometer-agent that consumes cAdvisor's REST API to make this these metrics data available to Ceilometer (or later any other monitoring tool used such as Monasca). This will help retain the existing framework for telemetry or monitoring unchanged.

3. Automate (through chef or any other config tooling) Deployment of cAdvisor (ideally as a container itself as mentioned here: https://github.com/google/cadvisor#quick-start-running-cadvisor-in-a-docker-container) and ceilometer-agent plugin.

Delivered spec for review https://review.openstack.org/#/c/163920/

Chef Approach
-------------------
For Kilo release we are planing to integrate docker ceilometer changes to openstack using chef.

openstack-telemetry cookbook changes
----------------------------------------------------------

a) This will have new ability to download and cache cadvisor image
b) Run cadvisor with configured attributes
c) ceilometer/docker plugin code will be added as cookbook file for now. and This plugin will be updated to ceilometer through chef

step(c) may not be needed in L release, as in L release plan is to have the Inspector and related code integrated in ceilometer.

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.