问题标签 [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 回答
13114 浏览

dashboard - 两个数据点之间的 Grafana 差异

在具有多个数据点的 Graphana 仪表板中,如何获得相同指标的最后一个值和上一个值之间的差异?也许棘手的部分是同一指标的 2 个数据点之间的关系是未知的。

所以期望的结果是<metric>.$current_value - <metric>.$previouse_valuemetricstring 中每个点的结果。

编辑:指标存储在石墨/碳数据库中。

谢谢

0 投票
1 回答
259 浏览

amazon-s3 - 石墨:碳聚合器丢弃数据?

我正在开发一种警报解决方案,该解决方案使用 Logstash 在进行一些小处理后将 AWS CloudFront 日志从 S3 存储桶流式传输到 Graphite。由于可能会发生具有相同时间戳的多个事件(一秒钟内的多个事件),我选择使用 Carbon Aggregator 来每秒计算这些事件。

我面临的问题是聚合的耳语数据库似乎正在丢弃数据。正常的耳语文件可以看到所有这些,但当然它不能解释超过每秒 1 个事件。

我在一个 EC2 实例上的 docker 中运行这个设置,它没有达到任何限制(CPU、内存、网络、磁盘)。

我已经检查了在 docker 实例中可以找到的所有日志并检查了 docker 日志,但是没有任何东西跳出来。

我已经将logstash输出设置为显示行stdout(不丢失任何行)并将它们发送到石墨上port 2023,它被设置line-by-line receiver为碳聚合器:

aggregation-rules.conf设置为非常简单的每秒计数:

storage-schemas.conf

很高兴根据您的要求分享更多我的配置。

我已经为此碰壁了,我一直在尝试很多不同的东西,但我无法在聚合的耳语数据库中看到所有数据。

很感谢任何形式的帮助。

0 投票
1 回答
258 浏览

graphite - 如何在保留 100 毫秒的 Graphite 中存储数据?

我正在使用石墨来显示我们的应用程序统计信息。

存储架构.conf

存储聚合.conf

每秒我发送数据 100 次。

使用上述配置,它每秒只取一个值。

我想将在一秒钟内发送的所有 100 个值相加并在那一秒存储它们。

如何在石墨中聚合这些数据?

我尝试将保留时间设置为 0.01s:1h,但它不起作用。

有没有办法每 100 毫秒存储一次数据?

我到处搜索,但没有找到合适的解决方案。

0 投票
1 回答
180 浏览

java - Hadoop Namenode 将 FSNamesystem 指标发送到具有损坏指标路径的石墨

我使用以下 hadoop-metrics2.properties 配置:

Carbon 接收除 FSNamesystem 指标之外的所有指标,例如 CapacityUsed、CapacityUsed 等(在此处完整描述)

我将所有 tcp 请求转储到 carbon,这就是我得到的:

这里的问题是路径中的空间:TotalSyncTimes=17 .Hostname= TotalSyncTimes 应该是一个不同的度量,但它以某种方式出现在度量路径中,在等号之后带有度量值,而且它根本没有作为不同的度量发送/接收(因为 tcpdump 没有捕获具有此度量的数据包作为不同的一个)。

这是 GraphiteSink 或 Hadoop metric 2 的问题,我该如何解决?

0 投票
1 回答
107 浏览

apache-storm - 使用自定义 IScheduler 时,如何从远程 Storm 工作人员向 Graphite 服务器发送指标?

我很好地收集了从 Apache Storm 到 Graphite 的指标。然后我开发了一个实现 IScheduler 接口的自定义调度程序,现在我无法收集任何指标。

这是我的调度程序

在storm.yaml 文件中:

我正在使用这个库来收集指标并将其发送到 Graphite 服务器。

IScheduler 的“准备”方法没有 TopologyContext,所以我不知道在哪里用新的计划实例化我的指标。

有什么提示吗?谢谢费利佩

0 投票
1 回答
302 浏览

graphite - 为什么 Carbon 不根据更新的存储模式保留写入 Whisper 数据点?

我最初的碳存储模式配置设置为 10s:1w、60s:1y,并且可以正常工作几个月。我最近将其更新为 1s:7d、10s:30d、60s、1y。我使用以下 bash 调整了所有耳语文件的大小以反映新的保留模式:

我已经确认它们已使用带有正确保留和数据点的 Whisper-info.py 进行了更新。我还使用存储模式验证脚本确认了存储模式是有效的。

carbon-cache{1..8}、carbon-relay、carbon-aggregator 和 collectd 服务在耳语调整大小之前已停止,然后在调整大小完成后启动。

但是,在 Grafana 仪表板上签入时,我在 collectd 插件图表上看到具有正确数据点(每秒,但没有数据)的空图表;但是对于提供数据的图表,它每 10 秒(旧保留)而不是 1 秒显示数据和数据点。

/var/log/carbon/console.log 看起来不错,并且 collectd 的耳语文件都具有 carbon 用户访问权限,因此写入时没有权限被拒绝的问题。

在石墨主机上的端口 2003 上运行 ngrep 时,我看到了与中继的连接,以及正在发送的指标。然后,这些指标会被中继到一个包含 8 个缓存的池中,然后再发送到它们的 pickle 端口。

有没有其他人遇到过类似的问题,或者可以帮助我进一步诊断问题?我在这里错过了什么吗?

0 投票
0 回答
20 浏览

grafana - 我没有看到超过 72 小时的数据

当我设置例如时,我的石墨有问题(我想是的)。72h 的 CPU 系统图一切正常,当我设置超过 72 时,我会看到数据等 - 例如。从这一刻起 73 或 73-89h 我看到空白图表 我什至看不到最新数据 72h

我尝试更改 storage-schemas.conf 例如。

我尝试通过此选项进行更改

但有时它会有所帮助,但几天后问题又回来了

有趣的是,它在某些图表上正常工作(所有数据来自 collectd)

Graphite-web 1.2.0DEV 去碳 0.13.0

0 投票
1 回答
42 浏览

database - 时间序列数据库“指标限制”?

我想知道时间序列数据库是否会在这种情况下崩溃:

我有成千上万的物联网每 5 分钟发送 4 个不同的值。

我将在特定时间跨度内查询每个物联网的这些值。我的问题是:

tsdb 方法是否可行且可扩展至例如一百万个物联网,其指标如下:

? 还是他们的“指标数量”太多了?

保留政策为 2 年,可能会在 (TBA) 个月后汇总。但我认为这个考虑只对磁盘大小 afaik 很重要。

现在我正在使用石墨

0 投票
0 回答
799 浏览

graphite - 为什么即使在所有数据都到达 Graphite DB 之后,Graphite UI 也不显示数据?

我有一个石墨服务器,它具有以下保留。

我每 10 秒从系统 A 向 Graphite 服务器发送一次数据我可以确认所需的数据是从系统 A 到达的。我检查了位置 /storage/whisper/ 中的 wsp 文件并且数据存在(使用了 Whisper-fetch.py )。但是,我仍然无法在 Graphite UI 上看到任何图表。

此外,关于系统 A 的所有目录都在 Graphite UI 中可见,但是当我单击该指标时,它没有显示任何数据。

请帮助我了解此问题的可能原因,因为这只发生在系统 A 上,还有其他系统我可以在 Graphite 中看到数据。

0 投票
1 回答
166 浏览

graphite - 如何调试碳聚合器不聚合系列?

我正在尝试将来自多个指标的值汇总为一个(显然),但这并没有发生,我正拼命想弄清楚原因。虽然没有太多事情要做,但我希望能获得更多关于如何调试它的信息。

让我们从环境开始:

我的 aggregation-rules.conf 的内容是:

storage-schemas.conf对这些指标有一个部分:

我没有appinside部分storage-aggregation.conf。我的理解是这没有必要?

数据每 900 秒(15 分钟)发送到石墨,我可以直接在石墨上或从 grafana 实例中查看和查询所有单个系列。

当我启动一个graphite-aggregator实例时,我在文件中得到这些行aggregator.log

但从未创建过聚合指标。一开始我确实有语法错误,但修复了它们。从那时起,聚合器进程启动并成功运行,它永远不会聚合任何指标。

那么我将如何进行调试呢?