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