1.2. Service Telemetry Framework 架构
Service Telemetry Framework (STF)使用客户端-服务器架构,其中的 Red Hat OpenStack Platform (RHOSP)是客户端,Red Hat OpenShift Container Platform 是服务器。
默认情况下,STF 会收集、传输和存储指标信息。
您可以收集 RHOSP 事件数据,使用消息总线传输它,并将其转发到智能网关中的用户提供的 Elasticsearch,但这个选项已弃用。
STF 由以下组件组成:
数据收集
- collectd:在 RHOSP 上收集基础架构指标和事件。
- Ceilometer:在 RHOSP 上收集 RHOSP 指标和事件。
传输
- AMQ Interconnect :一个 AMQP 1.x 兼容消息传递总线,它提供快速可靠的数据传输,将指标从 RHOSP 传送到 STF 以进行存储或转发。
- 智能网关: Golang 应用从 AMQP 1.x 总线获取指标和事件,以提供给 Prometheus 或外部 Elasticsearch。
数据存储
- Prometheus:存储从智能网关接收的 STF 指标的时间序列数据存储。
- Alertmanager:使用 Prometheus 警报规则管理警报的警报工具。
用户提供的组件
- Grafana:可用于查询、视觉化和探索数据的视觉化和分析应用程序。
- Elasticsearch:存储由智能网关接收和转发 RHOSP 事件的事件数据存储。
下表描述了客户端和服务器组件的应用程序:
组件 | 客户端 | Server |
---|---|---|
AMQP 1.x 兼容消息传递总线 | 是 | 是 |
智能网关 | 否 | 是 |
Prometheus | 否 | 是 |
Elasticsearch | 否 | 是 |
Grafana | 否 | 是 |
collectd | 是 | 否 |
ilo | 是 | 否 |
为确保监控平台可以报告云中的操作问题,请不要在您监控的同一基础架构上安装 STF。
图 1.1. Service Telemetry Framework 架构概述
对于客户端侧指标,collectd 提供没有项目数据的基础架构指标,Ceilometer 根据项目或用户工作负载提供 RHOSP 平台数据。Ceilometer 和 collectd 通过使用 AMQ Interconnect 传输将数据提供给 Prometheus,并通过消息总线提供数据。在服务器端,名为 Smart Gateway 的 Golang 应用从总线获取数据流,并将其公开为 Prometheus 的本地提取端点。
当您收集和存储事件时,collectd 和 Ceilometer 使用 AMQ Interconnect 传输向服务器端发送事件数据。另一个智能网关将数据转发到用户提供的 Elasticsearch 数据存储。
服务器端 STF 监控基础架构由以下层组成:
- Service Telemetry Framework 1.5
- Red Hat OpenShift Container Platform 延长更新支持(EUS)版本 4.14 和 4.16
- 基础架构平台
如需有关 Red Hat OpenShift Container Platform EUS 版本的更多信息,请参阅 Red Hat OpenShift Container Platform 生命周期政策。
图 1.2. 服务器端 STF 监控基础架构
1.2.1. STF 架构变化
在 1.5.3 之前的 STF 版本中,Service Telemetry Operator 从 Kubernetes (ECK) Operator 上请求 Elasticsearch 实例。STF 现在使用转发模型,其中事件从智能网关实例转发到用户提供的 Elasticsearch 实例。
通过 Service Telemetry Operator 管理 Elasticsearch 实例已弃用。
在新的 ServiceTelemetry
部署中,observabilityStrategy
参数的值为 use_redhat
,它不从 ECK 请求 Elasticsearch 实例。带有 STF 版本 1.5.2 或更早版本的 ServiceTelemetry
的部署,并更新至 1.5.3,将 observabilityStrategy
参数设置为 use_community
,它与前面的架构匹配。
如果用户之前使用 STF 部署 Elasticsearch 实例,Service Telemetry Operator 会更新 ServiceTelemetry
自定义资源对象,将 observabilityStrategy
参数设置为 use_community
,以及与之前的版本类似的功能。有关可观察性策略的更多信息,请参阅 第 2.1 节 “Service Telemetry Framework 中的可观察性策略”。
建议 STF 用户迁移到 use_redhat
observability 策略。有关迁移到 use_redhat
observability 策略的更多信息,请参阅红帽知识库文章 将 Service Telemetry Framework 迁移到完全支持的 operator。