Skip to content

Commit dcd9c10

Browse files
Adjust multi-cloud config to avoid extra topics (#240)
* Adjust multi-cloud config to avoid extra topics When using collectd-write-qdr.yaml in a multi-cloud configuration, multiple topics will be published to as the defaults in collectd-write-qdr.yaml will be merged with the configured values in the stf-connectors.yaml. Directly load the resource_registry and collectd service directly in the stf-connectors.yaml instead. * Update doc-Service-Telemetry-Framework/modules/proc_creating-openstack-environment-file-for-multiple-clouds.adoc * Update doc-Service-Telemetry-Framework/modules/proc_creating-openstack-environment-file-for-multiple-clouds.adoc Co-authored-by: JoanneOFlynn2018 <45287002+JoanneOFlynn2018@users.noreply.github.com> * Update doc-Service-Telemetry-Framework/modules/proc_creating-openstack-environment-file-for-multiple-clouds.adoc Co-authored-by: JoanneOFlynn2018 <45287002+JoanneOFlynn2018@users.noreply.github.com> Co-authored-by: JoanneOFlynn2018 <45287002+JoanneOFlynn2018@users.noreply.github.com>
1 parent c8e5444 commit dcd9c10

File tree

3 files changed

+35
-16
lines changed

3 files changed

+35
-16
lines changed

doc-Service-Telemetry-Framework/modules/proc_creating-openstack-environment-file-for-multiple-clouds.adoc

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -56,9 +56,12 @@ endif::include_when_13[]
5656
.stf-connectors.yaml
5757
[source,yaml,options="nowrap"]
5858
----
59+
resource_registry:
60+
OS::TripleO::Services::Collectd: /usr/share/openstack-tripleo-heat-templates/deployment/metrics/collectd-container-puppet.yaml # <1>
61+
5962
parameter_defaults:
6063
MetricsQdrConnectors:
61-
- host: stf-default-interconnect-5671-service-telemetry.apps.infra.watch # <1>
64+
- host: stf-default-interconnect-5671-service-telemetry.apps.infra.watch # <2>
6265
port: 443
6366
role: edge
6467
verifyHostname: false
@@ -75,32 +78,33 @@ endif::include_when_13[]
7578
7679
CeilometerQdrEventsConfig:
7780
driver: amqp
78-
topic: cloud1-event # <2>
81+
topic: cloud1-event # <3>
7982
8083
CeilometerQdrMetricsConfig:
8184
driver: amqp
82-
topic: cloud1-metering # <3>
85+
topic: cloud1-metering # <4>
8386
8487
CollectdAmqpInstances:
85-
cloud1-notify: # <4>
88+
cloud1-notify: # <5>
8689
notify: true
8790
format: JSON
8891
presettle: false
89-
cloud1-telemetry: # <5>
92+
cloud1-telemetry: # <6>
9093
format: JSON
9194
presettle: true
9295
9396
ifdef::include_when_16[]
94-
CollectdSensubilityResultsChannel: sensubility/cloud1-telemetry # <6>
97+
CollectdSensubilityResultsChannel: sensubility/cloud1-telemetry # <7>
9598
endif::include_when_16[]
9699
----
97-
<1> Replace the `host` parameter with the value of `HOST/PORT` that you retrieved in xref:retrieving-the-qdr-route-address_assembly-completing-the-stf-configuration[].
98-
<2> Define the topic for Ceilometer events. This value is the address format of `anycast/ceilometer/cloud1-event.sample`.
99-
<3> Define the topic for Ceilometer metrics. This value is the address format of `anycast/ceilometer/cloud1-metering.sample`.
100-
<4> Define the topic for collectd events. This value is the format of `collectd/cloud1-notify`.
101-
<5> Define the topic for collectd metrics. This value is the format of `collectd/cloud1-telemetry`.
100+
<1> Directly load the collectd service because you are not including the `collectd-write-qdr.yaml` environment file for multiple cloud deployments.
101+
<2> Replace the `host` parameter with the value of `HOST/PORT` that you retrieved in xref:retrieving-the-qdr-route-address_assembly-completing-the-stf-configuration[].
102+
<3> Define the topic for Ceilometer events. This value is the address format of `anycast/ceilometer/cloud1-event.sample`.
103+
<4> Define the topic for Ceilometer metrics. This value is the address format of `anycast/ceilometer/cloud1-metering.sample`.
104+
<5> Define the topic for collectd events. This value is the format of `collectd/cloud1-notify`.
105+
<6> Define the topic for collectd metrics. This value is the format of `collectd/cloud1-telemetry`.
102106
ifdef::include_when_16[]
103-
<6> Define the topic for collectd-sensubility events. Ensure that this value is the exact string format `sensubility/cloud1-telemetry`
107+
<7> Define the topic for collectd-sensubility events. Ensure that this value is the exact string format `sensubility/cloud1-telemetry`
104108
endif::include_when_16[]
105109
+
106110
. Ensure that the naming convention in the `stf-connectors.yaml` file aligns with the `spec.bridge.amqpUrl` field in the Smart Gateway configuration. For example, configure the `CeilometerQdrEventsConfig.topic` field to a value of `cloud1-event`.
@@ -116,13 +120,15 @@ endif::include_when_16[]
116120

117121
. Include the `stf-connectors.yaml` file and unique domain name environment file `hostnames.yaml` in the `openstack overcloud deployment` command, along with any other environment files relevant to your environment:
118122
+
123+
[WARNING]
124+
If you use the `collectd-write-qdr.yaml` file with a custom `CollectdAmqpInstances` parameter, data publishes to the custom and default topics. In a multiple cloud environment, the configuration of the `resource_registry` parameter in the `stf-connectors.yaml` file loads the collectd service.
125+
+
119126
[source,bash,options="nowrap",subs="+quotes"]
120127
----
121128
(undercloud) [stack@undercloud-0 ~]$ openstack overcloud deploy _<other_arguments>_
122129
--templates /usr/share/openstack-tripleo-heat-templates \
123130
--environment-file _<...other_environment_files...>_ \
124131
--environment-file /usr/share/openstack-tripleo-heat-templates/environments/metrics/ceilometer-write-qdr.yaml \
125-
--environment-file /usr/share/openstack-tripleo-heat-templates/environments/metrics/collectd-write-qdr.yaml \
126132
--environment-file /usr/share/openstack-tripleo-heat-templates/environments/metrics/qdr-edge-only.yaml \
127133
--environment-file /home/stack/hostnames.yaml \
128134
--environment-file /home/stack/enable-stf.yaml \

doc-Service-Telemetry-Framework/modules/proc_creating-the-base-configuration-for-stf.adoc

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,20 @@ parameter_defaults:
5656
CeilometerQdrPublishMetrics: true
5757
CeilometerQdrPublishEvents: true
5858
59-
# set collectd overrides for higher telemetry resolution and extra plugins
60-
# to load
59+
# set collectd overrides for higher telemetry resolution and extra plugins to load
6160
CollectdConnectionType: amqp1
6261
CollectdAmqpInterval: 5
6362
CollectdDefaultPollingInterval: 5
6463
CollectdExtraPlugins:
6564
- vmem
6665
66+
# set standard prefixes for where metrics and events are published to QDR
67+
MetricsQdrAddresses:
68+
- prefix: 'collectd'
69+
distribution: multicast
70+
- prefix: 'anycast/ceilometer'
71+
distribution: multicast
72+
6773
ExtraConfig:
6874
ceilometer::agent::polling::polling_interval: 30
6975
ceilometer::agent::polling::polling_meters:
@@ -141,6 +147,13 @@ parameter_defaults:
141147
CollectdExtraPlugins:
142148
- vmem
143149
150+
# set standard prefixes for where metrics and events are published to QDR
151+
MetricsQdrAddresses:
152+
- prefix: 'collectd'
153+
distribution: multicast
154+
- prefix: 'anycast/ceilometer'
155+
distribution: multicast
156+
144157
ExtraConfig:
145158
ceilometer::agent::polling::polling_interval: 30
146159
ceilometer::agent::polling::polling_meters:

doc-Service-Telemetry-Framework/modules/proc_querying-metrics-data-from-multiple-clouds.adoc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@
2626
[role="_abstract"]
2727
Data stored in Prometheus has a _service_ label attached according to the Smart Gateway it was scraped from. You can use this label to query data from a specific cloud.
2828

29-
To query data from a specific cloud, use a Prometheus `promql` query that matches the associated _service_ label; for example: `collectd_uptime{service="default-cloud1-coll-meter-smartgateway"}`.
29+
To query data from a specific cloud, use a Prometheus `promql` query that matches the associated _service_ label; for example: `collectd_uptime{service="default-cloud1-coll-meter"}`.

0 commit comments

Comments
 (0)