本节书摘来自华章计算机《cacti实战》一书中的第2章,第2.4节,作者:刘钊,张跃著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
虽然我们在第一次接触cacti时,需要经历一段比较复杂的安装过程,为了减轻大家的痛苦,也是为了cacti能够更好地服务于大家,与大家分享在安装过程中遇到的障碍,如果你是高手,大可以帮助我们一起分析原因,引以为戒,如果你的it系统知识还不够丰富,那么相信这一节的内容对你会有很大的帮助。
2.4.1 关于版本
版本是摆在面前的第一座大山,由于cacti采用了很多第三方的开源项目,这些项目又难以顾及所有的支持项目,所以会出现很多版本不匹配的问题,下面一一进行讲解。
首先讲解php和apache在不同操作系统平台上的匹配问题,之前的章节交待过,这里再次用表2-9来重申一下。

如果配置错误的软件版本,就有可能找不到一些需要用到的文件和目录,有可能造成配置缺失、模块加载等原因,所以这一点必须引起足够的重视。
其次,对于php,可能会使用php 4.x版本,而不选用php 5.x版本,在前文中没有介绍php 4.x版本的配置方法,但是在每一步都介绍了操作的目的,大家可以按照说明配置php 4.x版本的软件,我们亲自试过,没有多困难。但是还是推荐使用比较新的php 5.x版本,有一些新特性可能会在未来用到,php 4.x版本在实际生产环境中已经无法满足用户的需要了。
2.4.2 关于软件的依赖性
在前文中,我们遇到了在linux环境下安装rrdtool时,软件的依赖性错误。这里再重申一遍这种错误的解决方案,因为这一点很重要,曾经困扰我们很久。
在linux操作系统安装rrdtool软件的过程中,操作系统提示互为依赖性的错误,通过在同一时间安装多个rpm包的方式还是无法解决问题,在尝试了很多次之后,发现一个比较可行的解决方案。
查询手册知道rrdtool要在linux系统中正常工作,首先需要有以下模块:
glib
libart
libpng
pixman
freetype
fontconfig
cairo
pango
rrdtool
其他的模块安装相对容易,没有遇到太多依赖性的错误,但是libart模块带来很大的困扰,如果你也像我们一样遇到这样的困扰,那么配置脚本2-22的解决方案将会对你有用。
配置脚体2-22 安装libart模块
以上问题都解决之后,记住,需要把rrdtool、rrdtool-devel、perl-rrdtool这3个包在同一时间使用rpm命令安装,以排除libart模块的依赖性问题。
2.4.3 关于权限
权限问题贯穿安装、监控和日常维护当中,在很多情况下,系统无法正常部署,或者部署完成后不出图的问题,多集中在权限的设置上,在本章的后面会多次提到如何妥善地处理权限问题,在安装阶段涉及最多的是cacti环境中的文件系统权限和数据库权限。
在文件系统中,需要修改rra文件夹下的log目录权限,windows平台通过gui可以很快设定好,这里就不再赘述了。在linux平台下,输入配置脚本2-23中的内容。
配置脚体2-23 修改log目录的权限
这么做的目的是将rra/log文件的所有者改成cacti,这样使用cacti用户的时候,程序可以将系统的日志正常写入log文件中。
在数据库系统中,通常会考虑安全因素,把mysql数据库和cacti系统分开部署,但是mysql系统默认不允许远程连接,所以需要打开mysql数据库的远程连接,并把cacti数据库的所有者改为用户cacti。请参考配置脚本2-24中的内容。
配置脚体2-24 开启mysql系统的远程连接