事件到样本发布者¶
https://blueprints.launchpad.net/ceilometer/+spec/event-to-sample-publisher
问题描述¶
像 compute.instance.create.latency 这样的括号事件,由 BP: 事件流水线转换器 https://blueprints.launchpad.net/ceilometer/+spec/events-pipeline-transformers 创建,需要发布并存储为样本。
事件流水线中的转换器创建的括号事件是新的事件/指标,具有各种延迟时间跨度,例如 time.instance.creation 或 time.instance.life,这是 compute.instance.create.start/end、compute.instance.create.end/delete.end 等之间的时间差。
提议的变更¶
添加一个新的通知发布者,并在事件转换器中使用此发布者。当事件流水线转换器产生一个新的转换事件时,将其转换为通知,发送回 ceilometer 通知监听器。通知负载由事件特征生成,然后样本流水线将其转换为样本并发布。
例如,对于 compute.instance.create.latency 事件,首先,将此发布者(例如:tosamplenotifier://)添加到事件转换器的 sink 中
- name: instance_create_bracketer_sink
transformers:
- name: "bracket"
parameters:
........
publishers:
- tosamplenotifier://
然后,在 meters.yaml 中添加计量模式
- name: 'compute.instance.create.latency'
event_type:
- 'compute.instance.create.latency'
type: 'gauge'
unit: 's'
volume: $.payload.latency
user_id: $.payload.user_id
project_id: $.payload.tenant_id
resource_id: $.payload.instance_id
- 发送回消息总线的通知负载由事件特征生成,将如下所示:
{‘latency’: 0.355098, ‘user_id’: u’0f1b1e94ec2045af9f49f9b7e1d6b409’, ‘service’: u’network.yuntong-ThinkStation’, ‘resource_id’: u’67d1c4b3-84aa-42d1-a857-2d1481fe21dd’, ‘tenant_id’: u’c8ce7938e38b4612a8b3daab441b804c’, ‘request_id’: u’req-597a85ec-ebab-492f-8288-b6b72fc476b5’, ‘project_id’: u’c8ce7938e38b4612a8b3daab441b804c’, ‘publisher_id’: ‘compute.yuntong-ThinkStation’}
- 最后,compute.instance.create.latency 样本将如下所示:
资源 ID
名称
类型
Volume
单位
时间戳
e8e8adf5-8ba1-4247-b1af-1e8c928563e7
compute.instance.create.latency
gauge
7.133763
s
2015-09-16T07:04:58.540929
替代方案¶
无。
数据模型影响¶
无。
REST API 影响¶
无。
安全影响¶
无。
Pipeline 影响¶
本规范建议为 event_pipeline.yaml 中的事件转换器添加额外的发布者
其他最终用户影响¶
无。
性能/可扩展性影响¶
无
其他部署影响¶
event_pipeline.yaml 和 meter.yaml 中的配置选项。
开发者影响¶
无。
实现¶
负责人¶
- 主要负责人
yuntongjin
- 持续维护者
yuntongjin
工作项¶
添加一个新的发布者,它会将转换后的通知发送到样本监听器。
未来生命周期¶
无
依赖项¶
测试¶
扩展消息发布者测试。
文档影响¶
捕获来自事件括号转换器的新的计量数据。
参考资料¶
https://blueprints.launchpad.net/ceilometer/+spec/events-pipeline-transformers