zabbix监控系统对于很多企业都很实用,但在部署前要考虑的首先是硬盘大小。如果规划不合理,那就的重新部署了。
数据存储有如下几种类型,根据具体需求设计考虑磁盘大小。
(1)历史数据的保存
NVPS是每秒处理数据的平均数量,假设有60000个监控项,刷新周期为60s,现在每秒需要处理的数据量就为60000/60=1000,也就是说每秒钟需要往数据库里面存储1000条数据,一条数据需要50字节,假设历史数据保留的周期为90天,需要占用的空间为:
历史数据大小=天数x一天二十四小时x一小时3600秒x每秒处理的数据量x50Bytes
90 x 24 x 3600 x 1000 x 50 = 388 800 000 000(B) 约362GB
(2)趋势数据的保存
每一个监控项的趋势数据大约128B,跟数据库的类型有关。假设有60000个Iterms,保存一年的趋势数据,则计算方法为:
趋势数据大小=监控项 x 保存天数 x 每天24小 x 128B
需要空间:
6000 x 365 x 24 x 128 = 67 276 800 000B 约67GB
(3)事件数据的保存
一个事件大约占用130B的空间,假设保存一年,需要的空间为:
365 x 24 x 3600 x 130 = 4099 680 000B 约4GB
因此:60000个Iterm,更新周期为60s,保存一年需要的磁盘空间为:
362 + 67 + 4 = 443(GB)
当然,这只是一个简单的计算,实际上存储的数据量比这更多,因为还需要保存其他的数据。不过从这里也可以看出,最终磁盘的容量慢慢趋于稳定了。
所以,由于监控项数量、刷新时间、数据保存时间等的不同,造成磁盘容量的大小也不一样,在进行规划的时候,也还得考虑磁盘的性能。数据库存储数据越多,也会造成对查询或者删除数据时数据库的压力增大。监控项的设置选择具体需要的参数。
下面是部署,我这边主要是由于开始磁盘规划空间不合理,如今磁盘空间不足,监控的机器过多,导致服务无法正常监控。版本也迭代了。所以直接在迁移时版本也顺便升级了。
有两种方法1:安装同样的版本,然后再升级。2:直接安装高版本,然后再倒入数据库。
我这里刚开始采用的是方法2,直接安装zabbix4.2,然后倒入3.4备份的数据库,在启动的的时候页面出错,原因是Zabbix所需数据库版本与现数据库版本不一致导致,更改版本号即可。
user zabbix;
update dbversion set mandatory=3000000;
flush privileges;
方法一:在安装之前先确定老的zabbix版本是多少?
cat /etc/rehat-release # 查看系统使用版本
rpm -qa | grep "zabbix" #查看zabbix安装的版本
停止服务
service zabbix-server stop
service httpd stop
备份数据库(用于导入到新的机器上面使用)
mysqldump -uzabbix -pykadmin123 --opt --skip-lock-tables --database zabbix | gzip > zabbix_date +'%Y%m%d%H%M%S'
.sql.gz
备份 zabbix 文件(用于备份)
mkdir /opt/zabbix-backup/ #创建一个空文件
cp /etc/zabbix/zabbix_server.conf /opt/zabbix-backup/
cp /etc/httpd/conf.d/zabbix.conf /opt/zabbix-backup/
cp -R /usr/share/zabbix/ /opt/zabbix-backup/
cp -R /usr/share/doc/zabbix-* /opt/zabbix-backup/
做好备份操作,后面就是安装新的机器,并安装zabbix3.4版本或所需要依赖的包。
在安装时倒入备份的数据库,使其能正常访问。(省了安装步骤,网络教程很多就没介绍)
然后就是做升级工作了。
升级zabbix源
rpm -Uvh http://repo.zabbix.com/zabbix/4.2/rhel/7/x86_64/zabbix-release-4.2-1.el7.noarch.rpm
升级zabbix
yum clean all
yum upgrade zabbix-server-mysql zabbix-web-mysql zabbix-agent
升级完成后可以启动zabbix服务
service zabbix-server start
service zabbix-agent start
service httpd start
启动后可以看下启动日志,但无出现报错即可。
tail -f /var/log/zabbix/zabbix_server.log
验证下安装包的版本
rpm -qa |grep "zabbix"
登录网页也可以看到升级后的zabbix版本。
解决磁盘空间不足的问题还有一个方法,就是扩容磁盘,删除表再重新指定db路径。
具体操作请参看https://www.centos.bz/2017/12/%E8%AE%B0%E5%BD%95%E4%B8%80%E6%AC%A1zabbix-server%E7%94%B1%E4%BA%8E%E7%A3%81%E7%9B%98%E7%A9%BA%E9%97%B4%E4%B8%8D%E8%B6%B3%E8%BF%81%E7%A7%BB%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E8%BF%87%E7%A8%8B-2/
本记录主要用于记录升级过程和思路,并无记录详细过程。有需要可以交流学习。
参考文章:https://www.cnblogs.com/yaoyaojcy/p/9907730.html
https://www.cnblogs.com/yjt1993/p/10871027.html