Amazon Best VPN GoSearch

OnWorks 网站图标

rrdgraph_libdbi - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 rrdgraph_libdbi

这是 rrdgraph_libdbi 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


rrdgraph_libdbi - 通过 libdbi 获取用于在 rrdtool 图中绘制的数据

概要


= sql// 驱动程序>/ = /...
[/rrdmin步长= ][/rrdfillmissing= 失踪 n 秒>]//
/ 列>/ 折扣值 列>[/派生]/ 条款 1>/.../ 条款 n>

商品描述


这个伪 rrd 文件名定义了一个 sql 数据源:

数据库//
libdbi 类型数据源的魔法 cookie 前缀

<libdbi 司机>
要使用哪个 libdbi 驱动程序(例如:mysql)

=
定义使用给定的 libdbi 驱动程序连接到数据库所需的参数
(这些驱动程序依赖于 libdbi - 有关详细信息,请查看 libdbi 的驱动程序文档!)

/rrdmin步长=<最小值 尺寸>
定义用于绘图的最小步长数(默认值:300 秒)

/rrdfill 缺失=<fill 失踪 秒>
定义用最后一个值填充的秒数,以避免由于数据插入抖动引起的 NaN 框(默认值:0 秒)


定义从中获取结果集的表。

如果需要从多个表中获取数据,可以通过用“+”分隔表名来定义这些表

通过 %xx 的十六进制类型编码被转换为实际值,使用 %% 使用 %

<[*]unixtimestamp 栏目>
定义 E 的列表E 其中包含 unix-timestamp
- 如果这是数据库中的 DATETIME 字段,则使用前导“*”作为前缀

通过 %xx 的十六进制类型编码被转换为实际值,使用 %% 使用 %

<数据 折扣值 栏目>
定义 E 的列表E 其中包含应绘制的值列

通过 %xx 的十六进制类型编码被转换为实际值,使用 %% 使用 %

/派生
定义使用的数据值应该是 2 个连续值的增量(以模拟 COUNTER 或 DERIVE 类型数据源)

/ 条款>
定义一个(或多个)where 子句,这些子句与 AND 连接以过滤条目桌子

通过 %xx 的十六进制类型编码被转换为实际值,使用 %% 使用 %

可以用作 ds-names 的返回值 column-names 是:

分钟, 平均, 最大, 西格玛
返回以用作 DS 定义中的 ds-names。
使用这个的原因是如果合并函数用于 min/avg 和 max,那么引擎会被多次使用。
这导致多次使用相同的 SQL 语句

示例


这是 MySQL 数据库中的表的示例:

数据库连接信息
数据库主机=127.0.0.1
用户=rrd
密码=秘密
数据库名称=rrd

这里的表:
创建表 RRDValue (
RRD密钥ID 比金特(20) 非空,
Unix时间戳 INT(11) 非空,
value double 默认值 NOT NULL,
主键(RRDKeyID,UnixTimeStamp)
);

我们想要绘制的 RRDKeyID 是:1141942900757789274

访问它的伪 rrd 文件名是:
"sql//mysql/host=127.0.0.1/dbname=rrd/username=rrd/password=secret//RRDValue/UnixTimeStamp
/value/RRDKeyID=1141464142203608274"

为了说明这一点,这里有一个命令来创建一个包含实际值的图形。

DS_BASE="sql//mysql/host=127.0.0.1/dbname=rrd/username=rrd/password=passwd//RRDValue/UnixTimeStamp/value/RRDKeyID=1141942900757789274"
rrdtool 图 test.png --imgformat=PNG --start=-1day --end=+3hours --width=1000 --height=600 \
"DEF:min=$DS_BASE:min:AVERAGE" \
"LINE1:min#FF0000:value" \
"DEF:avg=$DS_BASE:avg:AVERAGE" \
"LINE1:avg#00FF00:average" \
"DEF:max=$DS_BASE:max:AVERAGE" \
"LINE1:max#FF0000:max" \
"DEF:sigma=$DS_BASE:sigma:AVERAGE" \
"CDEF:upper=avg,4,sigma,*,+" \
"LINE1:upper#0000FF:+4 sigma" \
"CDEF:lower=avg,4,sigma,*,-" \
“LINE1:lower#0000FF:-4 西格玛”

附注


* 当然,您也可以使用 libdbi 支持的任何其他类型的驱动程序 - 例如 postgres,
...

* 从数据源的join方式来看,应该也可以做join over
不同的表
(在表中用“,”分隔表并在 WHERE 子句中添加表相等连接。
这还没有经过测试!!!)

* 使用相同的数据源添加到数据库中也应该比较简单
字符串。
这个还没有实现...

* 聚合函数被忽略,而是使用几个数据列
避免在最小值、平均值和最大值为
需要图形...

* 为了提高数据库效率,您应该考虑有 2 个表,其中一个包含历史值
另一个包含最新数据。
第二个表应该保持较小以允许最少的阻塞 SQL
声明。
对于 mysql,您甚至可以将 myisam 表类型用于第一个,将 InnoDB 用于第二个。
这尤其有趣,因为对于具有 +100M 行的表 myisam 小得多
然后是 InnoDB。

* 调试SQL语句设置环境变量RRDDEBUGSQL和实际SQL
语句并将时间打印到 stderr。

性能 问题 - MySQL 后端


当您从 MySQL 服务器检索数据时,LibDBI 有一个很大的性能问题。 表现
影响是基于您从数据库中检索的值的数量呈指数增长的。 为了
例如,在 2 小时的数据上绘制 5DS 需要 150 秒以上的时间
精度为 5 分钟(数据来自 RRD 文件时为 100 毫秒)。 这个bug已经
修复了最新版本的 LibDBI(尚未发布)。 那个时候,你需要
从 CVS 存储库编译 libdbi 和 libdbi-drivers 以修复它。 你可以找到更多
关于这个 libdbi-users 邮件列表线程的信息:
http://sourceforge.net/mailarchive/message.php?msg_id=30320894

使用 onworks.net 服务在线使用 rrdgraph_libdbi


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad




×
广告
❤️在这里购物、预订或购买——免费,有助于保持服务免费。