第 5 章 为 Service Telemetry Framework 配置 Red Hat OpenStack Platform director Operator
要收集指标、事件或两者,并将其发送到 Service Telemetry Framework (STF)存储域,您必须配置 Red Hat OpenStack Platform (RHOSP) overcloud 以启用数据收集和传输。
STF 可以同时支持单和多个云。为单个云安装设置 RHOSP 和 STF 的默认配置。
- 有关使用带有默认配置的 director Operator 的单一 RHOSP overcloud 部署,请参阅 第 5.1 节 “使用 director Operator 为 Service Telemetry Framework 部署 Red Hat OpenStack Platform overcloud”。
使用 director Operator 部署 Red Hat OpenStack Platform (RHOSP) overcloud 部署时,您必须配置数据收集器以及 Service Telemetry Framework (STF)的数据传输。
前提条件
- 熟悉使用 RHOSP director Operator 部署和管理 RHOSP。
流程
其他资源
- 有关使用 director Operator 部署 OpenStack 云的更多信息,请参阅 https://access.redhat.com/documentation/zh-cn/red_hat_openstack_platform/16.2/html/rhosp_director_operator_for_openshift_container_platform/index
- 要通过 AMQ Interconnect 收集数据,请参阅 amqp1 插件。
5.1.1. 检索 AMQ Interconnect 路由地址 复制链接链接已复制到粘贴板!
当您为 Service Telemetry Framework (STF)配置 Red Hat OpenStack Platform (RHOSP) overcloud 时,您必须在 STF 连接文件中提供 AMQ Interconnect 路由地址。
流程
- 登录到托管 STF 的 Red Hat OpenShift Container Platform 环境。
进入
service-telemetry项目:$ oc project service-telemetry检索 AMQ Interconnect 路由地址:
$ oc get routes -ogo-template='{{ range .items }}{{printf "%s\n" .spec.host }}{{ end }}' | grep "\-5671" default-interconnect-5671-service-telemetry.apps.infra.watch
5.1.2. 为 STF 创建 director Operator 的基本配置 复制链接链接已复制到粘贴板!
编辑 heat-env-config-deploy ConfigMap,将基本 Service Telemetry Framework (STF)配置添加到 overcloud 节点。
流程
登录到部署了 RHOSP director Operator 的 Red Hat OpenShift Container Platform 环境,并更改到托管 RHOSP 部署的项目:
$ oc project openstack打开
heat-env-config-deployConfigMapCR 进行编辑:$ oc edit heat-env-config-deploy将
enable-stf.yaml配置添加到heat-env-config-deployConfigMap 中,保存您的编辑并关闭该文件:enable-stf.yaml
apiVersion: v1 data: [...] enable-stf.yaml: | parameter_defaults: # only send to STF, not other publishers PipelinePublishers: [] # manage the polling and pipeline configuration files for Ceilometer agents ManagePolling: true ManagePipeline: true ManageEventPipeline: false # enable Ceilometer metrics and events CeilometerQdrPublishMetrics: true # enable collection of API status CollectdEnableSensubility: true CollectdSensubilityTransport: amqp1 # enable collection of containerized service metrics CollectdEnableLibpodstats: true # set collectd overrides for higher telemetry resolution and extra plugins # to load CollectdConnectionType: amqp1 CollectdAmqpInterval: 30 CollectdDefaultPollingInterval: 30 # to collect information about the virtual memory subsystem of the kernel # CollectdExtraPlugins: # - vmem # set standard prefixes for where metrics are published to QDR MetricsQdrAddresses: - prefix: 'collectd' distribution: multicast - prefix: 'anycast/ceilometer' distribution: multicast ExtraConfig: ceilometer::agent::polling::polling_interval: 30 ceilometer::agent::polling::polling_meters: - cpu - memory.usage # to avoid filling the memory buffers if disconnected from the message bus # note: this may need an adjustment if there are many metrics to be sent. collectd::plugin::amqp1::send_queue_limit: 5000 # to receive extra information about virtual memory, you must enable vmem plugin in CollectdExtraPlugins # collectd::plugin::vmem::verbose: true # provide name and uuid in addition to hostname for better correlation # to ceilometer data collectd::plugin::virt::hostname_format: "name uuid hostname" # to capture all extra_stats metrics, comment out below config collectd::plugin::virt::extra_stats: cpu_util vcpu disk # provide the human-friendly name of the virtual instance collectd::plugin:ConfigMap :virt::plugin_instance_format: metadata # set memcached collectd plugin to report its metrics by hostname # rather than host IP, ensuring metrics in the dashboard remain uniform collectd::plugin::memcached::instances: local: host: "%{hiera('fqdn_canonical')}" port: 11211 # report root filesystem storage metrics collectd::plugin::df::ignoreselected: false
5.1.3. 为 overcloud 为 director Operator 配置 STF 连接 复制链接链接已复制到粘贴板!
编辑 heat-env-config-deploy ConfigMap,以创建从 Red Hat OpenStack Platform (RHOSP)到 Service Telemetry Framework 的连接。
流程
登录到部署了 RHOSP director Operator 的 Red Hat OpenShift Container Platform 环境,并更改到托管 RHOSP 部署的项目:
$ oc project openstack打开
heat-env-config-deployConfigMap 进行编辑:$ oc edit configmap heat-env-config-deploy将
stf-connectors.yaml配置添加到heat-env-config-deployConfigMap 中,适用于您的环境,保存您的编辑并关闭该文件:stf-connectors.yaml
apiVersion: v1 data: [...] stf-connectors.yaml: | resource_registry: OS::TripleO::Services::Collectd: /usr/share/openstack-tripleo-heat-templates/deployment/metrics/collectd-container-puppet.yaml parameter_defaults: MetricsQdrConnectors: - host: default-interconnect-5671-service-telemetry.apps.ostest.test.metalkube.org port: 443 role: edge verifyHostname: false sslProfile: sslProfile saslUsername: guest@default-interconnect saslPassword: <password_from_stf> MetricsQdrSSLProfiles: - name: sslProfile CeilometerQdrMetricsConfig: driver: amqp topic: cloud1-metering CollectdAmqpInstances: cloud1-telemetry: format: JSON presettle: false CollectdSensubilityResultsChannel: sensubility/cloud1-telemetry-
resource_registry配置直接加载 collectd 服务,因为您不包含用于多个云部署的collectd-write-qdr.yaml环境文件。 -
将
MetricsQdrConnectors的主机子参数替换为您在 第 4.1.2 节 “检索 AMQ Interconnect 路由地址” 中检索的值。 -
将
MetricsQdrConnector> 部分替换为您在 第 4.1.1 节 “检索 AMQ Interconnect 密码” 中检索的值。s的saslPassword子参数中的 <password_from_stf -
设置
CeilometerQdrMetricsConfig.值,以定义 Ceilometer 指标的主题。该值是云的唯一标识符,如topic的主题cloud1-metering。 -
设置
CollectdAmqpInstances子参数,以定义 collectd 指标的主题。部分名称是云的唯一标识符,如cloud1-telemetry。 -
设置
CollectdSensubilityResultsChannel,以定义 collectd-sensubility 事件的主题。该值是云的唯一主题标识符,如sensubility/cloud1-telemetry。
-
5.1.4. 为 director Operator 部署 overcloud 复制链接链接已复制到粘贴板!
使用所需的环境文件部署或更新 overcloud,以便收集数据并传输到 Service Telemetry Framework (STF)。
流程
登录到部署了 RHOSP director Operator 的 Red Hat OpenShift Container Platform 环境,并更改到托管 RHOSP 部署的项目:
$ oc project openstack打开
OpenStackConfigGenerator自定义资源进行编辑:$ oc edit OpenStackConfigGenerator添加
metrics/ceilometer-write-qdr.yaml和metrics/qdr-edge-only.yaml环境文件,作为heatEnvs参数的值。保存编辑并关闭OpenStackConfigGenerator自定义资源:注意如果您已经使用 director Operator 部署 Red Hat OpenStack Platform 环境,您必须删除现有
OpenStackConfigGenerator并创建带有完整配置的新对象,才能重新生成OpenStackConfigVersion。OpenStackConfigGenerator
apiVersion: osp-director.openstack.org/v1beta1 kind: OpenStackConfigGenerator metadata: name: default namespace: openstack spec: heatEnvConfigMap: heat-env-config-deploy heatEnvs: - <existing_environment_file_references> - metrics/ceilometer-write-qdr.yaml - metrics/qdr-edge-only.yaml-
如果您已经使用 director Operator 部署 Red Hat OpenStack Platform 环境,并生成新的
OpenStackConfigVersion,请编辑部署的OpenStackDeploy对象,并将spec.configVersion的值设置为新的OpenStackConfigVersion以更新 overcloud 部署。