上帝大脸 发表于 2019-1-10 08:50:03

Cacti数据迁移必须成功版

  环境:Centos6.4 32位。Apache,Mysql。
  1,安装LAMP并且可以成功打开info.php
#yum -y install httpd php php-mysql mysql mysql-server perl-DBD-MySQL php-pdo net-snmp net-snmp-libs net-snmp-utils net-snmp-devel ruby php-snmp ruby-devel rrdtool-ruby rrdtool-perl gcc gcc-c++
  

  #vim /etc/httpd/conf/httpd.conf
  
找到DirectoryIndex所在的位置,添加一行
DirectoryIndexindex.php


#/etc/init.d/iptables stop   //防火墙一定要关闭。不然无法打开info.php


#service httpd restart
#service mysqld restart
#chkconfig httpd on
#chkconfig mysqld on


#vi /var/www/html/info.php






[*]  安装rrdtool //原来cacti的rrdtool是在/usr/local下编译安装的版本号是1.4.7,要保持一致。
     安装相关依赖包
  

     #yum install cairo-devel libxml2-devel pango-devel
     #cd /usr/local
     #wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.4.7.tar.gz


   
   编译安装rrdtool:
   tar zxvf rrdtool-1.4.7.tar.gz
   cd rrdtool-1.4.7
   ./configure --prxfix=/usr/local/rrdtool
   make
   make install
   cd ..





[*]  安装spine //原来cacti的spine是在/usr/local下编译安装的,要保持一致。
     #cd /usr/local
     #wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.7g.tar.gz
   tar xvzf cacti-spine-0.8.7g.tar.gz
   cd cacti-spine-0.8.7g
   ./configure
   make
   make install


[*]     默认安装在/usr/local/spine/目录下,复制一份spine的配置文件。
   cd /usr/local/spine/etc/
   cp spine.conf.distspine.conf







[*]     编辑spine.conf文件,设置Cacti数据的连接信息。
   DB_Host            localhost          # 主机地址
   DB_Database      cacti            # 数据库
   DB_User            cactiuser          # 数据库用户
   DB_Pass            www.cnyunwei.com   # 数据库连接密码
   DB_Port            3306               # 数据库连接端口
   DB_PreG            1                  # 如果要配合0.8.7g之前的0.8.7的cacti工作,
                                       # 则配置成为1。
                                       # 因为我主机安装时cacti 0.8.7e 所以设置成了1。
                                       # 如果都是从g版本的源码安装,可以设置为0

安装spine这一步报错如下:
Cannot find MySQL header files
解决办法:
#yum list | grep mysql//查找mysql-devel包
#yum -y install mysql-devel.x86_64


./configure --with-mysql=/usr
# ./make
# ./make install




2,把原来cacti的documentroot直接打包scp到现在的documentroot下面.
   documentroot中放置的是cacti的html。也就是直接输入Ip就可以访问到cacti。
3,把原来cacti的数据库全部备份,scp到现在的cacti。红框内的都要dump。
   一共4个库:cacti,mysql,nconf和syslog。



[*]     在cacti源主机执行mysqldump


   #mysqldump -uroot -p****** cacti>/tmp/cacti20140804.sql
   #mysqldump -uroot -p****** mysql>/tmp/mysql20140804.sql
   #mysqldump -uroot -p****** nconf>/tmp/nconf20140804.sql
   #mysqldump -uroot -p****** syslog>/tmp/syslog20140804.sql





[*]     在cacti的目标机导入迁移过来的sql文件。


   先建好这4个数据库。cacti源主机的编码是默认编码latin1.所以目标机也直接默认编码。
   >create database cacti|mysql|nconf|syslog;//不用再设定编码方式。
   #mysql -uroot -p cacti update user_auth set password=md5("www.cnyunwei.com") where id='1';
   mysql> flush privileges;
   mysql> quit;

4,配置snmpd文件
####
# First, map the community name "public" into a "security name"

# sec.name source community
com2sec notConfigUser 127.0.0.1 public

####
# Second, map the security name into a group name:

# groupName securityModel securityName
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser

####
# Third, create a view for us to let the group have rights to:

# Make at least snmpwalk -v 1 localhost -c public system fast again.
# name incl/excl subtree mask(optional)
view systemview included .1.3.6.1.2.1.1
view systemview included .1.3.6.1.2.1.25.1.1

####
# Finally, grant the group read-only access to the systemview view.

# group context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact all none none


## incl/excl subtree mask
view all included .1 80

syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root(configure /etc/snmp/snmp.local.conf)

dontLogTCPWrappersConnects yes

5,设置每5分钟采集一次数据:
crontab -e
*/5 * * * * /usr/bin/php /var/www/html/poller.php &> /dev/null




  




页: [1]
查看完整版本: Cacti数据迁移必须成功版