第 4 章 为 Service Telemetry Framework 配置 Red Hat OpenStack Platform director
要收集指标、事件或两者,并将其发送到 Service Telemetry Framework (STF)存储域,您必须配置 Red Hat OpenStack Platform (RHOSP) overcloud 以启用数据收集和传输。
STF 可以同时支持单和多个云。为单个云安装设置 RHOSP 和 STF 的默认配置。
- 有关使用默认配置的单个 RHOSP overcloud 部署,请参阅 第 4.1 节 “使用 director 为 Service Telemetry Framework 部署 Red Hat OpenStack Platform overcloud”。
- 要规划多个云的 RHOSP 安装和配置 STF,请参阅 第 4.3 节 “配置多个云”。
作为 RHOSP overcloud 部署的一部分,您可能需要在环境中配置其他功能:
作为使用 director 的 Red Hat OpenStack Platform (RHOSP) overcloud 部署的一部分,您必须配置数据收集器和数据传输到 Service Telemetry Framework (STF)。
其他资源
- 有关使用 director 部署 OpenStack 云的更多信息,请参阅 Director 安装和使用。
- 要通过 AMQ Interconnect 收集数据,请参阅 amqp1 插件。
4.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
$ oc project service-telemetryCopy to Clipboard Copied! Toggle word wrap Toggle overflow 检索 AMQ Interconnect 路由地址:
oc get routes -ogo-template='{{ range .items }}{{printf "%s\n" .spec.host }}{{ end }}' | grep "\-5671"$ oc get routes -ogo-template='{{ range .items }}{{printf "%s\n" .spec.host }}{{ end }}' | grep "\-5671" default-interconnect-5671-service-telemetry.apps.infra.watchCopy to Clipboard Copied! Toggle word wrap Toggle overflow
4.1.2. 为 STF 创建基本配置 复制链接链接已复制到粘贴板!
要配置基础参数,以便为 Service Telemetry Framework (STF)提供兼容数据收集和传输,您必须创建一个定义默认数据收集值的文件。
流程
-
以
stack用户身份登录 undercloud 主机。 在
/home/stack目录中创建一个名为enable-stf.yaml的配置文件。重要将
EventPipelinePublishers和PipelinePublishers设置为空列表会导致没有事件或指标数据传递给 RHOSP 遥测组件,如 Gnocchi 或 Panko。如果您需要将数据发送到其他管道,Ceilometer 轮询间隔为30秒,您在ExtraConfig中指定,可能会认为 RHOSP 遥测组件。您必须将间隔增加到较大的值,如300,这会减少 STF 中的遥测解析。
enable-stf.yaml
4.1.3. 为 overcloud 配置 STF 连接 复制链接链接已复制到粘贴板!
要配置 Service Telemetry Framework (STF)连接,您必须创建一个文件,其中包含将 overcloud 到 STF 部署的 AMQ Interconnect 的连接配置。启用 STF 中事件和存储的事件和存储,并部署 overcloud。默认配置用于带有默认消息总线主题的单一云实例。有关配置多个云部署的信息,请参阅 第 4.3 节 “配置多个云”。
前提条件
- 检索 AMQ Interconnect 路由地址。更多信息请参阅 第 4.1.1 节 “检索 AMQ Interconnect 路由地址”。
流程
-
以
stack用户身份登录 undercloud 主机。 -
在
/home/stack目录中创建一个名为stf-connectors.yaml的配置文件。 在
stf-connectors.yaml文件中,配置MetricsQdrConnectors地址,将 overcloud 上的 AMQ Interconnect 连接到 STF 部署。您可以为此文件中的 Sensubility、Chtrace 和 collectd 配置主题地址,以匹配 STF 中的默认值。有关自定义主题和云配置的详情,请参考 第 4.3 节 “配置多个云”。stf-connectors.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
resource_registry配置直接加载 collectd 服务,因为您不包含用于多个云部署的collectd-write-qdr.yaml环境文件。 -
将
host参数替换为您在 第 4.1.1 节 “检索 AMQ Interconnect 路由地址” 中检索的值。 -
将
MetricsQdrConnectors的主机子参数替换为您在 第 4.1.1 节 “检索 AMQ Interconnect 路由地址” 中检索的值。 -
设置
CeilometerQdrEventsConfig的主题值,以定义 Ceilometer 事件的主题。该值是云的唯一主题限定符,如cloud1-event。 -
设置
CeilometerQdrMetricsConfig.值,以定义 Ceilometer 指标的主题。该值是云的唯一标识符,如topic的主题cloud1-metering。 -
设置
CollectdAmqpInstances子参数,以定义 collectd 事件的主题。部分名称是云的唯一标识符,如cloud1-notify。 -
设置
CollectdAmqpInstances子参数,以定义 collectd 指标的主题。部分名称是云的唯一标识符,如cloud1-telemetry。 -
设置
CollectdSensubilityResultsChannel,以定义 collectd-sensubility 事件的主题。该值是云的唯一主题标识符,如sensubility/cloud1-telemetry。
-
当您为 collectd 和 Ceilometer 定义主题时,您提供的值将转换为智能网关客户端用于侦听消息的完整主题。
Ceilometer 主题值被转换为主题地址 anycast/ceilometer/<TOPIC>.sample,collectd 主题值被转换为主题地址 collectd/<TOPIC>。sensubility 的值是完整主题路径,且没有从主题值转换为主题地址。
有关 ServiceTelemetry 对象中的云配置示例,请参阅 “clouds 参数”一节。
4.1.4. 部署 overcloud 复制链接链接已复制到粘贴板!
使用所需的环境文件部署或更新 overcloud,以便收集数据并传输到 Service Telemetry Framework (STF)。
流程
-
以
stack用户身份登录 undercloud 主机。 查找
stackrcundercloud 凭证文件:source ~/stackrc
$ source ~/stackrcCopy to Clipboard Copied! Toggle word wrap Toggle overflow 使用其他环境文件将数据收集和 AMQ Interconnect 环境文件添加到堆栈中,并部署 overcloud:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
包含
ceilometer-write-qdr.yaml文件,以确保 Ceilometer 遥测和事件发送到 STF。 -
包含
qdr-edge-only.yaml文件,以确保消息总线已启用并连接到 STF 消息总线路由器。 -
包含
enable-stf.yaml环境文件,以确保正确配置了默认值。 -
包含
stf-connectors.yaml环境文件以定义与 STF 的连接。
-
包含
4.1.5. 验证客户端安装 复制链接链接已复制到粘贴板!
要验证 Service Telemetry Framework (STF)存储域的数据收集,请查询数据源以获取交付的数据。要验证 Red Hat OpenStack Platform (RHOSP)部署中单个节点,请使用 SSH 连接到控制台。
只有在 RHOSP 有活跃工作负载时,一些遥测数据才可用。
流程
- 登录 overcloud 节点,如 controller-0。
确保
metrics_qdr和 collection 代理容器在节点上运行:sudo podman container inspect --format '{{.State.Status}}' metrics_qdr collectd ceilometer_agent_notification ceilometer_agent_central$ sudo podman container inspect --format '{{.State.Status}}' metrics_qdr collectd ceilometer_agent_notification ceilometer_agent_central running running running runningCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意在计算节点上使用以下命令:
sudo podman container inspect --format '{{.State.Status}}' metrics_qdr collectd ceilometer_agent_compute$ sudo podman container inspect --format '{{.State.Status}}' metrics_qdr collectd ceilometer_agent_computeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 返回运行 AMQ Interconnect 的内部网络地址,例如
172.17.1.44侦听端口5666:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 返回到本地 AMQ Interconnect 的连接列表:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 有四个连接:
- 到 STF 的出站连接
- 来自 ceilometer 的入站连接
- 来自 collectd 的入站连接
来自
qdstat客户端的入站连接出站 STF 连接提供给
MetricsQdrConnectors主机参数,是 STF 存储域的路由。其他主机是到此 AMQ Interconnect 的客户端连接的内部网络地址。
要确保发送消息,列出链接,并在
deliv列中查看发送消息的_edge地址:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要列出 RHOSP 节点到 STF 的地址,请连接到 Red Hat OpenShift Container Platform 以检索 AMQ Interconnect pod 名称并列出连接。列出可用的 AMQ Interconnect pod:
oc get pods -l application=default-interconnect
$ oc get pods -l application=default-interconnect NAME READY STATUS RESTARTS AGE default-interconnect-7458fd4d69-bgzfb 1/1 Running 0 6d21hCopy to Clipboard Copied! Toggle word wrap Toggle overflow 连接到 pod 并列出已知的连接。在本例中,有来自 RHOSP 节点的三个
边缘连接,其连接id为 22, 23, 和 24。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要查看网络发送的消息数量,请使用
oc exec命令的每个地址:Copy to Clipboard Copied! Toggle word wrap Toggle overflow