讀古今文學網 > OpenStack系統架構設計實戰 > 5.5.5 Publisher插件開發 >

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。