问题标签 [rrdtool]

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 回答
390 浏览

reporting - 针对 100,000 个用户群网站的报告解决方案,rrd?

客户的网站是一个拥有 100,000 用户群的网站,拥有数百万条交易数据记录,目前该网站使用 RRDTool 为每个用户在预定工作中生成多个报告,关注点是:

  • 并非每个用户都需要查看此报告。
  • 由于某些原因,RRDTool 无法始终按时生成报告。在下一个计划作业开始之前,RRDTool 似乎无法在指定时间段内完成为这么多用户生成报告。
  • rrdtool 下有 100,000 个子文件夹,每个子文件夹代表一个用户。

请建议这是否是使用 RRDTool 作为报告解决方案的好用例,如果不是,在这种情况下什么可能是更好的解决方案?提前致谢。

编辑:
报表图表其实很简单,只是绘制或趋势线图,是否可以简单地使用 SQL 查询获取数据,然后使用 Javascript 库(如 gRaphaël)在浏览器中呈现图表?

0 投票
2 回答
2017 浏览

c - 如何使用 C API 调用线程安全的 rrd_update_r 循环数据库函数?

谁能帮我找出如何从http://oss.oetiker.ch/rrdtool/index.en.html调用 rrdtool c API 的 rrd_update_r 函数?

调用 rrd_update 的非线程安全版本很容易,但这个更棘手......

正常的rrd_update:

因为程序必须在多线程环境中运行,所以我因为不使用线程安全函数而遇到了几个错误!但是使用rrd_update_r并不是那么容易,因为它也需要一个模板......

我真的不知道如何创建一个......

不起作用并在执行时产生以下错误...

希望有人可以帮助我!

thx and br, roegi

0 投票
1 回答
304 浏览

time-series - 对rrd累积多次更新

我的用例是有来自多个来源的更新,我必须存储所有更新的总和。一种方法是我为每个源创建单独的 rrd 文件并运行一个将 sum 存储到聚合 rrd 文件的 cron。

我想知道是否有一种方法(也许使用 rrdcached?)所有源都更新到这个单个 rrd 文件,并且同一步骤内的所有更新被汇总在一起并存储在 rrd 中。

请让我知道这是否可能。

- 谢谢。

0 投票
0 回答
360 浏览

linux - RRDTool:无法绘制线或区域(绘图为空)

我一直在努力掌握 RRDTool。除了数据采集和存储,我在绘制任何东西时都遇到了麻烦。

像这样使用它不会返回任何东西,即没有创建 png:

获得任何输出的唯一方法是包含类似 GPRINT 的内容:

但即便如此,图形本身还是空的,而 GPRINT 打印出正确的值。我也尝试过绘制一个常数值并使用 HRULE,但无济于事。我已经尝试了几乎所有东西,手动指定开始和结束以及上限和下限。

这是在 Debian Squeeze 和 Ubuntu 11.04 上。

更新:

没关系,我“解决了”我的问题。原来它与 shell 扩展有关,在 "LINE:in:#000000" 周围加上引号就足够了。愚蠢的错误。

0 投票
3 回答
11811 浏览

rrdtool - 来自 rrdtool 的易于解析的输出

我正在处理一大堆 RRD 文件,我必须在其中大量查询数据 - 主要是通过读取所有数据并将其传递。

目前,我使用rrdtool fetch <filename> CF --start XXX --end YYY,但由于它一次只返回一个 CF 的数据,我首先必须执行单独的查询来查找 CF(= run 和 parse rrdtool info <filename>),然后rrdtool fetch为每个找到的 CF运行。但是,输出很容易解析。

或者,rrdtool xport DEF:XX=<filename>:RRA:CF ... XPORT:XX:XX ...对于我想要的每件事,都有多个“组”后面的命令。从好的方面来说,这可以一次性给我所有的数据,但我仍然需要事先对我想要的数据有一个相当好的了解。此外,它只输出 XML(解析总是很麻烦)。

我有一种感觉,我错过了一些非常明显的东西,因为从文件中获取时间戳列表→数字列表根本不会那么麻烦......有什么线索吗?

0 投票
1 回答
1385 浏览

rrdtool - rrdtool 图略有不同的图

首先我要说的是,即使在设置了一个系统之后,我注册了每分钟的 http 响应总数(200、301、302 等),并且我能够知道关于用户的性能如何,它碰巧我说我的老板让我很生气,因为我认为它与 rrd 内部结构有关,但我必须解决这个问题。

我用 rrdtool 做什么?:

一分钟(60 秒)总结不同的 http 响应后,我将带有时间戳的值插入 rrd 数据库。

这是 rrd 文件定义:

正如您在 RRA 中看到的,我节省了 43200,这意味着两周节省了 60 秒的值。

绘制时出现的问题,这是我用来绘制过去 6 小时图形的命令(其中 $start 是开始时间,$time 是结束时间,$rrd 是 rrd 文件)

{ /usr/bin/rrdtool graph last6hours.png --units=si --alt-y-grid --start $start --end $time -o -S 60 --width 600 --height 200 --imgformat PNG DEF:200=$rrd:200:AVERAGE LINE1:200#006666:"200" DEF:300=$rrd:300:AVERAGE LINE1:300#FF00CC:\"301+302\" DEF:400=$rrd:400:AVERAGE LINE1:400#000000:\"400\" DEF:404=$rrd:404:AVERAGE LINE1:404#6666CC:\"404\" DEF:500=$rrd:500:AVERAGE LINE1:500#00FF66:\"500\" DEF:502=$rrd:502:AVERAGE LINE1:502#FF0000:\"502\" DEF:504=$rrd:504:AVERAGE LINE1:504#FF9900:\"504\";}

这是我用来画最后 12 小时的:

{ /usr/bin/rrdtool graph last12hours.png --units=si --alt-y-grid --start $start --end $time -o -S 60 --width 600 --height 200 --imgformat PNG DEF:200=$rrd:200:AVERAGE LINE1:200#006666:"200" DEF:300=$rrd:300:AVERAGE LINE1:300#FF00CC:\"301+302\" DEF:400=$rrd:400:AVERAGE LINE1:400#000000:\"400\" DEF:404=$rrd:404:AVERAGE LINE1:404#6666CC:\"404\" DEF:500=$rrd:500:AVERAGE LINE1:500#00FF66:\"500\" DEF:502=$rrd:502:AVERAGE LINE1:502#FF0000:\"502\" DEF:504=$rrd:504:AVERAGE LINE1:504#FF9900:\"504\";}

现在请查看抽签结果,在红色圆圈内的第一张图中,响应 200 下降到 0,但在过去 12 小时的图中,同样的下降直到 0,所以我的老板逼我说数据不是真实的,但最糟糕的是,如果我知道这是真实的并且是关于 rrdtool 内部的,但我不知道如何解决它。

请问有什么主旨吗?

最后六个小时

最后十二小时

0 投票
1 回答
1149 浏览

php - Windows 中用于 php 的 RRDTool

我想使用 rrdtool 的 php 扩展在 Windows 中创建图形。我需要一个 php_rrdtools.dll 或类似的东西。

谁能帮我创建 php 扩展以使用 rrdtools 或告诉我在哪里可以下载这些扩展?

0 投票
1 回答
704 浏览

php - 用于更新 rrd 数据库的 PHP 脚本

我必须开发一个网络监视器来使用 snmp 监视多个组件。我将所有收到的数据保存在循环数据库中。

我开始创建一个基于 Web 的配置中心,允许用户添加要监控的设备并访问所有设备的所有图表(使用 rrdtool)。

我必须每天、每周、每月和每年更新数据库。

我的问题是,我如何启动一个脚本来执行 snmp 命令以从设备中获取数据并将其存储在数据库中并在后台运行?通过背景,我的意思是这是一个不依赖于用户是否登录到 Web 配置页面的过程。

我从来没有在 PHP 中做过什么,所以我问你。

我希望你能帮助我。先感谢您。最良好的问候。

0 投票
1 回答
581 浏览

rrdtool - rrd-tool 如何检测变化和发送警报(电子邮件、声音等...)

我使用 rrd-tool,但现在我想做的是在某些东西不符合预期值时发送警报。我尝试了 rrdtool Holt-Winters 功能,但我正在寻找更简单的东西。

有什么建议么?

0 投票
2 回答
1293 浏览

rrdtool - rrdtool Holt-Winters 功能

我主要是因为我正在使用 rrdtool holt-winters 功能而写,但遗憾的是它不能像我一样工作,开始我会为你写 rrd 文件命令行创建:

之后,我基本上插入数据,然后像这样绘制图表:

这是图像RRDTOOL IMAGE

我得到了一个这样的图表,但是正如您所看到的,有黄色线表示存在错误,但事实并非如此,我的意思是,该点的活动线略微偏离红色区域,但它不是错误,我基本上需要了解我必须设置的值并基于什么,我尝试过,但我不太了解系统。

rrdtool专家有什么建议吗?

提前谢谢了