Merge "Add config to manipulate the pipeline.yaml"
This commit is contained in:
commit
173374187e
@ -236,7 +236,7 @@ options:
|
||||
type: boolean
|
||||
default: False
|
||||
description: |
|
||||
Openstack mostly defaults to using public endpoints for
|
||||
OpenStack mostly defaults to using public endpoints for
|
||||
internal communication between services. If set to True this option
|
||||
will configure services to use internal endpoints where possible.
|
||||
remote-sink:
|
||||
@ -249,3 +249,9 @@ options:
|
||||
.
|
||||
'udp://<host>:<port>/'
|
||||
'prometheus://pushgateway-host:9091/metrics/job/openstack-telemetry'
|
||||
pipeline-yaml:
|
||||
type: string
|
||||
default: ""
|
||||
description: |
|
||||
When set the content is written to /etc/ceilometer/pipeline.yaml, by
|
||||
default the package's file is used.
|
||||
|
@ -121,6 +121,14 @@ class CeilometerServiceContext(OSContextGenerator):
|
||||
return {}
|
||||
|
||||
|
||||
class CeilometerPipelineContext(OSContextGenerator):
|
||||
def __call__(self):
|
||||
ctxt = {
|
||||
'pipeline_yaml': config('pipeline-yaml')
|
||||
}
|
||||
return ctxt
|
||||
|
||||
|
||||
class HAProxyContext(OSContextGenerator):
|
||||
interfaces = ['ceilometer-haproxy']
|
||||
|
||||
|
@ -28,6 +28,7 @@ from ceilometer_contexts import (
|
||||
LoggingConfigContext,
|
||||
MongoDBContext,
|
||||
CeilometerContext,
|
||||
CeilometerPipelineContext,
|
||||
HAProxyContext,
|
||||
MetricServiceContext,
|
||||
CEILOMETER_PORT,
|
||||
@ -68,6 +69,7 @@ from copy import deepcopy
|
||||
HAPROXY_CONF = '/etc/haproxy/haproxy.cfg'
|
||||
CEILOMETER_CONF_DIR = "/etc/ceilometer"
|
||||
CEILOMETER_CONF = "%s/ceilometer.conf" % CEILOMETER_CONF_DIR
|
||||
CEILOMETER_PIPELINE_YAML = "%s/pipeline.yaml" % CEILOMETER_CONF_DIR
|
||||
CEILOMETER_API_SYSTEMD_CONF = (
|
||||
'/etc/systemd/system/ceilometer-api.service.d/override.conf'
|
||||
)
|
||||
@ -178,6 +180,10 @@ CONFIG_FILES = OrderedDict([
|
||||
'hook_contexts': [HAProxyContext()],
|
||||
'services': ['ceilometer-api'],
|
||||
}),
|
||||
(CEILOMETER_PIPELINE_YAML, {
|
||||
'hook_contexts': [CeilometerPipelineContext()],
|
||||
'services': ['ceilometer-collector'],
|
||||
}),
|
||||
(HAPROXY_CONF, {
|
||||
'hook_contexts': [context.HAProxyContext(singlenode_mode=True),
|
||||
HAProxyContext()],
|
||||
|
87
templates/icehouse/pipeline.yaml
Normal file
87
templates/icehouse/pipeline.yaml
Normal file
@ -0,0 +1,87 @@
|
||||
###############################################################################
|
||||
## [ WARNING ]
|
||||
## ceilometer configuration file maintained by Juju
|
||||
## local changes may be overwritten.
|
||||
################################################################################
|
||||
{%- if pipeline_yaml -%}
|
||||
{{ pipeline_yaml }}
|
||||
{% else %}
|
||||
---
|
||||
sources:
|
||||
- name: meter_source
|
||||
interval: 600
|
||||
meters:
|
||||
- "*"
|
||||
sinks:
|
||||
- meter_sink
|
||||
- name: cpu_source
|
||||
interval: 600
|
||||
meters:
|
||||
- "cpu"
|
||||
sinks:
|
||||
- cpu_sink
|
||||
- name: disk_source
|
||||
interval: 600
|
||||
meters:
|
||||
- "disk.read.bytes"
|
||||
- "disk.read.requests"
|
||||
- "disk.write.bytes"
|
||||
- "disk.write.requests"
|
||||
sinks:
|
||||
- disk_sink
|
||||
- name: network_source
|
||||
interval: 600
|
||||
meters:
|
||||
- "network.incoming.bytes"
|
||||
- "network.incoming.packets"
|
||||
- "network.outgoing.bytes"
|
||||
- "network.outgoing.packets"
|
||||
sinks:
|
||||
- network_sink
|
||||
sinks:
|
||||
- name: meter_sink
|
||||
transformers:
|
||||
publishers:
|
||||
- rpc://
|
||||
- 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:
|
||||
- rpc://
|
||||
- name: disk_sink
|
||||
transformers:
|
||||
- name: "rate_of_change"
|
||||
parameters:
|
||||
source:
|
||||
map_from:
|
||||
name: "disk\\.(read|write)\\.(bytes|requests)"
|
||||
unit: "(B|request)"
|
||||
target:
|
||||
map_to:
|
||||
name: "disk.\\1.\\2.rate"
|
||||
unit: "\\1/s"
|
||||
type: "gauge"
|
||||
publishers:
|
||||
- rpc://
|
||||
- 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:
|
||||
- rpc://
|
||||
{% endif %}
|
91
templates/kilo/pipeline.yaml
Normal file
91
templates/kilo/pipeline.yaml
Normal file
@ -0,0 +1,91 @@
|
||||
###############################################################################
|
||||
### [ WARNING ]
|
||||
### ceilometer configuration file maintained by Juju
|
||||
### local changes may be overwritten.
|
||||
#################################################################################
|
||||
{%- if pipeline_yaml -%}
|
||||
{{ pipeline_yaml }}
|
||||
{% else %}
|
||||
---
|
||||
sources:
|
||||
- name: meter_source
|
||||
interval: 600
|
||||
meters:
|
||||
- "*"
|
||||
sinks:
|
||||
- meter_sink
|
||||
- name: cpu_source
|
||||
interval: 600
|
||||
meters:
|
||||
- "cpu"
|
||||
sinks:
|
||||
- cpu_sink
|
||||
- name: disk_source
|
||||
interval: 600
|
||||
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: 600
|
||||
meters:
|
||||
- "network.incoming.bytes"
|
||||
- "network.incoming.packets"
|
||||
- "network.outgoing.bytes"
|
||||
- "network.outgoing.packets"
|
||||
sinks:
|
||||
- network_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://
|
||||
{% endif %}
|
101
templates/mitaka/pipeline.yaml
Normal file
101
templates/mitaka/pipeline.yaml
Normal file
@ -0,0 +1,101 @@
|
||||
###############################################################################
|
||||
### [ WARNING ]
|
||||
### ceilometer configuration file maintained by Juju
|
||||
### local changes may be overwritten.
|
||||
#################################################################################
|
||||
{%- if pipeline_yaml -%}
|
||||
{{ pipeline_yaml }}
|
||||
{% else %}
|
||||
---
|
||||
sources:
|
||||
- name: meter_source
|
||||
interval: 600
|
||||
meters:
|
||||
- "*"
|
||||
sinks:
|
||||
- meter_sink
|
||||
- name: cpu_source
|
||||
interval: 600
|
||||
meters:
|
||||
- "cpu"
|
||||
sinks:
|
||||
- cpu_sink
|
||||
- cpu_delta_sink
|
||||
- name: disk_source
|
||||
interval: 600
|
||||
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: 600
|
||||
meters:
|
||||
- "network.incoming.bytes"
|
||||
- "network.incoming.packets"
|
||||
- "network.outgoing.bytes"
|
||||
- "network.outgoing.packets"
|
||||
sinks:
|
||||
- network_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: cpu_delta_sink
|
||||
transformers:
|
||||
- name: "delta"
|
||||
parameters:
|
||||
target:
|
||||
name: "cpu.delta"
|
||||
growth_only: True
|
||||
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://
|
||||
{% endif %}
|
98
templates/ocata/pipeline.yaml
Normal file
98
templates/ocata/pipeline.yaml
Normal file
@ -0,0 +1,98 @@
|
||||
###############################################################################
|
||||
### [ WARNING ]
|
||||
### ceilometer configuration file maintained by Juju
|
||||
### local changes may be overwritten.
|
||||
#################################################################################
|
||||
{%- if pipeline_yaml -%}
|
||||
{{ pipeline_yaml }}
|
||||
{% else %}
|
||||
---
|
||||
sources:
|
||||
- name: meter_source
|
||||
meters:
|
||||
- "*"
|
||||
sinks:
|
||||
- meter_sink
|
||||
- name: cpu_source
|
||||
meters:
|
||||
- "cpu"
|
||||
sinks:
|
||||
- cpu_sink
|
||||
- cpu_delta_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:
|
||||
- notifier://
|
||||
- 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:
|
||||
- notifier://
|
||||
- name: cpu_delta_sink
|
||||
transformers:
|
||||
- name: "delta"
|
||||
parameters:
|
||||
target:
|
||||
name: "cpu.delta"
|
||||
growth_only: True
|
||||
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://
|
||||
{% endif %}
|
98
templates/pike/pipeline.yaml
Normal file
98
templates/pike/pipeline.yaml
Normal file
@ -0,0 +1,98 @@
|
||||
###############################################################################
|
||||
### [ WARNING ]
|
||||
### ceilometer configuration file maintained by Juju
|
||||
### local changes may be overwritten.
|
||||
#################################################################################
|
||||
{%- if pipeline_yaml -%}
|
||||
{{ pipeline_yaml }}
|
||||
{% else %}
|
||||
---
|
||||
sources:
|
||||
- name: meter_source
|
||||
meters:
|
||||
- "*"
|
||||
sinks:
|
||||
- meter_sink
|
||||
- name: cpu_source
|
||||
meters:
|
||||
- "cpu"
|
||||
sinks:
|
||||
- cpu_sink
|
||||
- cpu_delta_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: 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://
|
||||
{% endif %}
|
@ -126,6 +126,8 @@ class CeilometerUtilsTest(CharmTestCase):
|
||||
'ceilometer-alarm-notifier',
|
||||
'ceilometer-alarm-evaluator',
|
||||
'ceilometer-agent-notification'],
|
||||
'/etc/ceilometer/pipeline.yaml': [
|
||||
'ceilometer-collector'],
|
||||
'/etc/systemd/system/ceilometer-api.service.d/override.conf': [
|
||||
'ceilometer-api'],
|
||||
'/etc/haproxy/haproxy.cfg': ['haproxy'],
|
||||
@ -150,6 +152,8 @@ class CeilometerUtilsTest(CharmTestCase):
|
||||
'ceilometer-collector',
|
||||
'ceilometer-api',
|
||||
'ceilometer-agent-notification'],
|
||||
'/etc/ceilometer/pipeline.yaml': [
|
||||
'ceilometer-collector'],
|
||||
'/etc/systemd/system/ceilometer-api.service.d/override.conf': [
|
||||
'ceilometer-api'],
|
||||
'/etc/haproxy/haproxy.cfg': ['haproxy'],
|
||||
|
Loading…
Reference in New Issue
Block a user