使用lvs-rrd工具监控存储lvs状态信息

1. 准备工作

rrdtool安装包下载:http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz

lvs-rrd安装包下载:http://tepedino.org/lvs-rrd/lvs-rrd-v0.7.tar.gz

yum install php
yum install httpd
service httpd start

chkconfig httpd on

2. 部署rrdtool

yum groupinstall -y "Development Tools" "Server Platform Development" "Base" "Fonts"
yum -y install  libpng-devel freetype-devel libart_lgpl-devel libxml2-devel gd gd-devel cairo-devel pango-devel perl-ExtUtils-*
tar xvzf rrdtool-1.4.7.tar.gz
cd rrdtool-1.4.7
./configure –prefix=/usr/local/rrdtool
make
make install

安装完毕后将rrdtool库文件添加至系统库文件搜索路径

echo ‘/usr/local/rrdtool/lib’ >>/etc/ld.so.conf
ldconfig –v
/usr/local/rrdtool/bin/rrdtool –v      #查看rrdtool版本信息

3. 部署lvs-rrd

tar xvzf lvs-rrd-v0.7.tar.gz
mv lvs-rrd-v0.7 /var/www/html/lvs-rrd
cd /var/www/html/lvs-rrd
mkdir -p rrd

修改配置文件

vim lvs.rrd.update
RRDTOOL=”/usr/local/rrdtool/bin/rrdtool”#rrdtool可执行程序路径
IPVSADM=”/sbin/ipvsadm”#ipvsadm命令路径
WORKDIR=”/var/www/html/lvs-rrd”#rrdtool收集的数据的存放路径
vim graph-lvs.sh
# WORKDIR must match the directory used in the update script.
WORKDIR=”/var/www/html/lvs-rrd/rrd” #rrdtool收集的数据存放的路径
RRDTOOL=”/usr/local/rrdtool/bin/rrdtool”#rrdtool可执行程序路径
# Where to put the graphs.
GRAPHS=“/var/www/html/lvs-rrd/graphs”#生成的图片保存路径
WEBPATH=”/lvs-rrd/graphs”#图片路径
vim lvs-rrd.php
<?php
header(“Cache-Control: max-age=300, must-revalidate”);
system(“/var/www/html/lvs-rrd/graph-lvs.sh -H”);#修改路径为部署服务的路径
?>
chown –R apache.apache /var/www/html/lvs-rrd
执行一次lvs.rrd.update生成初始rrd数据

配置计划任务

crontab –e

增加以下配置:

#lvs status
* * * * * /var/www/html/lvs-rrd/lvs.rrd.update 2>/dev/null >/dev/null

4. 配置httpd认证

在/etc/httpd/conf/httpd.conf中添加如下内容:

<Directory "/var/www/html/lvs">
Options All
AllowOverride AuthConfig
AuthType Basic
AuthBasicProvider file
AuthName "LVS Status"
AuthUserFile /etc/httpd/conf/.htpasswd
Require valid-user
</Directory>
htpasswd -cm /etc/httpd/conf/.htpasswd admin

5. 测试

服务配置完毕后,过几分钟之后,访问http://10.0.0.10/lvs-rrd(LVS与lvs-rrd所在服务器),输入帐号admin及其密码通过认证之后,即可看到当前lvs的连接状态等信息。