1.2. Red Hat OpenStack Platform 中的数据收集
Red Hat OpenStack Platform(RHOSP)支持两种类型的数据收集:
- OpenStack 组件级监控的 Ceilometer.更多信息请参阅 第 1.2.1 节 “Ceilometer”。
- collectd 用于基础架构监控。更多信息请参阅 第 1.2.2 节 “collectd”。
1.2.1. Ceilometer
Ceilometer 是 OpenStack Telemetry 服务的默认数据收集组件,能够跨所有当前 OpenStack 核心组件对数据进行规范化和转换。Ceilometer 收集与 OpenStack 服务相关的计量和事件数据。用户可以根据部署配置访问收集的数据。
Ceilometer 服务使用三个代理从 Red Hat OpenStack Platform(RHOSP)组件收集数据:
-
计算代理(ceilometer-agent-compute) :在每个 Compute 节点上运行,并轮询资源使用情况统计。此代理与轮询代理
ceilometer-polling
与参数--polling namespace-compute
一起运行。 -
中央代理(ceilometer-agent-central) :在中央管理服务器上运行,轮询不与实例或 Compute 节点关联的资源利用统计信息。您可以启动多个代理来横向扩展服务。这与通过
--polling namespace-central
运行的轮询代理ceilometer-polling
操作相同。 - 通知代理(ceilometer-agent-notification) :在中央管理服务器上运行,并使用来自消息队列的消息来构建事件和计量数据。数据发布到定义的目标。Gnocchi 是默认目标。这些服务使用 RHOSP 通知总线进行通信。
Ceilometer 代理使用发布程序向对应的端点发送数据,如 Gnocchi。您可以在 pipeline.yaml
文件中配置此信息。
其他资源
- 有关发布程序的更多信息,请参阅 第 1.2.1.1 节 “publishers”。
1.2.1.1. publishers
遥测服务提供多种传输方法,以将收集的数据传送到外部系统。此数据的消费者有所不同,例如监控系统,此类系统可以接受数据丢失,以及需要可靠的数据传输系统。Telemetry 提供处理这两个系统类型的要求的方法。您可以使用服务的发布组件通过消息总线将数据保存到持久性存储中,或将其发送到一个或多个外部消费者。一个链可以包含多个发布程序。
支持以下发布程序类型:
- Gnocchi(默认):Geploy publisher 处于启用时,测量和资源信息推送到 Gnocchi,以便优化存储。确保您在身份服务中注册了 Gnocchi,因为 Ceilometer 发现通过身份服务的确切路径。
- Panko :您可以在 panko 中存储来自 Ceilometer 的事件数据,它提供了 HTTP REST 接口来查询 Red Hat OpenStack Platform 中的系统事件。Panko 已被弃用。
配置发布程序参数
您可以为 Telemetry 服务中的每个数据点配置多次发布器,允许多次将相同的技术计量或事件发布到多个目的地,各自可能会使用不同的传输方法。
流程
创建一个 YAML 文件来描述可能的发布者参数和默认值,例如
ceilometer-publisher.yaml
。在parameter_defaults
中插入以下参数:parameter_defaults: ManagePipeline: true ManageEventPipeline: true EventPipelinePublishers: - gnocchi://?archive_policy=high PipelinePublishers: - gnocchi://?archive_policy=high
部署 overcloud。在
openstack overcloud deploy
命令中包含修改后的 YAML 文件。在以下示例中,将 <environment_files
> 替换为您要包含在部署中的其他 YAML 文件:$ openstack overcloud deploy --templates \ -e /home/custom/ceilometer-publisher.yaml -e <environment_files>
其他资源
- 有关参数的更多信息,请参阅高级 Overcloud 自定义指南中的 Overcloud 参数和 Heat 参数中的 Telemetry 参数 。
1.2.2. collectd
性能监控会定期收集系统信息,并提供使用数据收集代理以各种方式存储和监控值的机制。红帽支持 collectd 守护进程作为数据收集代理。此守护进程将数据存储在时间序列数据库中。其中一个红帽支持的数据库称为 Gnocchi。您可以使用此存储的数据来监控系统,查找性能瓶颈和预测将来的系统负载。
其他资源
- 有关 Gnocchi 的更多信息,请参阅 第 1.3 节 “使用 Gnocchi 存储”。