将MRTG的数据转换为RRDTool的格式

相信大家使用MRTG都有一段时间了,
如果想要转换为RRDTool和Cacti,但又不想丢失之前的数据,怎么办呢?由于MRTG和RRDTool的作者都是同一个人,所以其实数据转换是非
常简单的事情。不过,如果要将MRTG的数据转为Cacti使用,还是需要几个步骤的。(转换前需要先安装RRDTool)

1、备份MRTG的数据

因为要保证数据的连续性,所以需要复制一份mrtg的数据进行更改。

1.1、复制整个mrtg的work dir

cp -rf /path/to/your/workdir /path/to/your/workdir2

1.2、复制和更改mrtg.conf

cp /path/to/your/mrtg.cfg /path/to/your/mrtg2.cfg
vi /path/to/your/mrtg2.cfg


将Work Dir更改为/path/to/your/wordir2

1.3、添加crontab给mrtg2

# crontab -e

添加

*/5 * * * * (/bin/mrtg /path/to/your/mrtg2.cfg --logging=/path/to/your/mrtg2.log)


保存。

这样就让两份mrtg脚本一起运行,保证了数据的连续性。

2、将数据由mrtg格式更改为rrd格式

2.1、更改配置文件

vi /path/to/your/mrtg2.cfg


添加:

LogFormat: rrdtool

PathAdd: /path/to/your//rrdtool/bin/


LibAdd: /path/to/your/rrdtool/lib/perl/

PathAdd和LibAdd是rrdtool的路径。

2.2、更改数据格式

手工运行

/bin/mrtg /path/to/your/mrtg2.cfg


然后

cd /path/to/your/mrtgdir2,

查看数据是否由log的后缀名变为rrd的后缀名,如果变了即转换成功了!

3、导入到cacti中

由于Cacti中每一台主机的每一张图的数据都保存在一个文件中,需要一个一个文件进行导入。

以某台主机(10.10.10.10)的ETH0网卡为例:

3.1、找出Cacti的数据名称

将10.10.10.10_1.rrd拷到/path/to/cacti/rra文件夹中(也可以先备份rra文件夹)。

在cacti中的Data Sources-》10.10.10.10-》Supplemental Data Template Data-》Data Source Path右边的文本框中找到其对应的RRD文件的路径和文件名,比如

/10.10.10.10_traffic_in_45.rrd

3.2、更改数据的名称和DS名

返回Cacti主机,进行如下操作:

cp 10.10.10.10_1.rrd 10.10.10.10_traffic_in_45.rrd

/path/to/rrdtool/bin/rrdtool tune -r ds0:traffic_in


/path/to/rrdtool/bin/rrdtool tune -r ds0:traffic_out


chown cactiuser:cacti 10.10.10.10_traffic_in_45.rrd

解释:MRTG与Cacti定义的DS名称不同,所以需要更改其DS名称;

如果有很多个数据,可以用脚本进行批量更改;

chown可以在全部完成后用“*”匹配,但为了保持数据完整性建议还是5分钟内chown一次

3.3、结束

点击cacti的Graph Management里面10.10.10.10监测点的右上角“Turn on Graph Debug Mode”是否有错误。

如果图形能显示即转换成功!


Leave a Reply