8

我有几百个 rrd,我想为所有这些 rrd 添加 5 个额外的数据源。

  1. 这样做是否可取
  2. 最好的方法和最快的方法是什么

--索恩--

David OBrien 在邮件列表中回复

在搜索档案(你应该先完成)和谷歌搜索后,我发现有几个人在使用它......

用 perl。安装RRD:简单

#!/usr/local/bin/perl 

use strict; 
use RRD::Simple (); 

my $rrd = RRD::Simple->new(); 
my $rrdfile=$ARGV[0]; 
my $source=$ARGV[1]; 
my $type=$ARGV[2]; 
chomp($type); 
$rrd->add_source($rrdfile, $source => $type); 

用法:

./addSource.pl file.rrd ds GAUGE 

或任何类型..

享受。

4

3 回答 3

2

使用 rrddump 和 rrdrestore。

就这样:

rrdtool dump my.rrd > file.xml

./rrdAddDS.pl file.xml newDsName > new_file.xml

rrdtool restore new_file.xml my_new.rrd

你可以从这里参考:http: //osdir.com/ml/db.rrdtool.user/2003-08/msg00115.html

在这里: http: //www.docum.org/drupal/sites/default/files/add_ds_to_rrd.pl_.txt

于 2013-01-27T15:10:12.563 回答
2

如果您使用 PNP4Nagios ( https://docs.pnp4nagios.org/pnp-0.6/start ),它们提供了一个实用脚本rrd_modify.pl用于修改现有的 RRD 数据文件。

    $ rrd_modify.pl -h

   === rrd_modify.pl 0.01 ===
   Copyright (c) 2012 PNP4Nagios Developer Team (http://www.pnp4nagios.org)

   This script can be used to alter the number of data sources of an RRD file.

   Usage:
   rrd_modify.pl RRD_file insert|delete start_ds[,no_of_cols] [type]

   Arguments:
   RRD_file
      the location of the RRD file. It will NOT be overwritten but appended
      by ".chg"
   insert or delete
      the operation to be executed
   start_ds
      the position at which the operation starts (1..no of data sources+1)
   no_of_cols
      (an optional) number of columns which will be added/deleted
   type
      the data type (one of GAUGE, COUNTER)
                Defaults to GAUGE if not specified for insert operations
        (DERIVE, ABSOLUTE, COMPUTE have not been tested and might result in
                 errors during creation of a new RRD file)
于 2014-08-11T17:28:07.857 回答
2

由于 1.5 版可以使用该选项rrdtool create“预填充”现有文件中的数据。--source此功能无需额外脚本即可解决问题。

还请参见:Matija Nalis 的评论如下。

于 2018-01-28T07:39:32.113 回答