设为首页 收藏本站
查看: 954|回复: 0

[经验分享] cacti迁移

[复制链接]

尚未签到

发表于 2019-1-9 10:12:32 | 显示全部楼层 |阅读模式
cacti迁移
  在新机器上部署
使用的是CentOS 6.6,kernel版本:2.6.32-642.13.1.el6.x86_64

安装rrdtool

yum install rrdtool-devel rrdtool-perl rrdtool
版本:
root@pts/0 # rpm -qa|grep rrdtool
rrdtool-perl-1.3.8-7.el6.x86_64
rrdtool-1.3.8-7.el6.x86_64
rrdtool-devel-1.3.8-7.el6.x86_64
安装配置net-snmp

yum -y install net-snmp net-snmp-libs net-snmp-utils net-snmp-devel
  配置

root@pts/0 # vim /etc/snmp/snmpd.conf
access  notConfigGroup ""      any       noauth    exact  all none none
com2sec notConfigUser  default       public
dontLogTCPWrappersConnects yes
group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c           notConfigUser
pass_persist .1.3.6.1.3.1 /usr/bin/perl /usr/local/bin/iostat-persist.pl
syscontact Root  (configure /etc/snmp/snmp.local.conf)
syslocation Unknown (edit /etc/snmp/snmpd.conf)
view all    included  .1                               80
view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.25.1.1
# Allow Systems Management Data Engine SNMP to connect to snmpd using SMUX
smuxpeer .1.3.6.1.4.1.674.10892.1
  测试

root@pts/0 # snmpwalk -v 1 -c public 127.0.0.1 .1.3.6.1.2.1.1.1.0
SNMPv2-MIB::sysDescr.0 = STRING: Linux pb-yunwei-1-212.youyuan-idc.com 2.6.32-642.13.1.el6.x86_64 #1 SMP Wed Jan 11 20:56:24 UTC 2017 x86_64
安装LAMP

配置yum源
  mysql-community.repo

root@pts/0 # cat mysql-community.repo
[mysql-connectors-community]
name=MySQL Connectors Community
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/6/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
[mysql-tools-community]
name=MySQL Tools Community
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/6/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
# Enable to use MySQL 5.5
[mysql55-community]
name=MySQL 5.5 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/6/$basearch/
enabled=0
gpgcheck=0
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
# Enable to use MySQL 5.6
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
# Note: MySQL 5.7 is currently in development. For use at your own risk.
# Please read with sub pages: https://dev.mysql.com/doc/relnotes/mysql/5.7/en/
[mysql57-community-dmr]
name=MySQL 5.7 Community Server Development Milestone Release
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
enabled=0
gpgcheck=0
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
  mysql-community-source.repo

root@pts/0 # cat mysql-community-source.repo
[mysql-connectors-community-source]
name=MySQL Connectors Community - Source
baseurl=http://repo.mysql.com/yum/mysql-connectors-community/el/6/SRPMS
enabled=0
gpgcheck=0
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
[mysql-tools-community-source]
name=MySQL Tools Community - Source
baseurl=http://repo.mysql.com/yum/mysql-tools-community/el/6/SRPMS
enabled=0
gpgcheck=0
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
[mysql55-community-source]
name=MySQL 5.5 Community Server - Source
baseurl=http://repo.mysql.com/yum/mysql-5.5-community/el/6/SRPMS
enabled=0
gpgcheck=0
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
[mysql56-community-source]
name=MySQL 5.6 Community Server - Source
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/6/SRPMS
enabled=0
gpgcheck=0
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
[mysql57-community-dmr-source]
name=MySQL 5.7 Community Server Development Milestone Release - Source
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/SRPMS
enabled=0
gpgcheck=0
gpgkey=file:/etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
  webtatic.repo

root@pts/0 # cat webtatic.repo
[webtatic]
name=Webtatic Repository EL6 - $basearch
#baseurl=https://repo.webtatic.com/yum/el6/$basearch/
mirrorlist=https://mirror.webtatic.com/yum/el6/$basearch/mirrorlist
failovermethod=priority
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-webtatic-andy
[webtatic-debuginfo]
name=Webtatic Repository EL6 - $basearch - Debug
#baseurl=https://repo.webtatic.com/yum/el6/$basearch/debug/
mirrorlist=https://mirror.webtatic.com/yum/el6/$basearch/debug/mirrorlist
failovermethod=priority
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-webtatic-andy
[webtatic-source]
name=Webtatic Repository EL6 - $basearch - Source
#baseurl=https://repo.webtatic.com/yum/el6/SRPMS/
mirrorlist=https://mirror.webtatic.com/yum/el6/SRPMS/mirrorlist
failovermethod=priority
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-webtatic-andy
  webtatic-testing.repo

root@pts/0 # cat webtatic-testing.repo
[webtatic-testing]
name=Webtatic Repository EL6 - $basearch - Testing
#baseurl=https://repo.webtatic.com/yum/el6-testing/$basearch/
mirrorlist=https://mirror.webtatic.com/yum/el6-testing/$basearch/mirrorlist
failovermethod=priority
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-webtatic-andy
[webtatic-testing-debuginfo]
name=Webtatic Repository EL6 - $basearch - Testing Debug
#baseurl=https://repo.webtatic.com/yum/el6-testing/$basearch/debug/
mirrorlist=https://mirror.webtatic.com/yum/el6-testing/$basearch/debug/mirrorlist
failovermethod=priority
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-webtatic-andy
[webtatic-testing-source]
name=Webtatic Repository EL6 - $basearch - Testing Source
#baseurl=https://repo.webtatic.com/yum/el6-testing/SRPMS/
mirrorlist=https://mirror.webtatic.com/yum/el6-testing/SRPMS/mirrorlist
failovermethod=priority
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-webtatic-andy
  webtatic-archive.repo

root@pts/0 # cat webtatic-archive.repo
[webtatic-archive]
name=Webtatic Repository EL6 - $basearch - Archive
#baseurl=https://repo.webtatic.com/yum/el6-archive/$basearch/
mirrorlist=https://mirror.webtatic.com/yum/el6-archive/$basearch/mirrorlist
failovermethod=priority
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-webtatic-andy
[webtatic-archive-debuginfo]
name=Webtatic Repository EL6 - $basearch - Archive Debug
#baseurl=https://repo.webtatic.com/yum/el6-archive/$basearch/debug/
mirrorlist=https://mirror.webtatic.com/yum/el6-archive/$basearch/debug/mirrorlist
failovermethod=priority
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-webtatic-andy
[webtatic-archive-source]
name=Webtatic Repository EL6 - $basearch - Archive Source
#baseurl=https://repo.webtatic.com/yum/el6-archive/SRPMS/
mirrorlist=https://mirror.webtatic.com/yum/el6-archive/SRPMS/mirrorlist
failovermethod=priority
enabled=0
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-webtatic-andy
安装

yum -y install httpd php56w php56w-mysql php56w-snmp php56w-xml php56w-gd mysql-community-client mysql-community-server mysql-devel
root@pts/0 # rpm -qa|grep php
php56w-pdo-5.6.30-1.w6.x86_64
php56w-xml-5.6.30-1.w6.x86_64
php56w-cli-5.6.30-1.w6.x86_64
php56w-mysql-5.6.30-1.w6.x86_64
php56w-5.6.30-1.w6.x86_64
php56w-common-5.6.30-1.w6.x86_64
php56w-snmp-5.6.30-1.w6.x86_64
php56w-gd-5.6.30-1.w6.x86_64
root@pts/0 # rpm -qa|grep mysql
mysql-community-libs-5.6.35-2.el6.x86_64
mysql-community-server-5.6.35-2.el6.x86_64
php56w-mysql-5.6.30-1.w6.x86_64
mysql-community-common-5.6.35-2.el6.x86_64
libmysqlclient16-5.1.69-1.w6.x86_64
mysql-community-client-5.6.35-2.el6.x86_64
root@pts/0 # rpm -qa|grep http
httpd-tools-2.2.15-56.el6.centos.3.x86_64
httpd-2.2.15-56.el6.centos.3.x86_64
  如果报错,将原来的安装包删除掉

下载cacti

wget http://www.cacti.net/downloads/spine/cacti-spine-0.8.8h.tar.gz
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 /var/www/html
创建数据库

mysqladmin --user=root -p create cacti
导入数据库

mysql -uroot -p cacti < cacti.sql
创建数据库用户并添加权限

mysql -u root -p mysql
mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY '123';
mysql> flush privileges;
配置include/config.php

vim include/config.php
$database_type = "mysql";
$database_default = "cacti";
$database_hostname = "localhost";
$database_username = "cactiuser";
$database_password = "123";
$database_port = "3306";
$database_ssl = false;
/* load up old style plugins here */ #enable plugins
$plugins = array();
//$plugins[] = 'thold';
/*
Edit this to point to the default URL of your Cacti install
ex: if your cacti install as at http://serverip/cacti/ this
would be set to /cacti/
*/
//$url_path = "/cacti/";
/* Default session name - Session name must contain alpha characters */
//$cacti_session_name = "Cacti";
?>
设置目录权限

useradd cactiuser
chown -R cactiuser rra/ log/
配置计划任务

echo "*/5 * * * * cactiuser php /var/www/html/cacti/poller.php > /dev/null 2>&1">>/etc/crontab
service crond restart
登陆
  在浏览器中输入:http://www.yourdomain.com/cacti进入安装步骤

设置php时区

vim /etc/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone
date.timezone = Asia/Shanghai
配置Apache重定向

vim /etc/httpd/conf/httpd.conf
redirectMatch "^/$" "cacti"
  Cacti 获取主机信息的方式有两种,系统默认是选择cmd 模式,还有一种方式是Spine ,这种方法是基于C语言的,非常快速的轮询引擎,效率比cmd 高很多

tar -zxvf cacti-spine-0.8.8h.tar.gz
cd cacti-spine-0.8.8h
./configure --with-mysql=/usr/local/mysql/
make && make install
配置spine
  Spine的配置文件spine.conf

[root@cacti ~]# cd /usr/local/spine/etc/
[root@cacti etc]# mv spine.conf.dist spine.conf
[root@cacti etc]# vim spine.conf
DB_Host         localhost
DB_Database     cacti
DB_User         cacti
DB_Pass         cacti
DB_Port         3306
DB_PreG         0
[root@cacti tmp]# cd /usr/local/spine/bin/
[root@cacti bin]# ./spine
出现下面类似信息,说明没有问题:
Poller[0] Time: 2.1460 s, Threads: 1, Hosts: 4
以上是cacti部署,下边迁移
  前期准备:
  new server要安装好mysql及rrdtool,php等cacti安装环境必须程序,才能保证迁移过来后可以顺利访问。
  old server 在操作前停止php的轮循、关闭snmp、apache等。备份完毕后恢复即可。
  规划:
  old server操作:
  cacti迁移备份需要三个文件:1、数据库文件。2、cacti目录。3、rrd图像文件。
  注意点:rrd图像文件如果不转换直接拷贝到冗余服务器上,经测试出现错误,无法正常访问。所以还是一定要转换下格式后再行迁移。
  new server操作:
  1、cacti目录存放 。2、数据库文件导入。3、rrd图像文件导入。
  步骤:
  1、old server 操作步骤:
  数据库备份

mysqldump -ucacti -p cacti >/root/cacti.sql
  cacti目录备份

cd /var/www
tar -zcvf html.tar.gz html --exclude rra --exclude log(此处打包压缩,cacti目录中rra log目录不做备份)
  rrd图像文件备份。(此处图像文件即:cacti目录中的rra目录下的所有文件)
  此处备份使用脚本。内容如下:

#!/bin/bash
rrddump="/usr/bin/rrdtool dump"
xmldir=/root/rraxml
rradir=/var/www/html/rra/
for file in `ls ${rradir}`
# find rra directory 2 days change
do
${rrddump} ${rradir}${file} > ${xmldir}/${file}.xml
done
  保存为:bak.sh后,赋予执行权限。

chmod u+x bak.sh
  完成后重新启动apache及spine轮循。
  把old server备份的文件拖到new server上。
  2、new server操作步骤:
  cacti目录恢复。

tar xvzf html.tar.gz
mv html /var/www/
chown -R apache.apache /var/www/html
  数据库恢复。

/usr/local/mysql/bin/mysql -uroot -p
mysql>create database cacti default character set utf8;
mysql>grant all privileges on cacti.* to cacti@localhost identified by '123';
mysql>flush privileges;
mysql>source /root/cacti.sql
  恢复完成后退出。
  rrd文件恢复。
  此处同样用shell脚本来恢复,脚本如下:

#!/bin/bash
rrdrestore="/usr/local/rrdtool/bin/rrdtool restore"
xmldir=/root/rraxml/
for file in `find ${xmldir} |awk -F\/ '{print $NF}' |sed s/.xml//g`
do
echo $file
${rrdrestore} ${xmldir}${file}.xml /data2/cacti/rra/${file}
done
  保存为Recovery.sh,赋予执行权限。

chmod u+x Recovery.sh
./Recovery.sh
  到此已基本迁移完成,重启服务

/etc/init.d/httpd restart
service snmpd restart



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-661102-1-1.html 上篇帖子: 服务器cacti部署 下篇帖子: Centos 6.5 部署 Cacti
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表