CentOS 6.7 是一款经典的企业级 Linux 发行版,尽管已停止官方支持,但在一些遗留系统或特定环境中仍有应用需求,Cacti 是一款基于 PHP 的开源网络监控和图形化工具,通过 SNMP 协议收集设备数据并生成可视化图表,本文将详细介绍如何在 CentOS 6.7 系统上安装和配置 Cacti,涵盖环境准备、依赖安装、数据库配置、Cacti 部署及后续优化等关键步骤。

环境准备与系统更新
在开始安装前,确保系统已正确安装并配置好网络,首先更新系统软件包至最新状态,以减少潜在的安全漏洞和兼容性问题,执行以下命令:
yum update -y
更新完成后,关闭防火墙和 SELinux,避免后续配置中的权限问题,临时关闭防火墙使用 service iptables stop,禁用 SELinux 则需编辑 /etc/selinux/config 文件,将 SELINUX=enforcing 修改为 SELINUX=disabled,并重启系统使配置生效。
安装 LAMP 环境
Cacti 依赖于 LAMP(Linux、Apache、MySQL、PHP)环境运行,依次安装 Apache、MySQL 和 PHP 及其扩展模块:
yum install -y httpd mysql-server php php-mysql php-gd php-snmp php-xml php-mbstring net-snmp net-snmp-utils
安装完成后,启动 Apache 和 MySQL 服务,并设置开机自启:
service httpd start; service mysqld start; chkconfig httpd on; chkconfig mysqld on
配置 MySQL 数据库
为 Cacti 创建专用数据库和用户,登录 MySQL 控制台(默认无密码,直接执行 mysql):
CREATE DATABASE cacti CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost' IDENTIFIED BY 'your_password'; FLUSH PRIVILEGES; EXIT;
将 your_password 替换为强密码,确保数据库安全。
安装与配置 Cacti
下载 Cacti 源码包(以 Cacti 1.2.3 为例)并解压到 Apache 网站根目录:

wget https://www.cacti.net/downloads/cacti-1.2.3.tar.gz tar -zxvf cacti-1.2.3.tar.gz mv cacti-1.2.3 /var/www/html/cacti
设置目录权限:
chown -R apache:apache /var/www/html/cacti chmod -R 775 /var/www/html/cacti
导入 Cacti 数据库结构:
mysql -u cactiuser -p cacti < /var/www/html/cacti/cacti.sql
根据提示输入之前设置的数据库密码。
配置 PHP 和 Cacti 设置
编辑 PHP 配置文件 /etc/php.ini,调整以下参数以适配 Cacti 需求:
date.timezone = Asia/Shanghai memory_limit = 256M post_max_size = 32M upload_max_filesize = 32M
保存后重启 Apache 服务,访问 http://your_server_ip/cacti,按照 Web 界面提示完成安装,在安装向导中,输入数据库信息(用户名 cactiuser,密码为之前设置的密码),并按照默认配置继续,安装完成后,默认登录用户名为 admin,密码为 admin,首次登录需强制修改密码。
配置 SNMP 和数据采集
Cacti 通过 SNMP 获取设备数据,首先安装 SNMP 工具并配置 SNMP 服务:
yum install -y net-snmp-utils
编辑 /etc/snmp/snmpd.conf 文件,修改以下行:

rocommunity public your_server_ip
将 your_server_ip 替换为监控服务器的 IP 地址,启动 SNMP 服务并设置开机自启:
service snmpd start; chkconfig snmpd on
在 Cacti Web 界面中,通过 “Console” -> “Configuration” -> “Data Collection” 配置数据采集间隔,并添加被监控设备。
优化与常见问题解决
若 Cacti 图表无法生成,检查 PHP 的 SNMP 模块是否正确加载,以及数据库连接是否正常,可通过 php -m | grep snmp 验证 SNMP 模块,定期清理 Cacti 的 rra 目录中的旧数据文件,避免磁盘空间不足。
FAQs
Q1: 安装 Cacti 时提示 “Database connection failed” 如何解决?
A1: 检查 MySQL 数据库服务是否运行,以及 cacti 数据库和用户权限是否正确配置,确保 /var/www/html/cacti/include/config.php 中的数据库连接信息准确无误,并尝试重启 Apache 和 MySQL 服务。
Q2: 如何添加新的监控设备到 Cacti?
A2: 登录 Cacti Web 界面,进入 “Devices” 页面,点击 “Add” 按钮,输入设备名称、IP 地址、SNMP 社区字符串(默认为 public),选择模板(如 “Local Linux Machine”),保存后 Cacti 将自动开始采集数据,可在 “Graphs” 页面查看生成的图表。