|
1.描述
Cacti就是rrdtool的一个forefront,它内置了快速的获数据取工具、优秀的绘图模板以及许多设计精良的数据获取脚本,从而可以 通过结合rrdtool强大的数据抓取、数据存储和绘图功能,轻松实现主机负载、网络流量等信息的走势图的绘制。目前其最新的软件版本是0.8.7g。
关于cacti的绘图器有两种选择,一种是cmd.php和spine,spine是一个基于C语言的,非常快速的轮询引擎。使用 spine 比 使用 cmd.php 效率高,特别是在当 cmd.php 执行接近或超过 300 秒的时候。cmd.php采集存在大的延迟,从添加设备到up,spine通常不到一分钟,而cmd.php等的时间较长,超过10分钟。当设备down 后 2分钟之内spine可以发出alert,而cmd.php可能需要10分钟以上。
NET-SNMP是一種开放源代码的简单网络管理协议
二:cacti 前期准备
1. Cacti 工作流程结构
http://blogimg.iyunv.com/blog/upfile2/101117133540.jpg 2. 软件下载
Cacti 相关软件列表
cacti-spine-0.8.7g.tar.gz
http://www.cacti.net/downloads/spine/cacti-spine-0.8.7g.tar.gz
ttfonts-zh_CN-2.14-6.noarch.rpm
ftp://ftp.sunet.se/pub/Linux/distributions/centos/4.8/os/s390x/CentOS/RPMS/ttfonts-zh_CN-2.14-6.noarch.rpm
rrdtool-1.2.13.tar.gz
http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.13.tar.gz
net-snmp-5.3.1
ftp://ftp.kr.freebsd.org/pub/FreeBSD/ports/distfiles/net-snmp-5.3.1.tar.gz
(我是yum的)
cacti 0.8.7b
http://www.cacti.net/downloads/ (英文版,这里可以不下载,字体根据自己喜好来设置吧)
PHP 版本 5.1.6
Apache/2.2.3
中文汉化 http://cactiusers.org/ cactiez
cacti-0.8.7b-cn-utf8.tar.gz
http://blogimg.iyunv.com/blog/upfile2/080822131849.gz
cacti-plugin-0.8.7b-PA-v2.1-cn-utf8.diff.gz
http://blogimg.iyunv.com/blog/upfile2/080822131839.gz
补充:因为cacti 需要http 提供服务,当你的服务器运行多种服务时,注意端口的占用。
当无法修改apache的端口时,可以用stenforce 0 关闭selinux。
三:安装
1 . 安装net-snmp
rpm -qa | grep net-snmp
net-snmp-perl-5.3.2.2-9.el5_5.1
net-snmp-libs-5.3.2.2-9.el5_5.1
net-snmp-5.3.2.2-9.el5_5.1
net-snmp-devel-5.3.2.2-9.el5_5.1
net-snmp-utils-5.3.2.2-9.el5_5.1
2.创建cacti数据库
mysql –u root –p
mysql>create database cacti default character set utf8;
mysql>grant all on cacti.* to cacti@localhost IDENTIFIED BY 'cacti';
mysql>flush privileges;
mysql> quit
3. 安装cacti
cacti-0.8.7b-cn-utf8.tar.gz
tar –zxvf cacti-0.8.7b-cn-utf8.tar.gz
将解压的目录放到你http的目录
如
mv cacti-0.8.7b-cn-utf8 /var/www/html/cacti
cd /var/www/html/cacti
修改连接数据库文件
vi include/config.php
$database_type = "mysql";
$database_default = "cacti"; #你建的数据库
$database_hostname = "localhost"; #主机一般不要改
$database_username = "cacti";#cacti 数据库用户
$database_password = "cacti";#密码
$database_port = "3306";# 端口一般不要修改
导入数据信息
pwd
/var/www/html/cacti
mysql -u cacti -p cacti < cacti.sql
4. 安装cacti的spine 绘图器
tar –xzf cacti-spine-0.8.7g.tar.gz
cd cacti-spine-0.8.7g
打补丁:
wget http://www.cacti.net/downloads/spine/patches/0.8.7g/unified_issues.patch
patch -p1 -N < unified_issues.patch
执行以下步骤安装
cacti]# aclocal
cacti]# libtoolize --force
Using `AC_PROG_RANLIB' is rendered obsolete by `AC_PROG_LIBTOOL'
Putting files in AC_CONFIG_AUX_DIR, `config'.
cacti]# autoconf
cacti]# autoheader
cacti]# automake
cacti]#./configure
cacti]# ./configure --prefix=/home/cacti/apps/spine
cacti]# make
cacti]# make install
3、安装后,要对配置文件进行修改
spine]#cp ./etc/spine.conf.dist ./spine.conf 建立spine的配置文件
cacti]# vim /home/cacti/apps/spine/etc/spine.conf
DB_Host localhost
DB_Database cacti
DB_User cacti
DB_Pass cacti
DB_Port 3306
将spine.conf 拷贝到/etc/ 下
/usr/local/spine/bin/spine #默认读取/etc/spine.conf 文件
SPINE: Using spine config file [/etc/spine.conf]
SPINE: Version 0.8.7g starting
SPINE: Time: 0.3692 s, Threads: 1, Hosts: 2 [iyunv@mycentos52
添加自动化采集任务
*/1 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1
如果不能出图,多手动运行几次
显示上边为正确,错误会提示你
4 安装rrdtool 支持中文
Yum 安装也可以
ftp://rpmfind.net/linux/fedora/updates/9/i386.newkey/rrdtool-1.3.4-2.fc9.i386.rpm
#rpm -ivh rrdtool-1.3.4-2.fc9.i386.rpm #但我没试过呢
因为很多cacti 支持中文,但rrdtool绘图生成的图表里边的设备名不支持中文
如:
http://blogimg.iyunv.com/blog/upfile2/101117133559.jpg 这种情况。
此时其他的页面都是中文的,你在怎么修改页面、系统支持中文这里也不会改变,持有让rrdtool支持中文才可以。
首先查看系统支持的字符集有哪些
locale –a
xh_ZA.utf8
yi_US
yi_US.cp1255
yi_US.utf8
zh_CN
zh_CN.gb18030
zh_CN.gb2312
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.big5hkscs
zh_HK.utf8
zh_SG
zh_SG.gb2312
zh_SG.gbk
zh_SG.utf8
zh_TW
zh_TW.big5
zh_TW.euctw
zh_TW.utf8
zu_ZA
zu_ZA.iso88591
zu_ZA.utf8
红色部分说明支持中文,这个很重要,否则rrdtool 不能生成中文字符
安装yum install ruby //安装ruby的语言支持环境,编译rrdtool时需要;不安装,编译也可以通过,最好是安装进去
安装字符集
下载地址:
ftp://ftp.sunet.se/pub/Linux/distributions/centos/4.8/os/s390x/CentOS/RPMS/ttfonts-zh_CN-2.14-6.noarch.rpm
rpm –ivh ttfonts-zh_CN-2.14-6.noarch.rpm
安装完成后会在/usr/share/fonts/ 下面生成一个zh_CN的目录
里边的文件有:
fonts.dir fonts.scale gbsn00lp.ttf gkai00mp.ttf zysong.ttf
红色部分是支持中文的字符集,自己可以找喜欢的设置
修改 i18n支持中文字符
sed -i -e 's/^LANG=.*/LANG="zh_CN.GB18030"/' /etc/sysconfig/i18n
下面修改rrdtool 源码文件,让它编译的时候支持中文字符
vi /opt/cacti/rrdtool-1.2.13/src/rrd_graph.c (此为源码包的路径)
删除rrd_graph.c文件中以下两行:
setlocale(LC_TIME,"");
setlocale(LC_CTYPE,"");
在原来setlocale(LC_CTYPE,"")的位置增加以下内容
setlocale(LC_ALL,"zh_CN.gb2312");
补充:1.有些人喜欢注释掉,其实这又是会出错,编译不能进行,最好删掉
2.有很多人将setlocale(LC_ALL,"zh_CN.gb2312"); 换成zh_CN.UTF-8,也是可以的,这就需要你系统支持那些字符了,第一种不行可以使用第二种。
编译安装rrdtool
./configure –prefix=/usr/local/rrdtool
Make && make install
安装完成(需要cacti 安装完后才能添加路径)
:修改Cacti的rrdtool设置,使其支持中文设备名和图片中输出中文
1)登陆Cacti,在主页的左边点击setting,选择paths页 (console>>setting>>paths)
将RRDTool Binary Path修改为:/usr/local/rrdtool/bin/rrdtool
还需要修改rrdtool的字体设置。
2)登陆Cacti,在主页的左边点击setting,选择paths页 (console>>setting>>paths)
将RRDTool Default Font Path修改为:/usr/share/fonts/zh_CN/TrueType/gkai00mp.ttf
点击save。
5 收尾工作
1. 修改apache 默认支持关闭gb2312
如:
#AddDefaultCharset UTF-8
AddDefaultCharset GB2312
2. 设置防火墙,开放80
Iptables –A INPUT -m state --state NEW -m tcp -p tcp --dport 80 –j ACCEPT
访问:http://ip/cacti
3 .进行安装
1第一次登陆默认用户名和密码都是admin
2路径设置
http://blogimg.iyunv.com/blog/upfile2/101117133616.jpg
3.常规设置
http://blogimg.iyunv.com/blog/upfile2/101117133636.jpg 这两个地方很重要,一定要写对,否则会报告错误。
4轮询器的设置
http://blogimg.iyunv.com/blog/upfile2/101117133654.jpg 记住选择spine
来张效果图
http://blogimg.iyunv.com/blog/upfile2/101117135456.jpg 6 错误收集 |
|
|