Telemetry services¶
TechPreview Deprecated since MOSK 24.2.2
The Telemetry services are part of OpenStack services available in Mirantis OpenStack for Kubernetes (MOSK). The Telemetry services monitor OpenStack components, collect and store the telemetry data from them, and perform responsive actions upon this data. See OpenStack cluster for details about OpenStack services in MOSK.
OpenStack Ceilometer is a service that collects data from various OpenStack
components. The service can also collect and process notifications from
different OpenStack services. Ceilometer stores the data in the Gnocchi
database. The service is specified as metering
in the
OpenStackDeployment
custom resource (CR).
Gnocchi is an open-source time series database. One of the advantages of this
database is the ability to pre-aggregate the telemetry data while storing it.
Gnocchi is specified as metric
in the OpenStackDeployment
CR.
OpenStack Aodh is part of the Telemetry project. Aodh provides a service that
creates alarms based on various metric values or specific events and triggers
response actions. The service uses data collected and stored by Ceilometer
and Gnocchi. Aodh is specified as alarming
in the OpenStackDeployment
CR.
Enabling Telemetry services¶
The Telemetry feature in MOSK has a single mode.
The autoscaling
mode provides settings for telemetry data collection and
storing. The OpenStackDeployment
CR should have this mode specified for the
correct work of the OpenStack Telemetry services. The autoscaling
mode has
the following notable configurations:
Gnocchi stores cache and data using the Redis storage driver.
Metric stores data for one hour with a resolution of 1 minute.
The Telemetry services are disabled by default in MOSK.
You have to enable them
in the openstackdeployment.yaml
file (the OpenStackDeployment
CR).
The following code block provides an example of deploying the Telemetry
services as part of MOSK:
kind: OpenStackDeployment
spec:
features:
services:
- alarming
- metering
- metric
telemetry:
mode: autoscaling
Advanced configuration¶
Gnocchi¶
Gnocchi is not an OpenStack service, so the settings related to its
functioning should be included in the spec:common:infra
section of the
OpenStackDeployment
CR.
Ceilometer¶
The Ceilometer configuration files contain many list structures. Overriding
list elements in YAML files is context-dependent and error-prone. Therefore,
to override these configuration files, define the spec:services
structure in the OpenStackDeployment
CR.
The spec:services
structure provides the ability to use a complete file as
text and not as YAML data structure.
Overriding through the spec:services
structure is possible for the
following files:
pipeline.yaml
polling.yaml
meters.yaml
gnocchi_resources.yaml
event_pipeline.yaml
event_definitions.yaml
An example of overriding through the OpenStackDeployment
CR
By default, the autoscaling mode collects the data related to CPU, disk, and memory every minute. The autoscaling mode collects the rest of the available metrics every hour.
The following example shows the overriding of the polling.yaml
configuration file through the spec:services
structure of the
OpenStackDeployment
CR.
Get the current configuration file:
kubectl -n openstack get secret ceilometer-etc -ojsonpath="{.data['polling\.yaml']}" | base64 -d sources: - interval: 60 meters: - cpu - disk* - memory* name: ascale_pollsters - interval: 3600 meters: - '*' name: all_pollsters
Add the
network
parameter to the file.Copy and paste the edited
polling.yaml
file content to thespec:services:metering
section of theOpenStackDeployment
CR:spec: services: metering: ceilometer: conf: polling: | # Obligatory. The "|" indicator denotes the literal style. See https://yaml.org/spec/1.2-old/spec.html#id2795688 for details. sources: - interval: 60 meters: - cpu - disk* - memory* - network* name: ascale_pollsters - interval: 3600 meters: - '*' name: all_pollsters