Red Hat Training
A Red Hat training course is available for Red Hat OpenStack Platform
2.2. Configuring the Telemetry service on a large, production overcloud
When you enable the Red Hat OpenStack Platform (RHOSP) Telemetry service on a large production overcloud, you can improve its performance by deploying the Telemetry service on a dedicated node.
The Telemetry service uses whichever RHOSP object store that has been chosen as its storage back end. If you do not enable Red Hat Ceph Storage, the Telemetry service uses the the RHOSP Object Storage service (swift). By default, RHOSP director colocates the Object Storage service with the Telemetry service on the Controller.
Prerequisites
- The overcloud on which you are deploying the Telemetry service is a large, production overcloud.
Procedure
To set dedicated telemetry nodes, remove the telemetry services from the Controller role.
Create an Orchestration service (heat) custom environment file by copying
/usr/share/openstack-tripleo-heat-templates/roles_data.yaml
to/home/stack/templates/roles_data.yaml
.In
/home/stack/templates/roles_data.yaml
, remove the following lines from theServicesDefault
list of the Controller role:- OS::TripleO::Services::CeilometerAgentCentral - OS::TripleO::Services::CeilometerAgentNotification - OS::TripleO::Services::GnocchiApi - OS::TripleO::Services::GnocchiMetricd - OS::TripleO::Services::GnocchiStatsd - OS::TripleO::Services::AodhApi - OS::TripleO::Services::AodhEvaluator - OS::TripleO::Services::AodhNotifier - OS::TripleO::Services::AodhListener - OS::TripleO::Services::PankoApi - OS::TripleO::Services::CeilometerAgentIpmi
Add the following snippet and save
roles_data.yaml
:- name: Telemetry ServicesDefault: - OS::TripleO::Services::CACerts - OS::TripleO::Services::CertmongerUser - OS::TripleO::Services::Kernel - OS::TripleO::Services::Ntp - OS::TripleO::Services::Timezone - OS::TripleO::Services::Snmp - OS::TripleO::Services::Sshd - OS::TripleO::Services::Securetty - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::SensuClient - OS::TripleO::Services::FluentdClient - OS::TripleO::Services::AuditD - OS::TripleO::Services::Collectd - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::Docker - OS::TripleO::Services::CeilometerAgentCentral - OS::TripleO::Services::CeilometerAgentNotification - OS::TripleO::Services::GnocchiApi - OS::TripleO::Services::GnocchiMetricd - OS::TripleO::Services::GnocchiStatsd - OS::TripleO::Services::AodhApi - OS::TripleO::Services::AodhEvaluator - OS::TripleO::Services::AodhNotifier - OS::TripleO::Services::AodhListener - OS::TripleO::Services::PankoApi - OS::TripleO::Services::CeilometerAgentIpmi
In the
/home/stack/storage-environment.yaml
file, set the number of dedicated nodes for the Telemetry service.For example, add
TelemetryCount: 3
to theparameter_defaults
to deploy three dedicated telemetry nodes:parameter_defaults: TelemetryCount: 3
You now have a custom telemetry role.
With this role, you can define a new flavor to tag and assign specific telemetry nodes.
When you deploy your overcloud, include
roles_data.yaml
andstorage-environment.yaml
to the list of your templates and environment files thatopenstack overcloud deploy
command calls:$ openstack overcloud deploy \ -r /home/stack/templates/roles_data.yaml \ -e /home/stack/templates/storage-environment.yaml \ -e /usr/share/openstack-tripleo-heat-templates/environments/enable-legacy-telemetry.yaml \ [...]
- If you cannot allocate dedicated nodes to the Telemetry service, and you still need to use the Object Storage service as its back end, configure the Object Storage service on the Controller node. Locating the Object Storage service on the Controller lowers the overall storage I/O.
Additional resources
- Creating a New Role in the Advanced Overcloud Customization guide
- Configuration recommendations for the Object Storage service (swift)
- Modifying the Overcloud Environment in the Director Installation and Usage guide