搜索

第 5 章 为 Service Telemetry Framework 配置 Red Hat OpenStack Platform director Operator

download PDF

要收集指标、事件或两者,并将它们发送到 Service Telemetry Framework (STF)存储域,您必须配置 Red Hat OpenStack Platform (RHOSP) overcloud 以启用数据收集和传输。

STF 可以同时支持单云和多个云。为单个云安装设置 RHOSP 和 STF 中的默认配置。

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。

其他资源

5.1.1. 从 Service Telemetry Framework 获取用于 overcloud 配置的 CA 证书

要将 Red Hat OpenStack Platform (RHOSP) overcloud 连接到 Service Telemetry Framework (STF),检索在 STF 中运行的 AMQ Interconnect 的 CA 证书,并在 RHOSP 配置中使用证书。

流程

  1. 查看 STF 中的可用证书列表:

    $ oc get secrets
  2. 检索并记录 default-interconnect-selfsigned Secret 的内容:

    $ oc get secret/default-interconnect-selfsigned -o jsonpath='{.data.ca\.crt}' | base64 -d

5.1.2. 检索 AMQ Interconnect 路由地址

当您为 Service Telemetry Framework (STF)配置 Red Hat OpenStack Platform (RHOSP) overcloud 时,您必须在 STF 连接文件中提供 AMQ Interconnect 路由地址。

流程

  1. 登录到托管 STF 的 Red Hat OpenShift Container Platform 环境。
  2. 进入 service-telemetry 项目:

    $ oc project service-telemetry
  3. 检索 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.3. 为 STF 创建 director Operator 的基本配置

编辑 heat-env-config-deploy ConfigMap,将基本 Service Telemetry Framework (STF)配置添加到 overcloud 节点。

流程

  1. 登录到部署了 RHOSP director Operator 的 Red Hat OpenShift Container Platform 环境,并更改到托管 RHOSP 部署的项目:

    $ oc project openstack
  2. 打开 heat-env-config-deploy ConfigMap CR 进行编辑:

    $ oc edit heat-env-config-deploy
  3. enable-stf.yaml 配置添加到 heat-env-config-deploy ConfigMap 中,保存您的编辑并关闭该文件:

    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.4. 为 overcloud 为 director Operator 配置 STF 连接

编辑 heat-env-config-deploy ConfigMap,以创建从 Red Hat OpenStack Platform (RHOSP)到 Service Telemetry Framework 的连接。

流程

  1. 登录到部署了 RHOSP director Operator 的 Red Hat OpenShift Container Platform 环境,并更改到托管 RHOSP 部署的项目:

    $ oc project openstack
  2. 打开 heat-env-config-deploy ConfigMap 进行编辑:

    $ oc edit configmap heat-env-config-deploy
  3. stf-connectors.yaml 配置添加到 heat-env-config-deploy ConfigMap 中,适用于您的环境,保存您的编辑并关闭该文件:

    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.3 节 “检索 AMQ Interconnect 路由地址” 中检索的值。
    • MetricsQdrConnector ssaslPassword 子参数中的 <password_from_stf > 部分替换为您在 第 4.1.2 节 “检索 AMQ Interconnect 密码” 中检索的值。
    • caCertFileContent 参数替换为 第 4.1.1 节 “从 Service Telemetry Framework 获取用于 overcloud 配置的 CA 证书” 中检索的内容。
    • 设置 CeilometerQdrMetricsConfig.topictopic 值,以定义 Ceilometer 指标的主题。该值是云的唯一标识符,如 cloud1-metering
    • 设置 CollectdAmqpInstances 子参数,以定义 collectd 指标的主题。部分名称是云的唯一标识符,如 cloud1-telemetry
    • 设置 CollectdSensubilityResultsChannel,以定义 collectd-sensubility 事件的主题。该值是云的唯一主题标识符,如 sensubility/cloud1-telemetry

其他资源

5.1.5. 为 director Operator 部署 overcloud

使用所需的环境文件部署或更新 overcloud,以便收集数据并传输到 Service Telemetry Framework (STF)。

流程

  1. 登录到部署了 RHOSP director Operator 的 Red Hat OpenShift Container Platform 环境,并更改到托管 RHOSP 部署的项目:

    $ oc project openstack
  2. 打开 OpenStackConfigGenerator 自定义资源进行编辑:

    $ oc edit OpenStackConfigGenerator
  3. 添加 metrics/ceilometer-write-qdr.yamlmetrics/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

  4. 如果您已经使用 director Operator 部署 Red Hat OpenStack Platform 环境,并生成新的 OpenStackConfigVersion,请编辑部署的 OpenStackDeploy 对象,并将 spec.configVersion 的值设置为新的 OpenStackConfigVersion 以更新 overcloud 部署。

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.