Support for Contrail-specific Ceilometer meters

Change-Id: Ia3919fc7526c4b1ab9e3a20347c1fc30b8ba02eb
This commit is contained in:
Oleksandr Martsyniuk 2015-12-22 19:30:52 +02:00 committed by Illia Polliul
parent 11a1f6ed4c
commit baa9ad17df
3 changed files with 155 additions and 35 deletions

View File

@ -95,6 +95,25 @@ class contrail::controller {
# Disable neutron agents
contrail::pcs_delete_resource { $contrail::disabled_services: }
# Contrail-specific ceilometer settings
$ceilometer_enabled = $contrail::ceilometer_hash['enabled']
if ($ceilometer_enabled) {
package { 'ceilometer-plugin-contrail': } ->
file {'/etc/ceilometer/pipeline.yaml':
ensure => file,
content => template('contrail/pipeline.yaml.erb'),
} ~>
service {'ceilometer-agent-central':
ensure => runnning,
name => 'p_ceilometer-agent-central',
enable => true,
hasstatus => true,
hasrestart => true,
provider => 'pacemaker',
}
}
service { 'neutron-server':
ensure => running,
enable => true,

View File

@ -38,6 +38,9 @@ class contrail {
$service_token = $neutron_settings['keystone']['admin_password']
$nets = $neutron_settings['predefined_networks']
$default_ceilometer_hash = { 'enabled' => false }
$ceilometer_hash = hiera_hash('ceilometer', $default_ceilometer_hash)
$keystone = hiera_hash('keystone', {})
$admin_token = $keystone['admin_token']
@ -71,7 +74,8 @@ class contrail {
$contrail_private_vip = $network_metadata['vips']['contrail_priv']['ipaddr']
$contrail_mgmt_vip = $contrail_private_vip
$disabled_services=['neutron-plugin-openvswitch-agent','neutron-dhcp-agent','neutron-metadata-agent','neutron-l3-agent']
$disabled_services = ['neutron-plugin-openvswitch-agent','neutron-dhcp-agent',
'neutron-metadata-agent','neutron-l3-agent']
# Settings for RabbitMQ on contrail controllers
$rabbit = hiera('rabbit')

View File

@ -0,0 +1,97 @@
---
sources:
- name: meter_source
interval: 60
meters:
- "*"
sinks:
- meter_sink
- name: cpu_source
interval: 60
meters:
- "cpu"
sinks:
- cpu_sink
- name: disk_source
interval: 60
meters:
- "disk.read.bytes"
- "disk.read.requests"
- "disk.write.bytes"
- "disk.write.requests"
- "disk.device.read.bytes"
- "disk.device.read.requests"
- "disk.device.write.bytes"
- "disk.device.write.requests"
sinks:
- disk_sink
- name: network_source
interval: 60
meters:
- "network.incoming.bytes"
- "network.incoming.packets"
- "network.outgoing.bytes"
- "network.outgoing.packets"
sinks:
- network_sink
- name: contrail_source
interval: 600
meters:
- "ip.floating.receive.packets"
- "ip.floating.transmit.packets"
- "ip.floating.receive.bytes"
- "ip.floating.transmit.bytes"
resources:
- contrail://<%= scope.lookupvar('contrail::contrail_private_vip') %>:8081
sinks:
- contrail_sink
sinks:
- name: meter_sink
transformers:
publishers:
- notifier://
- name: cpu_sink
transformers:
- name: "rate_of_change"
parameters:
target:
name: "cpu_util"
unit: "%"
type: "gauge"
scale: "100.0 / (10**9 * (resource_metadata.cpu_number or 1))"
publishers:
- notifier://
- name: disk_sink
transformers:
- name: "rate_of_change"
parameters:
source:
map_from:
name: "(disk\\.device|disk)\\.(read|write)\\.(bytes|requests)"
unit: "(B|request)"
target:
map_to:
name: "\\1.\\2.\\3.rate"
unit: "\\1/s"
type: "gauge"
publishers:
- notifier://
- name: network_sink
transformers:
- name: "rate_of_change"
parameters:
source:
map_from:
name: "network\\.(incoming|outgoing)\\.(bytes|packets)"
unit: "(B|packet)"
target:
map_to:
name: "network.\\1.\\2.rate"
unit: "\\1/s"
type: "gauge"
publishers:
- notifier://
- name: contrail_sink
publishers:
- rpc://
transformers: