IT运维管理,ITIL,ITSS,ITSM,ISO20000-ITIL先锋论坛

 找回密码
 立即注册 - 请先获取邀请码

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 53|回复: 0

[Zabbix专区] 应如何将zabbix2.4.5迁移到zabbix3.0

[复制链接]
来自- 广东广州

参加活动:0

组织活动:12

发表于 2017-8-17 17:07:21 | 显示全部楼层 |阅读模式 来自- 广东广州
起因   
zabbix 2.4.5数据库mysql突然死掉了,查找mysql数据库日志发现保存数据磁盘读写错误,原来那是台r410的老机,后来索性换了1台R610的稍微好的机子,现在机器都换了打算zabbix版本也一块儿换掉,开启zabbix3.0模式,下面是主要步骤,数据库这块儿是这次才发现有个简单方法的。
1、首先要有原来数据库备份
硬件服务器也升级了 ,只有最近一份数据库全部备份,发现数据太大,如果全部导入费时,查找各种资料发现没有导入时忽略某些表的方法,后来想到手动对sql数据表进行过滤。
grep -v  'INSERT INTO `history_uint` VALUES' zabbix.sql >zabbix.nohistory.sqlgrep -v  'INSERT INTO `history` VALUES' zabbix.nohistory.sql >zabbix.nohistory0.sql
如果想导入历史趋势,后面两步可以不需要,我的需要保留
grep -v  'INSERT INTO `trends_uint` VALUES' zabbix.nohistory0.sql > zabbix.nohistory1.sqlgrep -v  'INSERT INTO `trends` VALUES' zabbix.nohistory1.sql > zabbix.nohistory2.sql
后来我修改了备份方法,由原来的全部备份到备份时忽略历史数据。
mysqldump -uroot -p'pasword' zabbix  --ignore-table=zabbix.history_uint --ignore-table=zabbix.history  >zabbix.nohistory.sql
2、LAMP或者LNMP环境
网上方法很多,就是一点,mysql使用innodb引擎 ,版本5.6或以上,php版本5.6或以上,apache或者nginx根据个人爱好。我的都是用rpm包,数据用的mariadb。

mariadb源   cat /etc/yum.repos.d/mariadb.repo # http://mariadb.org/mariadb/repositories/  [mariadb]  name = MariaDB  baseurl = http://yum.mariadb.org/5.5/centos6-amd64  gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB  gpgcheck=1  
安装
yum -y install MariaDB-client MariaDB-server MariaDB-devel
3、zabbix3.0源码包还是rpm也是根据个人爱好。
# 升级centos6的zabbix官方yum源(官方yum源没有提供CentOS6版本的zabbix3.0 server)rpm -Uvh  http://repo.zabbix.com/zabbix/3. ... 0-1.el6.noarch.rpm# 下载itnihao打包好的CentOS6版本的zabbix3.0 rpm包,感谢itnihao奉献mkdir /datacd /datayum install git createrepo -ygit clone https://github.com/zabbixcn/zabbix3.0-rpm.git# 创建zabbix3.0本地yum源createrepo /data/zabbix3.0-rpm/RPMScat > /etc/yum.repos.d/zabbix3.0.repo << 'EOF'[zabbix3.0]name=zabbix3.0 itnihaobaseurl=file:///data/zabbix3.0-rpm/RPMSenabled=0gpgcheck=0EOF# 重建yum缓存yum clean allyum makecache# yum安装zabbix3.0相关服务(注意:要禁止epel源)yum --disablerepo=epel --enablerepo=zabbix3.0 install zabbix-server-mysql zabbix-agent zabbix-get zabbix-sender zabbix-web zabbix-web-mysql zabbix-release
4、导入数据
mysql -u root password 'password'  < zabbix.nohistory0.sql
5、启动zabbix-server
service zabbix-server start
此时会自动更新zabbix数据库
6、设置web端
这里主要是有个字体,需要注意下,默认打开图形乱码,下载简体字。上传,修改代码。
vim /usr/share/zabbix/include/defines.inc.php :%s/graphfont/DejaVuSans/g   
另外注意下,3.0版本的zabbix-server配置文件和2.4.5的有些不一样,我这里参考3.0的默认修改,结果如下:
LogFile=/var/log/zabbix/zabbix_server.logLogFileSize=0PidFile=/var/run/zabbix/zabbix_server.pidDBHost=localhostDBName=zabbixDBUser=zabbixDBPassword=passwordStartPollers=160StartIPMIPollers=1StartPollersUnreachable=80StartTrappers=20StartPingers=100StartDiscoverers=120StartHTTPPollers=2StartSNMPTrapper=1CacheSize=1024MStartDBSyncers=16TrendCacheSize=1024MTrapperTimeout=30FpingLocation=/usr/sbin/fpingDBSocket=/var/lib/mysql/mysql.sockSNMPTrapperFile=/var/log/snmptrap/snmptrap.logTimeout=10AlertScriptsPath=/usr/lib/zabbix/alertscriptsExternalScripts=/usr/lib/zabbix/externalscriptsLogSlowQueries=3000补充:   
后来又升级一台,备份数据库时没有备份history,history_unit这两个数据库,也没先导入架构表,直接导入趋势数据,所有操作完后,查看zabbix-server.log发现数据不能插入历史数据表。后处理如下:
CREATE TABLE `history` (        `itemid`                 bigint unsigned                           NOT NULL,        `clock`                  integer         DEFAULT '0'               NOT NULL,        `value`                  double(16,4)    DEFAULT '0.0000'          NOT NULL,        `ns`                     integer         DEFAULT '0'               NOT NULL) ENGINE=InnoDB;CREATE INDEX `history_1` ON `history` (`itemid`,`clock`);CREATE TABLE `history_uint` (        `itemid`                 bigint unsigned                           NOT NULL,        `clock`                  integer         DEFAULT '0'               NOT NULL,        `value`                  bigint unsigned DEFAULT '0'               NOT NULL,        `ns`                     integer         DEFAULT '0'               NOT NULL) ENGINE=InnoDB;CREATE INDEX `history_uint_1` ON `history_uint` (`itemid`,`clock`);
就是新建这两个表,这样就不需要再重新导入一次数据了。

本文出自 “jerrymin” 博客,请务必保留此出处http://jerrymin.blog.51cto.com/3002256/1757890


本版积分规则

团购课程最新动态

 

 

高品质!好口碑!

百分百通过率!

PeopleCertEXIN

国际授权资质!

ITIL Foundation北上广

2天精华班,包证书

ITIL Foundation三天精

讲,知名讲师,包证书

ITIL Expert 金牌讲师北

上广深11天,包证书

DevOps Foundation

2天热点认证班,包证书

ITSS 认证IT服务经理

4天课程,包证书

Prince2双证4天高级班

Cobit高端课程2天班

Togaf高端课程4天班

 

报名热线: 4008-060-230


QQ|小黑屋|手机版|Archiver|ITIL先锋论坛万人社区 ( 粤ICP备17056641号|网站地图

Baidu

GMT+8, 2018-2-20 23:37 , Processed in 0.258666 second(s), 34 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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