首先是rrdtool这个工具的介绍: rrd比较好的介绍以及 rrdtool的python实例

其次,怎样才能把rrdtool生成的图弄得漂亮一些呢,默认的图太丑太不fashion了。

CentOS上安装rrdtool

正常情况下,当然是用yum安装:

yum install rrdtool rrdtool-devel

然后

pip install rrdtool

由于网管系统是基于Python2.7开发的,centos6.5默认的python版本是2.6.6,手动升级到python2.7之后,再安装rrdtool的python支持(pip install rrdtool), 在python使用,就会报错。

>>> import rrdtool
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
ImportError: /usr/local/lib/python2.7/site-packages/rrdtoolmodule.so: undefined symbol: rrd_flushcached

解决方案是:用rrdtool源码重新编译安装rrdtool(而不是通过yum源去安装rpm包)。

#由于rrdtool官网有时候会连不上,而且centos默认的rrdtool版本是1.3.8,所有我就自建下载地址
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.3.8.tar.gz
tar zxvf rrdtool-1.3.8.tar.gz
cd rrdtool-1.3.8
yum install -y libxml pango*
./configure --prefix=/usr/local
make
make install

# 安装rrdtool-python
pip install rrdtool

安装后如果遇到下面这个问题:

>>> import rrdtool
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: librrd.so.4: cannot open shared object file: No such file or directory
>>>

解决办法是将rrdtool库做软链接到/usr/lib

ln -s /usr/local/lib/librrd* /usr/lib
ldconfig
安装rrdtool-php

环境:php版本5.3.3,rrdtool版本1.3.8

wget https://pecl.php.net/get/rrd-1.1.3.tgz
tar xvf rrd-1.1.3.tgz
cd rrd-1.1.3
phpize # 是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块
./configure
make
make install

在/etc/php.d/里添加rrd.ini,仿照其他的ini文件,填上内容。重启httpd服务,完事。 哦, 不对,php -m看一下rrd模块加载进去没,如果有rrd则完事。

附录:php的rrdtool教程