Merge "Custom ceilometer configuration files"
This commit is contained in:
commit
1a7ca9182a
|
@ -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
|
||||
|
|
|
@ -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,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
|
@ -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
|
Loading…
Reference in New Issue