问题标签 [graphite-carbon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
292 浏览

python - Graphite & statsd 生成许多节点

我刚刚安装了 Graphite & statsd 来获取我的网络应用程序的一些统计数据。它已经跟踪了数据,但是它在 Graphite webapp 的树中生成了太多的节点。见附图: 一只忙碌的猫 http://mmeg-de.gefaellt-mir.me/media/hm.PNG

我已经用谷歌搜索了,但我找不到任何解释。我只想跟踪我的索引页面被访问了多少次。我使用以下命令在 Python 中执行此操作:

有人对此有解释吗?为什么有这么多(不同的)图表?我以为只有一张图表可以显示我的索引页面随着时间的推移被访问了多少次。?

0 投票
3 回答
6930 浏览

amazon-ec2 - 如何配置 StatsD 和 Graphite 在不同的服务器上运行

我对此进行了全面检查,但没有找到任何人谈论如何设置和配置StatsD以及Graphite如何在单独的服务器上进行通信。我目前所有东西都在一个上运行,但我试图将它们分开但没有成功。

这是我设置的方法StatsD exampleConfig.js

我能想到在另一个盒子上设置的唯一另一件事是example-client.py.

我认为它需要保持本地主机与同一服务器上的耳语或石墨进行通信。我有我的防火墙设置来监听2003,并且使用数据包转储服务器确实从 statsd 获取 UDP。它似乎并没有被碳和石墨消耗掉。

我错过了什么?
还有什么推荐用于扩展 statsd 石墨设置?我现在有自己的 statsd 和石墨 + 碳 + 在另一台服务器上窃窃私语。statsd 是最耗电还是石墨盒?我想知道这一点,因为我很快就会每天向服务器发送数百万位数据进行测试。

0 投票
1 回答
372 浏览

slice - 石墨/碳/谷神星节点重叠

我正在使用 Carbon 和 Ceres 作为存储方法进行 Graphite 监控。我在纠正不良数据时遇到了一些问题。看来(由于各种问题)我最终得到了重叠的文件。也就是说,由于 Carbon / Ceres 将数据存储为 timestamp@interval.slice,我可以拥有两个或多个具有重叠时间范围的文件。

有两种重叠:

这会导致问题,因为现有的可用工具(ceres-maintenance defrag 和 rollup)无法处理这些重叠。相反,他们跳过目录并继续前进。这显然是个问题。

0 投票
1 回答
205 浏览

backbone.js - 骨干.js 集合和石墨碳的集合

我正在编写一个backbone.js 'app',并且想将石墨/碳的json输出直接映射到一些主干模型/集合。

一般来说,json输出是这样的:

我已经定义了一个简单的模型和集合,这样:

如您所见,我将 id 重载为每个测量的时间戳,并且特定“度量”的所有测量都存储在名为 Measurements 的集合下。

我还对其进行了硬编码,因此它实际上只适用于一个测量集合(即 json 中的“目标”)。

我的问题涉及如何最好/优雅/灵活地在一次调用中实现多个测量(集合)的收集。即,石墨支持对其“目标”使用通配符,以便 ajax 请求/?target=some.string.*将带回所有匹配的目标和数据点(如在 json 示例中)。然后我会将其呈现给一个视图,在那里我将呈现累积数据或绘制所有测量值与时间的关系。

我正在考虑使用另一个包含许多测量值的集合(我们称之为集合)。我希望能够做一些事情,比如Set.fetch()从服务器获取所有匹配的测量值,并让 Set 从单个 ajax 请求中创建许多测量值集合。

有人对如何实施有任何建议吗?甚至是表示此模型/集合层的更好方法?

0 投票
0 回答
637 浏览

graphite - 石墨汇总返回不一致的数据

我设置了一个使用以下连接的两节点 Graphite 集群carbon-relay

石墨簇

我在大约 1 分钟的时间内为我的指标发送了 500 个计数器cluster-test-500,时间约为 60/10 秒。

根据我的聚合规则:

数据出现在两个节点的 Whisper 数据库中:

然后,当我使用该函数查询 Graphite 时summarize,过去一天:

它通过简单地重新运行相同的查询返回不一致的结果:

这似乎是由 WhisperDB 文件中看似随机的时间段总和造成的。这到底是什么原因造成的?

0 投票
1 回答
3221 浏览

graph - Graphite Graph - 我们能以多快的速度更新图表?

我们正在尝试将 Graphite 用于(近)实时图形网络系统。然而,我们似乎无法让石墨的速度快于 1 秒的更新率。最终我们希望有 100 毫秒的更新

通过阅读常见问题解答,它听起来像石墨很快 - 但这要么非常误导,要么我不了解如何加速石墨

耳语的计时信息似乎使用 UNIX 时间戳

Graphite 的可扩展性如何?

从 CPU 的角度来看,Graphite 在前端和后端水平扩展,这意味着您可以简单地添加更多机器来获得更多吞吐量。它也是容错的,因为丢失后端机器会导致最小的数据丢失(无论该机器在内存中缓存了什么),并且如果您有足够的剩余容量来处理负载,则不会中断系统。

从 I/O 的角度来看,在负载下 Graphite 非常快速地对许多不同的文件执行大量微小的 I/O 操作。这是因为发送到 Graphite 的每个不同的指标都存储在自己的数据库文件中,类似于在 RRD 工作之上构建的工具(绘图、仙人掌、Centreon 等)的数量。事实上,Graphite 最初确实使用 RRD 进行存储,直到出现需要新存储引擎的基本限制。

大容量(每分钟更新几千个不同的指标)几乎需要一个好的 RAID 阵列。如果磁盘无法跟上发生的大量小写操作(每个数据点只有几个字节,但大多数磁盘每秒不能执行超过几千次 I/O 操作,即使它们很小)。当这种情况发生时,Graphite 的数据库引擎,whisper,允许 carbon 一次写入多个数据点,从而提高整体吞吐量,但代价是保持多余的数据缓存在内存中,直到可以写入。

图表的实时性如何?

非常。即使在重负载下,每个时间间隔的指标数量也远大于存储系统可以执行 I/O 操作的速率,并且大量数据点被缓存在存储管道中(请参阅上一个问题以了解解释),Graphite 仍然绘制实时图形。诀窍在于,当 Graphite webapp 接收到绘制图形的请求时,它同时从磁盘和预存储缓存(如果您有多个后端服务器可能分布)中检索数据,并结合两个来源数据以创建实时图表。

他们也只显示秒,没有小数点:http: //graphite.readthedocs.org/en/latest/config-carbon.htmlfrom and until must be a time specification conforming to the AT-STYLE time specification described这里: http: //oss.oetiker.ch/rrdtool/doc/rrdfetch.en .htmlhttp://graphite.wikidot.com/url-api-reference

那是什么?石墨快吗?或者它只是快速处理大型数据集 - 我们正在寻找一个简单易用的数据包数据网络接收器以直观地显示 - Graphite 似乎是一个很好的解决方案,但现在我们已经配置并运行了它,我猜我们只是浪费了一个很多时间

谢谢!

0 投票
2 回答
3261 浏览

graphite - 如何自动删除旧的碳数据?

是否有任何配置可以在一段时间后自动删除旧的碳数据?

我尝试搜索它,但找不到任何关于它的信息。

提前感谢您的任何建议和回答。

0 投票
2 回答
188 浏览

graphite - 当我只要求 N 个数据点时,为什么我会从石墨中获得 N+1 个数据点?

  1. 我希望这里有 1 个数据点,但我得到 2 个

    /li>
  2. 我预计这里有 24 个数据点,但在过去 24 小时内我得到了 25 个数据点

    /li>

这里until总是指向当前时间。请问有人能解释为什么会这样吗?以及如何限制数据点符合我的期望?

0 投票
1 回答
871 浏览

django - uwsgi vassal magic variable

I'm running uwsgi 1.9.20 in emperor mode and sending all of my vassals' stats to a carbon/graphite server. Looking good, except the %n magic variable doesn't return the "filename without extension" as specified in the docs, but rather the socket setting, e.g. 127_0_0_1:14002. Or at least that is what I see in graphite.

The emperor is started with:

Example vassal config:

I also tried vassal-set = carbon-id=%n, but that shows up as just uwsgi in graphite. What am I doing wrong with the magic variable here?

FYI Python version is 2.7.3 on CentOS 6.4.

0 投票
1 回答
324 浏览

graphite - 是否可以从 Graphite URL API 查询碳保留水平?

我需要能够动态地发现为来自任意 Graphite/Carbon 服务的一个指标或一组指标配置的保留级别。现有的 Graphite API 似乎没有公开这些信息。

是否有一种经过批准的方法可以通过 HTTP API 检索此信息,而不是破解 Graphite 源或以其他方式暴露 carbon.conf 文件?