部署完panko,通过执行openstack event list 显示为空 表示没有获取到事件数据
排错思路:
1.保障ceilometer panko服务都是正常的
2.保障ceilometer 到 panko 的数据传输,是正确配置从采集点到存储点的
下面展示配置详情,执行openstack event list 事件数据收集命令后,ceilometer将采集的数据根据特定的配置文件将数据送到存储地panko, 注意/etc/ceilometer/目录下有pipeline.yaml和event_pipeline.yaml两种,pipeline的优先级高于event_pipeline , 所以下面我将计量数据存储到gnocchi和事件数据存储到panko同时配置于pipeline.yaml文件中。
讲解pipeline.yaml文件
Ceilometer 配置文件 `pipeline.yaml` 的内容,用于定义数据源和数据传送规则。
- `sources`: 这个部分定义了数据源,也就是从哪里收集数据。在这个配置中,有两个数据源:
- `meter_source`: 这个数据源用于收集计量数据。它会按照每隔 300 秒(即5分钟)的间隔收集所有类型的计量数据(`meters: ["*"]` 表示收集所有类型的计量数据),然后将数据传送到 `meter_sink`。
- `event_source`: 这个数据源用于收集事件数据。与 `meter_source` 类似,它也会按照每隔 300 秒的间隔收集所有类型的事件数据,然后将数据传送到 `event_sink`。
- `sinks`: 这个部分定义了数据传送目标,也就是数据经过处理后应该传送到哪里。在这个配置中,有两个数据传送目标:
- `meter_sink`: 这个目标用于存储处理后的计量数据。它使用了 Gnocchi 存储后端,因此所有经过 `meter_source` 收集的计量数据会被传送到 Gnocchi 存储中。
- `event_sink`: 这个目标用于存储处理后的事件数据。它使用了 Panko 存储后端,因此所有经过 `event_source` 收集的事件数据会被传送到 Panko 存储中。
总之,这个配置文件定义了 Ceilometer 的数据收集和传送规则,确保了计量数据和事件数据分别被处理并存储到不同的存储后端中。
`polling.yaml` 文件
- `sources`: 这个部分定义了数据源,也就是从哪收集数据。在这个配置中,只有一个数据源:
- `some_pollsters`: 这个数据源用于收集指定的计量数据,例如 CPU 使用情况。它会按照每隔 300 秒(即5分钟)的间隔收集指定的计量数据,并将数据传送到 `meter_sink`。
- `sinks`: 这个部分定义了数据传送目标,也就是数据经过处理后应该传送到哪里。在这个配置中,只有一个数据传送目标:
- `meter_sink`: 这个目标用于存储处理后的计量数据。这里并没有明确指定存储后端,所以默认情况下会使用 Ceilometer 配置文件中所指定的存储后端(通常为 Gnocchi)来存储数据。
[root@controller ceilometer]# cat pipeline.yaml
---
sources: - name: meter_sourceinterval: 300 meters:- "*"sinks:- meter_sink #数据目的地- name: event_sourceinterval: 300meters:- "*"sinks:- event_sink
sinks:- name: meter_sinkpublishers:- gnocchi:// - name: event_sinkpublishers:- panko://[root@controller ceilometer]# cat polling.yaml
---
sources:- name: some_pollstersinterval: 300meters:- cpuresources:- physical_cpusinks:- meter_sink[root@controller ceilometer]#
3.分别在控制节点 计算节点重启 ceilomter panko服务,进行验证
补充
`polling.yaml` 和 `pipeline.yaml` 是 Ceilometer 配置文件中的两个不同的文件,它们分别用于不同的配置目的,有以下区别:
1. **作用**:
- `polling.yaml`: 用于定义数据源和指定收集的计量数据以及相应的资源信息。它主要用于配置 Ceilometer 如何进行数据的收集。
- `pipeline.yaml`: 用于定义数据传送规则,指定处理后的数据应该传送到哪个存储后端。它主要用于配置 Ceilometer 如何处理和传送收集到的数据。
2. **内容**:
- `polling.yaml`: 包含了数据源的配置,指定了数据收集的对象(如计量数据、资源等)和收集频率等信息。
- `pipeline.yaml`: 包含了数据传送规则的配置,指定了数据收集后的处理目标(如传送到哪个存储后端)以及相应的传送方式。
3. **关联**:
- `polling.yaml` 和 `pipeline.yaml` 是相关联的,它们一起构成了 Ceilometer 的数据收集和传送机制。`polling.yaml` 定义了数据收集的源头和内容,而 `pipeline.yaml` 则定义了收集到的数据应该如何被处理和传送。
4. **功能**:
- `polling.yaml` 主要关注数据的采集,即 Ceilometer 如何从各种源头收集数据。
- `pipeline.yaml` 则主要关注数据的处理和传送,即 Ceilometer 如何处理收集到的数据,并将其传送到指定的存储后端。
总之,`polling.yaml` 和 `pipeline.yaml` 在 Ceilometer 的配置中扮演着不同的角色,分别用于配置数据的收集和处理传送,但它们共同构成了 Ceilometer 的完整功能。