运维百科

Cacti搭建部署

一、搭建lamp或者lnmp环境。

1、推荐使用:http://lnmp.org/一键安装lamp环境即可。

 

2、修改php配置:

#vim /usr/local/php/etc/php.ini
取消305行注释

LJ{GJI2Q1OH~7V@@@${_XT7.png

 

二、配置cacti

1、  下载安装Cacti

Cacti下载地址:http://www.cacti.net/downloads

目前最新版:http://www.cacti.net/downloads/cacti-0.8.8h.tar.gz

#cd /usr/local/src
#wget http://www.cacti.net/downloads/cacti-0.8.8h.tar.gz
#tar zxvf cacti-0.8.8h.tar.gz
#mv cacti-0.8.8h /home/wwwroot/default/cacti
#chown www.www /home/wwwroot/default/cacti -R #设置目录所有者
#chmod 700 /home/wwwroot/default/cacti -R #设置目录权限

 

2、  配置Cacti数据库

# mysql -u root -p #输入密码进入MySQL控制台
# create database cactidb; #创建数据库cactidb
# insert into mysql.user(Host,User,Password) values('localhost','cactiuser',password('123456')); #创建数据库用户cactiuser 密码 123456
# grant all on cactidb.* to 'cactiuser'@'localhost' identified by '123456' with grant option; #授权用户cactiuser对数据库cactidb完全访问
# flush privileges; #刷新系统授权表,使设置生效
# exit; #退出MySQL控制台

# mysql -uroot -p cactidb < /home/wwwroot/default/cacti/cacti.sql #导入cacti数据库文件,注意一定不能有
# vi /home/wwwroot/default/cacti/include/config.php #配置数据库连接
$database_type = "mysql";
$database_default = "cactidb"; #数据库名称
$database_hostname = "localhost"; #主机名称,默认即可
$database_username = "cactiuser"; #数据库用户名
$database_password = "123456"; #数据库密码
$database_port = "3306"; #MySQL数据库默认连接端口
$database_ssl = false;

使用http://192.168.10.5/cacti

 

三、安装rrdtool

rrdtool下载地址:http://pkgs.fedoraproject.org/repo/pkgs/rrdtool/

最新版:http://pkgs.fedoraproject.org/repo/pkgs/rrdtool/rrdtool-1.5.4.tar.gz/

# tar zxf rrdtool-1.5.4.tar.gz
# cd rrdtool-1.5.4
# ./configure --prefix=/usr/local/rrdtool
# make
# make install

 

【报错:onfigure: error: Please fix the library issues listed above and try again.】

原因:少了必须支持的库文件,执行以下命令:

解决办法:yum -y install pango*


yum安装rrdtool笔记建议使用此方法,后期流量导出csv export时的时间不会发生错误

安装相关依赖
# yum install ntp vim-enhanced gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel ncurses-devel zlib-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel libXpm-devel gettext-devel  pam-devel
# yum install -y rrdtool perl-rrdtool rrdtool-devel
这可安装完成!


四、yum安装snmp

# yum -y install net-snmp-libs net-snmp net-snmp-utils
or
# yum -y install net-snmp*
启动并加入开机启动
# service snmpd start
# chkconfig snmpd on

 

配置SNMP:

#vim /etc/snmp/snmpd.conf    // snmp的配置文件为snmpd.conf
将public修改为你才知道的字符串
将“default”改为你想哪台机器可以看到你的snmp信息,比如SUM所在IP为:10.10.10.10,就改成这个IP。不改表示所有机器充许。

DM78EJ5UC0RM2Y~}6Z}X_Z0.png

#号去掉
启用全部功能可以使用如下一行(如果没有可以加入一行,这里去掉#)

CV$C7`Y2D1HEOQKM}[DKAXQ.png

将systemview改成all

8V96V0V15GFGJH51PVFC`)A.png

# service snmpd restart  //重启snmpd
防火墙开启161端口:
# vim /etc/sysconfig/iptables

T~{_9HSDNQ2~{C((HR(FX1E.png

SNMP服务验证:

1)使用snmpwalk命令,查看本机localhost的主机名:

# snmpwalk -v 2c -c public localhost sysName.0

DS~Q@FNSUA@A09U_)LA%G_A.png

获取到本机主机名为localhost.localdomain,则表示snmp服务已经可以正常使用

2)使用snmptranslate命令,检查snmp工具是否可以使用:

# snmptranslate -To | head

R0MVFW_XUH[}IP`E7EIEP_2.png

查出了部分oid,则表示snmp工具可以正常使用

3)测试远端主机是否可以获取数据:

# snmpwalk -v 2c -c public 10.15.72.136

登陆另外一台Linux主机,该主机也按照上面的步骤安装好snmp服务及snmp工具。通过这台主机,获取远端主机的数据,这时需指定远端主机的IP地址:

}]YK`1JQYZ9$_F7TL(IKJRH.png

不加sysName.0会刷出大量信息

 

五、安装spine

由于默认cmd.php 来轮询数据,速度会很慢,特别是在监控节点比较多的情况下,cmd.php 就更显不足了,因此我们采用Spine 来轮询数据。cacti-spine 是一个由C 语言开发的,用于替代cmd.php 的快速获取速度的引擎。

安装spine 之前请确保它所依赖的包net-snmp-devel、mysql-devel、openssl-devel 都已安装完毕。

如果未安装,可以选择yum install net-snmp-devel mysql-devel openssl-devel

#cd /usr/local/src
#wget https://www.cacti.net/downloads/spine/cacti-spine-0.8.8h.tar.gz
#tar zxvf cacti-spine-0.8.8h.tar.gz
#cd cacti-spine-0.8.8h
#./configure
#make && make install

 

编辑spine 配置文件

#vi /usr/local/spine/etc/spine.conf
修改内容如下:
DB_Host localhost
DB_Database cacti
DB_User cacti
DB_Pass linuxpad
DB_Port 3306

 

将spine 启动并设置开机自启动

#/usr/local/spine/bin/spine
#echo /usr/local/spine/bin/spine >>/etc/rc.d/rc.local

 

Cacti 设置:

Cacti 控制面板->配置->设置

路径:将Spine 轮询器路径设置为/usr/local/spine/bin/spine

轮询器:轮询器类型选择Spine

到此为止,我们已经成功安装Spine 轮询器并使用。


六、自动采集计划

# yum install -y vixie-cron #安装计划任务,某些系统上可能没有预装
# chkconfig crond on #设为开机启动
# crontab -e   #设置每隔5分钟Cacti采集一次数据
   */5 * * * * /usr/local/php/bin/php /home/wwwroot/default/cacti/poller.php &> /dev/null
# service crond start #启动crond
# /usr/local/php/bin/php  /home/wwwroot/defautl/cacti/poller.php   #手动刷新数据

UZFOM]1MKQX]593EI0VRNS4.png

报错记录:

错误1configure: error: cannot run /bin/bash config/config.sub

原因:cactispine版本不一致;

解决办法:
#ls -al config/*          //查看链接路径
#find / -name config.sub 或者locate config.sub             //查找config.sub的路径
 #ln -s -f /正确路径/config.sub config.sub
例如我的#ln -s -f /usr/share/libtool/config/config.sub config.sub
同样的道理:config.guess路径不对也这样改过来。

 

错误2

../libtool: line 466: CDPATH: command not found
../libtool: line 1144: func_opt_split: command not found

解决办法:
只要运行下列命令即可解决
aclocal
cd /usr/share/libtool/libltdl
libtoolize --force
cd /opt/cacti-spine-0.87
autoconf
autoheader
automake

 

错误3SPINE: Poller[0] FATAL: Unable to read configuration file! (Spine init)

解决办法:spine默认配置文件需要放在/etc才会生效;
ln -s /usr/local/spine/etc/spine.conf /etc/spine.conf


至此,Cacti监控服务器安装完成.


本站部分资源收集于网络,纯个人收藏,无商业用途,如有侵权请及时告知!

5
分享到:

评论 0

取消
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址