MRTG:rrdtool xport - 导出/导出流量的问题

时间:2015-04-24 15:38:00

标签: rrdtool rrd mrtg

我希望使用MRTG和rrdtool xport监控+导出/导出流量数据到XML。我有几个问题:

  • 导出的XML在元部分中具有相同的开始和结束时间戳。我指定--start 1429862400 --end 1429894800,输出值从1429862700开始,到1429886100结束,我也得到了不少NaN。

  • 我将ds0和ds1映射到我的输入/输出变量,但我实际上并不确定在哪里定义ds' s。如何将变量映射到网络进出流量? ds设备在​​哪里配置?

    • Ds1,可能是因为未正确配置,会产生错误值。

我正在跑步

rrdtool xport\
DEF:out_bytes=localhost_2.rrd:ds0:AVERAGEDEF:in_bytes\
=localhost_2.rrd:ds1:AVERAGE CDEF:io_bytes=out_bytes,in_bytes,+\ 
XPORT:in_bytes:outbytes XPORT:out_bytes:inbytes XPORT:io_bytes:iobytes\ 
--enumds --start 1429862400 --end 1429894800

导出。

这是我的mrtg.cfg

WorkDir: /var/www/mrtg/graph
WriteExpires: Yes
Title[^]: Traffic Analysis for
EnableIPv6: no
Target[localhost_2]: 2:public@127.0.0.1:
SetEnv[localhost_2]: MRTG_INT_IP="No Ip" MRTG_INT_DESCR="eth0"
MaxBytes[localhost_2]: 1250000
Title[localhost_2]: Traffic Analysis for 2 -- SMDSP01
XSize[localhost_2]: 256
YSize[localhost_2]: 64
XScale[localhost_2]: 0.65
YScale[localhost_2]: 0.6
Unscaled[localhost_2]: d
WithPeak[localhost_2]: d

这里有一个剪辑输出

<?xml version="1.0" encoding="UTF-8"?> <xport>    <meta>
      <start>1429862700</start>
      <step>300</step>
      <end>1429862700</end>
      <rows>109</rows>
      <columns>3</columns>
      <legend>
         <entry>outbytes</entry>
         <entry>inbytes</entry>
         <entry>iobytes</entry>
      </legend>    </meta>    <data>
      <row>
         <t>1429862700</t>
         <v0>7.5489722222e+00</v0>
         <v1>1.4522986944e+05</v1>
         <v2>1.4523741842e+05</v2>
      </row>
      <row>
         <t>1429863000</t>
         <v0>9.3254770432e+00</v0>
         <v1>1.6219456095e+05</v1>
         <v2>1.6220388643e+05</v2>
      </row>
      <row>
         <t>1429863300</t>
         <v0>6.4311896235e+00</v0>
         <v1>1.6358109508e+05</v1>
         <v2>1.6358752627e+05</v2>
      </row>
      <row>
         <t>1429863600</t>
         <v0>9.8945000000e+00</v0>
         <v1>4.6888782408e+05</v1>
         <v2>4.6889771858e+05</v2>
      </row>
      <row>
         <t>1429863900</t>
         <v0>5.6088333333e+00</v0>
         <v1>4.2072387378e+05</v1>
         <v2>4.2072948261e+05</v2>
      </row>
      <row>
         <t>1429864200</t>
         <v0>2.0383366480e+01</v0>
         <v1>2.5505514117e+05</v1>
         <v2>2.5507552453e+05</v2>
      </row>
      <row>
         <t>1429864500</t>
         <v0>1.2132332724e+03</v0>
         <v1>2.1026807079e+06</v1>
         <v2>2.1038939412e+06</v2>
      </row>
      <row>
         <t>1429864800</t>
         <v0>2.3604750000e+01</v0>
         <v1>NaN</v1>
         <v2>NaN</v2>
      </row>
      <row>
         <t>1429865100</t>
         <v0>6.3642958611e+03</v0>
         <v1>1.1198971143e+07</v1>
         <v2>1.1205335438e+07</v2>
      </row>
      <row>
         <t>1429865400</t>
         <v0>1.5586544194e+04</v0>
         <v1>8.5607161284e+06</v1>
         <v2>8.5763026726e+06</v2>
      </row>
      <row>
         <t>1429865700</t>
         <v0>2.4014277778e+01</v0>
         <v1>3.3303833329e+06</v1>
         <v2>3.3304073472e+06</v2>
      </row>
      ...
      <row>
         <t>1429892100</t>
         <v0>NaN</v0>
         <v1>NaN</v1>
         <v2>NaN</v2>
      </row>
      <row>
         <t>1429892400</t>
         <v0>NaN</v0>
         <v1>NaN</v1>
         <v2>NaN</v2>
      </row>
      <row>
         <t>1429892700</t>
         <v0>NaN</v0>
         <v1>NaN</v1>
         <v2>NaN</v2>
      </row>
      <row>
         <t>1429893000</t>
         <v0>NaN</v0>
         <v1>NaN</v1>
         <v2>NaN</v2>
      </row>
      <row>
         <t>1429893300</t>
         <v0>NaN</v0>
         <v1>NaN</v1>
         <v2>NaN</v2>
      </row>
      <row>
         <t>1429893600</t>
         <v0>NaN</v0>
         <v1>NaN</v1>
         <v2>NaN</v2>
      </row>
      <row>
         <t>1429893900</t>
         <v0>NaN</v0>
         <v1>NaN</v1>
         <v2>NaN</v2>
      </row>
      <row>
         <t>1429894200</t>
         <v0>NaN</v0>
         <v1>NaN</v1>
         <v2>NaN</v2>
      </row>
      <row>
         <t>1429894500</t>
         <v0>NaN</v0>
         <v1>NaN</v1>
         <v2>NaN</v2>
      </row>
      <row>
         <t>1429894800</t>
         <v0>NaN</v0>
         <v1>NaN</v1>
         <v2>NaN</v2>
      </row>
      <row>
         <t>1429895100</t>
         <v0>NaN</v0>
         <v1>NaN</v1>
         <v2>NaN</v2>
      </row>    </data> </xport>

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

首先,XML输出中的无效<end>标记是RRDTool中的错误。您没有说明您使用的是哪个版本,但如果您没有使用最新版本,请升级。如果您使用的是最新版本,请报告错误:)

由于fenceposting,输出时间点略微偏离您请求的窗口。您正在指定数据点,并正在导出包含它们的RRA(将在稍后一步结束)。这有点违反直觉,但我认为这是设计上的。

您正在从RRD DS中定义变量DEF:

DEF:out_bytes=localhost_2.rrd:ds0:AVERAGE
DEF:in_bytes=localhost_2.rrd:ds1:AVERAGE

MRTG生成的RRD文件将始终只有两个DS - 名为ds0ds1。虽然RRDTool可以支持更多具有各种名称的DS,但您无法更改MRTG生成的RRD文件中的名称,也不能在不破坏MRTG的情况下添加或删除DS。如果您想拥有更多DS,唯一的方法是添加新的MRTG目标 - 这将创建一个新的RRD文件,DSs&#39; ds0&#39;和&#39; ds1&#39; - 然后将其作为附加的两个DEF行添加到您的Xport请求中。

NaN是底层RRA没有有效数据的地方。这很可能是因为没有为该时间窗口收集(足够)数据,或者收集的数据无效。相应的MRTG图表可能也没有显示任何内容。另一种可能性是选择了错误的RRA,但这不太可能,因为您的时间窗口仅为9小时,非常适合MRTG生成的默认1天高粒度RRA。

如果您的值有问题,那么请确认它们在RRD中没有错误--xport只输出数据库中的内容。您是否期望以比特而非字节输出(在这种情况下乘以8)?您的值是否大约为140Mbps(IE 18MBps),但您是通过SNMPv1查询,在这种情况下MRTG无法轮询数据?在这种情况下,使用SNMPv2和MRTG来获取正确的数据。遗憾的是,您没有详细说明数据是如何“发生故障”的。所以我只能推测。