Cacti升级1.2.15

ubuntu自带的cacti,也就是apt install cacti版本是0.8.8f,用了四年。今天查阅cacti官方最新版本是1.2.15,虽然功能没变,但是UI美化了好多,而且修复了不少bug(这些bug我是没有见过)。索性今天花了大半天把cacti升级到1.2.15了。

升级主要工作参阅官方文档,现在cacti首页的官方文档已经跳转至了github。这里要说一下,我的系统版本是ubuntu 16.04tls一直没有升过级。

1.搞清楚自己系统上的mysql账户名、密码,最好是root账户,这样备份数据库时避免报错。

2.备份数据库,升级前一定要备份数据库,因为后面不知道会发生什么错误,一旦丢了数据,等于鸡飞蛋打

mysqldump -u root -p -l --add-drop-table --lock-tables=false cacti > mysql.cacti

3.根据cacti配置找到自己的rrd数据文件进行备份(如果以前的数据没什么重要性的,可以不做这一步)。

tar --exclude=*.rrd -zcf cacti_backup_YYYYMMDD.tgz cacti

4.把下载好的新版本cacti源文件上传到服务器,并解压

tar -xzvf cacti-version.tar.gz

5.找到旧版本cacti目录,把程序目录名称用mv改一下。然后将解压好的新版本mv到此处并修改名字与原目录相同。

6.将新cacti目录下的三个目录rra/、log/、cache/用chown命令修改所有人(跟apache2的用户相同)。

7.运行程序http://ip/cacti

8.运行后,会进入新版本的初始化界面。第一步会设置cacti的运行语言。

9.第二步以后,cacti会检查php、mysql的各种配置。请根据提示,进行相应的修复和模块安装。满足要求后才能够进行下一步。

10.关于php.ini与mysql的配置文件my.cnf,建议直接用find命令查找:

find / -name "php.ini"
find / -name "my.cnf"

11.关于my.cnf的修改可以参考此文

12.如果旧版本的cacti用的是cmd.php做snmp的数据查询,到这一步就可以正常使用了。但是,如果用的是spine,需要将原来的spine删掉,从官网下载一个最新版本的进行重编译。

13.编译spine官方文档github已有教程

14.这里需要注意的是spine路径下etc/spine.conf文件一定要设置数据库账户名密码,同时要注意spine二进制执行文件的权限属性。设置不当会造成rrd文件创建失败。

 

标签