Merge "Custom ceilometer configuration files"

This commit is contained in:
Zuul 2018-08-13 15:44:39 +00:00 committed by Gerrit Code Review
commit 1a7ca9182a
4 changed files with 237 additions and 36 deletions

View File

@ -295,6 +295,8 @@ neutron::services::bgpvpn::service_providers:
# ceilometer
ceilometer::agent::notification::enabled: false
ceilometer::agent::notification::disable_non_metric_meters: false
ceilometer::agent::notification::manage_event_pipeline: true
ceilometer::agent::notification::event_pipeline_publishers: ['gnocchi://', 'direct://?dispatcher=panko']
ceilometer::agent::polling::central_namespace: true
ceilometer::agent::polling::compute_namespace: false

View File

@ -82,6 +82,14 @@ class openstack::ceilometer::agent::notification {
$ceilometer_directory_csv = "${ceilometer_directory}/csv"
$ceilometer_directory_versioned = "${ceilometer_directory}/${::platform::params::software_version}"
file { "/etc/ceilometer/pipeline.yaml":
ensure => 'present',
content => template('openstack/pipeline.yaml.erb'),
mode => '0640',
owner => 'root',
group => 'ceilometer',
tag => 'ceilometer-yamls',
} ->
file { "${ceilometer_directory}":
ensure => 'directory',
owner => 'root',
@ -101,7 +109,7 @@ class openstack::ceilometer::agent::notification {
mode => '0755',
} ->
file { "${ceilometer_directory_versioned}/pipeline.yaml":
source => '/etc/ceilometer/controller.yaml',
source => '/etc/ceilometer/pipeline.yaml',
ensure => 'file',
owner => 'root',
group => 'root',
@ -129,45 +137,62 @@ class openstack::ceilometer::agent::notification {
}
class openstack::ceilometer::polling {
include ::platform::params
class openstack::ceilometer::polling (
$instance_polling_interval = 600,
$instance_cpu_polling_interval = 30,
$instance_disk_polling_interval = 600,
$ipmi_polling_interval = 600,
$ceph_polling_interval = 600,
$image_polling_interval = 600,
$volume_polling_interval = 600,
) {
include ::platform::params
if $::personality == 'controller' {
$central_namespace = true
} else {
$central_namespace = false
}
file { "/etc/ceilometer/polling.yaml":
ensure => 'present',
content => template('openstack/polling.yaml.erb'),
mode => '0640',
owner => 'root',
group => 'ceilometer',
tag => 'ceilometer-yamls',
}
if str2bool($::disable_compute_services) {
$agent_enable = false
$compute_namespace = false
if $::personality == 'controller' {
$central_namespace = true
} else {
$central_namespace = false
}
file { '/etc/pmon.d/ceilometer-polling.conf':
ensure => absent,
}
} else {
$agent_enable = true
if str2bool($::disable_compute_services) {
$agent_enable = false
$compute_namespace = false
if str2bool($::is_compute_subfunction) {
$pmon_target = "/etc/ceilometer/ceilometer-polling-compute.conf.pmon"
$compute_namespace = true
} else {
$pmon_target = "/etc/ceilometer/ceilometer-polling.conf.pmon"
$compute_namespace = false
}
file { '/etc/pmon.d/ceilometer-polling.conf':
ensure => absent,
}
} else {
$agent_enable = true
file { "/etc/pmon.d/ceilometer-polling.conf":
ensure => link,
target => $pmon_target,
owner => 'root',
group => 'root',
mode => '0640',
}
}
if str2bool($::is_compute_subfunction) {
$pmon_target = "/etc/ceilometer/ceilometer-polling-compute.conf.pmon"
$compute_namespace = true
} else {
$pmon_target = "/etc/ceilometer/ceilometer-polling.conf.pmon"
$compute_namespace = false
}
class { '::ceilometer::agent::polling':
enabled => $agent_enable,
central_namespace => $central_namespace,
compute_namespace => $compute_namespace,
}
file { "/etc/pmon.d/ceilometer-polling.conf":
ensure => link,
target => $pmon_target,
owner => 'root',
group => 'root',
mode => '0640',
}
}
class { '::ceilometer::agent::polling':
enabled => $agent_enable,
central_namespace => $central_namespace,
compute_namespace => $compute_namespace,
}
}

View File

@ -0,0 +1,106 @@
---
sources:
- name: meter_source
meters:
- "*"
sinks:
- meter_sink
- csv_sink
- name: cpu_source
meters:
- "cpu"
sinks:
- cpu_sink
- cpu_delta_sink
- vcpu_sink
- name: disk_source
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
meters:
- "network.incoming.bytes"
- "network.incoming.packets"
- "network.outgoing.bytes"
- "network.outgoing.packets"
sinks:
- network_sink
sinks:
- name: meter_sink
transformers:
publishers:
- gnocchi://
- name: cpu_sink
transformers:
- name: "rate_of_change"
parameters:
target:
name: "cpu_util"
unit: "%"
type: "gauge"
max: 100
scale: "100.0 / (10**9 * (resource_metadata.cpu_number or 1))"
publishers:
- gnocchi://
- name: cpu_delta_sink
transformers:
- name: "delta"
parameters:
target:
name: "cpu.delta"
growth_only: True
publishers:
- gnocchi://
- name: vcpu_sink
transformers:
- name: "rate_of_change"
parameters:
target:
name: "vcpu_util"
unit: "%"
type: "gauge"
max: 100
scale: "100.0 / (10**9 * (resource_metadata.vcpu_number or 1))"
publishers:
- gnocchi://
- 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:
- gnocchi://
- 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:
- gnocchi://
- name: csv_sink
publishers:
- csvfile:///opt/cgcs/ceilometer/csv/pm.csv?max_bytes=10000000&backup_count=5&compress=True&enabled=True

View File

@ -0,0 +1,68 @@
---
sources:
- name: instance_pollster
interval: <%= @instance_polling_interval %>
meters:
- disk.read.bytes
- disk.read.bytes.rate
- disk.read.requests
- disk.read.requests.rate
- disk.write.bytes
- disk.write.bytes.rate
- disk.write.requests
- disk.write.requests.rate
- disk.capacity
- disk.allocation
- disk.usage
- name: instance_cpu_pollster
interval: <%= @instance_cpu_polling_interval %>
meters:
- cpu
- name: instance_disk_pollster
interval: <%= @instance_disk_polling_interval %>
meters:
- disk.device.read.requests
- disk.device.read.requests.rate
- disk.device.write.requests
- disk.device.write.requests.rate
- disk.device.read.bytes
- disk.device.read.bytes.rate
- disk.device.write.bytes
- disk.device.write.bytes.rate
- disk.device.capacity
- disk.device.allocation
- disk.device.usage
- name: ipmi_pollster
interval: <%= @ipmi_polling_interval %>
meters:
- hardware.ipmi.node.power
- hardware.ipmi.node.temperature
- hardware.ipmi.node.outlet_temperature
- hardware.ipmi.node.airflow
- hardware.ipmi.node.cups
- hardware.ipmi.node.cpu_util
- hardware.ipmi.node.mem_util
- hardware.ipmi.node.io_util
- hardware.ipmi.temperature
- hardware.ipmi.voltage
- hardware.ipmi.current
- hardware.ipmi.fan
- name: ceph_pollster
interval: <%= @ceph_polling_interval %>
meters:
- radosgw.objects
- radosgw.objects.size
- radosgw.objects.containers
- radosgw.api.request
- radosgw.containers.objects
- radosgw.containers.objects.size
- name: image_pollster
interval: <%= @image_polling_interval %>
meters:
- image.size
- name: volume_pollster
interval: <%= @volume_polling_interval %>
meters:
- volume.size
- volume.snapshot.size
- volume.backup.size