Atom feed of this document
  

 发布者

Telemetry模块提供了用来转发所收集的数据到 ceilometer-collector或者是外部的系统的集中传输的方法。消费的这些数据有很大的不同,就像监控系统,数据丢失是可以接受的,就像计费系统,需要稳定的数据传输。Telemetry提供的方法来满足上述两类系统的需求,如下面所描述的。

发布器组件通过消息总线将数据持久的保存在存储中,或者是发送它们到外部的系统。一个链可以包含多个发布器。

要解决上述的问题,在Telemetry模块内部的每个数据点都可配置多个分发器的概念,允许同样的技术计量或事件多次到多个目的的分发,每个都可能使用不同的传输。

发布器可以在每个管道的publishers一节中指定(关于管道的更多细节,请参阅“数据收集和处理”一节),管道被定义在文件中调用pipeline.yaml

以下发布者类型是被支持的:

通知

它可以被指定打形式 notifier://?option1=value1&option2=value2。它使用oslo.messaging通过AMQP来发送数据。此是发布建议的方法。

rpc

它可以指定形式为rpc://?option1=value1&option2=value2,它发出了有损AMQP计量数据,此方法是同步的且可能会遇到性能问题。

udp

它以 udp://<host>:<port>/的形式指定。它通过UDP发送计量数据。

文件

它可以以file://path?option1=value1&option2=value2的形式来指定。此发布器记录计量数据到一个文件。

[注意]注意

如果文件名称和路径均没有制定的话,此发布器就不会记录任何的计量,相反会为Telemetry纪录警告信息。

kafka

可以指定形式为 kafka://kafka_broker_ip: kafka_broker_port?topic=kafka_topic &option1=value1。此发布器发送计量信息到Kafka broker。

[注意]注意

如果主题的参数丢失,此分发器会发出以主题名称为ceilometer的计量数据。当没有指定端口号时,此分发器会使用9092作为broker的端口。

下列属性可用于 rpcnotifier。策略属性可被kafka发布器使用:

per_meter_topic

它的值为1,它用于在额外的metering_topic.sample_name 主题队列分发样本,而不是使用默认的metering_topic队列。

policy

它是用于在某些情况下的行为的配置,当分发器发送样本失败时,可能预先定义的值是如下:

默认值

用于等待和屏蔽,直到样例发送完成。

丢弃

用于丢弃那些发送失败到样例。

队列

用于创建一个基于内存的队列,而且会在下个发布样本期间重试在队列中发送样本(队列的长度可以被配置为max_queue_length,默认值为1024)。

以下属性用于file发布:

max_bytes

当此属性大于零时,它会引起溢出。当预定的大小被超过时,文件会关闭,然后新的文件会被默默的打开用于输出。如果此值为零,则不会产生溢出。

backup_count

如果此值不为零,扩展名将被附加到旧的日志的文件名,以'.1', '.2',增长,直到达到指定的值。包括的最新的数据会写入该文件,是没有任何扩展名的。

默认的分发器在没有任何额外属性指定时就是通知。在/etc/ceilometer/pipeline.yaml文件中的 publishers一节的样例看起来如下的样子:

publishers:
    - udp://10.0.0.2:1234
    - rpc://?per_meter_topic=1
    - notifier://?policy=drop&max_queue_length=512
Questions? Discuss on ask.openstack.org
Found an error? Report a bug against this page


loading table of contents...