首页 » OpenStack系统架构设计实战 » OpenStack系统架构设计实战全文在线阅读

《OpenStack系统架构设计实战》5.5.5 Publisher插件开发

关灯直达底部

前面在Ceilometer计量数据采集机制中介绍过,Publisher插件是Pipeline机制的一部分,用于将Pipeline中的Sample发布给特定的接收者。用户可以通过开发Publisher插件将计量数据发送到需要送达的接收端。

Publisher插件需要继承ceilometer.publisher.PublisherBase的抽象类,实现如下接口:

@six.add_metaclass(abc.ABCMeta)class PublisherBase(object): @abc.abstractmethod def publish_samples(self, context, samples):"""发布samples到特定接收端""" @abc.abstractmethod def publish_events(self, context, events):"""发布events到特定接收端"""

publish_samples方法用于将Sample对象发送给特定的接收者,publish_events用于将Event对象发动给特定的接收者。

Publisher插件需要被注册在ceilometer.publisher的NameSpace下,用户可以通过Pipeline配置文件(pipeline.yaml)配置该Pipeline需要使用哪种Publisher。