4

我想使用 munin 收集系统统计信息并将其保存在数据库中。但是我找不到任何方法来获取 munin 收集的原始统计数据。有什么方法可以获取 munin 收集的原始数据并使用它创建图表?

4

3 回答 3

1

另一种可能性是使用命令访问历史数据rrdtool,例如使用类似的东西rrdtool fetch /var/munin/{domain}/{something}.rrd AVERAGE(这是 FreeBSD 系统上数据文件的路径,在 Linux 上可能是 /var/lib/munin 等)。

于 2013-07-20T22:47:41.667 回答
0

您可以使用 xml 格式导出 munin(或更确切地说是底层 rrdtool)数据

rrdtool xport \
      --start now-1h --end now \
      DEF:xx=host-inout.lo.rrd:output:AVERAGE \
      DEF:yy=host-inout.lo.rrd:input:AVERAGE \
      CDEF:aa=xx,yy,+,8,* \
      XPORT:xx:"out bytes" \
      XPORT:aa:"in and out bits"

生成的元数据部分是(值将取决于 RRD 特征):

<meta>
<start>1020611700</start>
<step>300</step>
<end>1020615600</end>
<rows>14</rows>
<columns>2</columns>
<legend>
  <entry>out bytes</entry>
  <entry>in and out bits</entry>
</legend>

结果数据部分是:

<data>
<row><t>1020611700</t><v>3.4000000000e+00</v><v>5.4400000000e+01</v></row>
<row><t>1020612000</t><v>3.4000000000e+00</v><v>5.4400000000e+01</v></row>
<row><t>1020612300</t><v>3.4000000000e+00</v><v>5.4400000000e+01</v></row>
<row><t>1020612600</t><v>3.4113333333e+00</v><v>5.4581333333e+01</v></row>
<row><t>1020612900</t><v>3.4000000000e+00</v><v>5.4400000000e+01</v></row>
<row><t>1020613200</t><v>3.4000000000e+00</v><v>5.4400000000e+01</v></row>
<row><t>1020613500</t><v>3.4000000000e+00</v><v>5.4400000000e+01</v></row>
<row><t>1020613800</t><v>3.4000000000e+00</v><v>5.4400000000e+01</v></row>
<row><t>1020614100</t><v>3.4000000000e+00</v><v>5.4400000000e+01</v></row>
<row><t>1020614400</t><v>3.4000000000e+00</v><v>5.4400000000e+01</v></row>
<row><t>1020614700</t><v>3.7333333333e+00</v><v>5.9733333333e+01</v></row>
<row><t>1020615000</t><v>3.4000000000e+00</v><v>5.4400000000e+01</v></row>
<row><t>1020615300</t><v>3.4000000000e+00</v><v>5.4400000000e+01</v></row>
<row><t>1020615600</t><v>NaN</v><v>NaN</v></row>

我使用 xml 导出使用 JavaScript 生成图表,用于在http://pi.tafkas.net/temperatures/上进行家庭温度监控

于 2014-06-11T22:04:20.863 回答
-1

Munin 依靠其插件来收集统计数据。尽管插件几乎可以用任何语言编写,但大多数是某种类型的脚本(shell、Perl、Python 等)。查看每个插件(您要使用的)以了解数据是如何收集的。您应该能够编写自己的代码并对其进行 cron(就像 munin 一样),以便它每 5 分钟(或您想要的任何时间)获取一个指标。

在绘制一些较大的数据集(例如,绘制一整年的数据)时,您可能需要编写额外的脚本来聚合数据。在特定时间段后删除数据的那个和/或脚本。

于 2013-06-21T02:22:35.443 回答