openstack ceilometer - systemsx.ch ceilometer lucas graf, zhaw, graflu0@students.zhaw.ch toni...

Post on 11-Mar-2018

217 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

OpenStack CeilometerLucas Graf, ZHAW, graflu0@students.zhaw.ch

Toni Zehnder, ZHAW, zehndton@students.zhaw.ch

Intro

● Beginning 2012:○ Billing left out of OpenStack core○ But almost every deployment needs to track usage

information● Ceilometer started in May 2012● Written in Python● Main targets of Ceilometer in the beginning:

○ unique point of contact for billing systems○ easy to extend○ collectors should be independent

What?

● Metering○ Measure the use of resources○ Data for billing

● Monitoring○ Is the system running?○ Notice system failures

Ceilometercurrently: meteringfuture: collect data for monitoring

Why?

Metering and Monitoring is important....

● Billing and Rating● Know how many resources are available

○ Is the infrastructure currently big enough?○ How many tenants could be served?○ Are there any bottlenecks?

● Prove that a system is running○ Are all hard disks running?○ Are the temperatures in the correct range?

v0.1 Folsom

● Delivered in Oct 2012● Collects base metering

○ nova (instance, memory, cpu, ...)○ glance (image, image size, ...)○ cinder (volume, volume size)○ quantum (duration of network)

Grizzly

● Release 4th April 2013● Incubated Project● Integration in Horizon● Multi-Publisher● API v2 support

Havana

● Release Fall 2013● Integration with Synaps● Integration with Healthnmon (alerting)● ICCLab Hardware agent● ...

Architecture: Big Picture

Architecture

Two main behaviours● Polling Flow

○ Used disk space○ RAM usage○ Processor usage○ ...

● Notification Flow○ Start/Stop VM○ Create Image○ ...

Poll: 1

Poll: 2

Poll: 3

Notification: 1

Notification: 2

Ceilometer Requirements

● Database○ MongoDB○ SQLAlchemy supported DB○ Future supported DB drivers: cassandra, hbase

● Message Queue○ RabbitMQ○ Qpid○ ZeroMQ(not tested)

Using Ceilometer

● Install manually○ Collector○ Compute Agent○ API Server

● Install automated○ devstack http://docs.openstack.

org/developer/ceilometer/install.html#configuring-devstack

○ puppethttps://github.com/enovance/puppet-ceilometer

● Request ressources○ via Web API (RESTful)

- Key from Keystonecurl -d '{"auth": {"tenantName": "admin", "passwordCredentials":{"username": "admin", "password": "admin_pass"}}}' -H "Content-type: application/json" http://192.168.1.1:35357/v2.0/tokens

Demo: authorization

curl -v -H 'X-Auth-Token: '$KID -X GET http://192.168.1.2:9000/v2/resources/(resource_id)/meters/(meter_id)/

API v2 Demo: Request data

{ "counter_name": "instance", "counter_type": "gauge", "counter_unit": "instance", "counter_volume": 1.0, "message_id": "5460acc-4fd6-480d-ab18-9735ec7b1996", "project_id": "35b17138-b364-4e6a-a131-8f3099c5be68", "resource_id": "bd9431c1-8d69-4ad3-803a-8d4a6bfd36", "resource_metadata": {}, "source": "openstack", "timestamp": "2013-02-14T15:16:04.773256", "user_id": "efd87807-12d2-4b38-9c70-5f5c2ac427ff"}

Demo: Data sample JSON

Extending

● Agent○ Loads all plugins in ceilometer.poll.compute○ call get_counters() Method from the plugins

● Plugin

http://docs.openstack.org/developer/ceilometer/contributing/index.html

ICCLab and Ceilometer

● Currently○ Deploying Ceilometer on test bed

● Future○ Extend Ceilometer with a hardware agent

■ Collect/Record hardware data■ Easy to extend

● new Plugins for collecting data such as IPMI, SMART, ...■ In Havana Release

Thanks!Questions?

top related