无论如何,使石墨中的碳接受所有数据

时间:2014-11-21 22:14:03

标签: graphite

Graphite中的Carbon监听器经过精心设计和调整,使其在服务器上的负载有一定的可预测性,以避免服务器本身充满IO等待或整体上飙升系统负载。如有必要,它将丢弃传入的数据,将服务器负载作为优先级。毕竟,对于存储的典型数据,这没什么大不了的。

我很欣赏这一切。但是,我试图从一个不同的来源 将大量积压的数据 引入石墨,而不是在实际数据中输入实时数据。我有一个来自第三方的可靠数据源,它是一天一天散装给我的。

所以在这种情况下, 我不希望任何数据值掉落在地板上 。我真的不关心数据导入需要多长时间。我只是想禁用所有的安全机制,让碳做它的事情,并且知道我的所有数据都已经进入。

我正在搜索文档并找到有关在carbon.conf中调整carbon_cache参数的各种建议,但我无法找到它。它开始听起来更像艺术而不是科学。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

首先当然是通过tcp监听器(线路接收器)而不是udp接收数据,以避免丢失传入点。

石墨中有几种设置可以节流部分管道,但并不总是清楚达到阈值时石墨的作用。您必须测试和/或阅读碳代码。

你可能想要调整:

MAX_UPDATES_PER_SECOND = 500(一秒内最大磁盘更新次数)

MAX_CREATES_PER_MINUTE = 50(每分钟创建的最大指标数)

对于缓存,USE_FLOW_CONTROL = TrueMAX_CACHE_SIZE = inf(inf是一个很好的值,所以如果你改了它就恢复它)

如果您使用中继和/或聚合器,MAX_QUEUE_SIZE = 10000USE_FLOW_CONTROL = True很重要。

答案 1 :(得分:1)

我将此属性设置为" inf":

MAX_CREATES_PER_MINUTE = inf

并确保这也是无限的:

MAX_CACHE_SIZE = inf

在批量加载期间,我监视/opt/graphite/storage/log/carbon-cache/carbon-cache-a/creates.log以确保正在创建耳语DB。 为了确保,您可以再次运行负载,并且不应再进行创建。