
Carbon
|
31
致显著的性能问题。
Carbon
聚合器(
carbon-aggregator
)能够解决上述两种情况中的问题。这个守护进程
允许你定义规则,这些规则包括一个或多个源指标(使用通配符),一种聚合方法(
sum
或
average
),一个在发布聚合结果前缓冲数据的时间窗口(单位是秒),以及一个新指标
名称。聚合器从
aggregation-rules.conf
文件加载规则。请注意,
carbon-aggregator
会
监视该文件,并在文件的修改时间发生变化时自动重新加载规则。
我们将在第
4
章讨论配置的细节,这里先通过示例
3-1
简要进行介绍。
示例3-1:简单的
carbon-aggregator
规则
<env>.applications.<app>.all.requests
(
60
)
= sum <env>.applications.<app>.*.requests
<env>.applications.<app>.all.latency
(
60
)
= avg <env>.applications.<app>.*.latency
一般来讲,这个守护进程通常会夹在中继器和缓存之间,但这不是一个严格的要求。事
实上,
carbon-aggregator
与
carbon-relay
共享许多代码,这意味着它也被设计为将
指标传递给后端的一个或多个缓存。但是,它不像中继器一样有不同的路由方法。聚合
器只支持到下游目的地的一致性哈希路由。因此,如果你需要采用基于规则的路由,则
要在聚合器和缓存之间插入一个或多个中继器。 ...