虚拟机安装cacti

在现代化的网络管理中,监控系统的搭建至关重要,Cacti作为一种开源的网络监控和图形化工具,能够通过SNMP协议收集设备性能数据,并以直观的图表展示出来,本文将以在虚拟机中安装Cacti为例,详细讲解从环境准备到系统配置的全过程,帮助读者快速搭建一套功能完善的网络监控平台。
虚拟机环境准备
在开始安装Cacti之前,需要先配置好虚拟机的基础环境,以VMware Workstation和CentOS 7为例,具体步骤如下:
-
虚拟机配置
- 创建一台虚拟机,操作系统选择CentOS 7 Minimal(最小化安装,减少资源占用)。
- 分配资源:建议至少2GB内存、20GB硬盘空间(后期可扩展)、1个CPU核心。
- 网络模式:选择“桥接模式”或“NAT模式”,确保虚拟机能够访问外网,便于后续安装软件包。
-
系统初始化
- 启动虚拟机后,使用
root用户登录,执行以下命令更新系统:yum update -y
- 安装必要的开发工具和编译环境:
yum groupinstall "Development Tools" -y
- 配置静态IP地址(可选,便于长期访问):编辑
/etc/sysconfig/network-scripts/ifcfg-ens33,设置BOOTPROTO=static,并配置IP、网关、DNS等信息。
- 启动虚拟机后,使用
安装LAMP环境
Cacti基于PHP语言开发,依赖Apache服务器和MySQL数据库,因此需要先搭建LAMP(Linux+Apache+MySQL+PHP)环境。
-
安装Apache服务器
yum install httpd -y systemctl start httpd systemctl enable httpd
浏览器访问虚拟机IP,若显示Apache测试页面,则安装成功。
-
安装MySQL数据库
yum install mariadb-server mariadb -y systemctl start mariadb systemctl enable mariadb
执行安全配置脚本,设置root密码并移除匿名用户:
mysql_secure_installation
-
安装PHP及相关扩展
Cacti需要PHP的支持,建议安装PHP 7.2或更高版本,CentOS 7默认源较旧,需先安装EPEL源:yum install epel-release -y yum install php php-mysql php-snmp php-gd php-xml php-mbstring -y
安装完成后,重启Apache服务:
systemctl restart httpd
安装Cacti
完成LAMP环境搭建后,即可开始安装Cacti。
-
添加Cacti仓库
Cacti的官方仓库提供了RPM包,可直接安装:rpm -Uvh http://repo.cacti.net/cacti/cacti-release-1.0-1.el7.noarch.rpm yum update
-
安装Cacti及相关依赖
yum install cacti -y
安装过程中会自动配置数据库连接,但需手动确认。

-
初始化数据库
执行以下命令导入Cacti的初始数据库结构:mysql -u root -p cacti < /usr/share/doc/cacti/database/cacti.sql
根据提示输入MySQL的root密码。
-
配置Cacti数据库连接
编辑Cacti的配置文件/etc/cacti/db.php,修改数据库用户名、密码和数据库名:$database_type = 'mysql'; $database_default = 'cacti'; $database_hostname = 'localhost'; $database_user = 'cacti'; $database_password = 'your_password'; $database_port = '3306';
将
your_password替换为实际密码,建议使用强密码。
配置Web服务器和权限
Cacti的Web文件位于/usr/share/cacti,需配置Apache的访问权限。
-
设置目录权限
chown -R apache:apache /usr/share/cacti chmod -R 775 /usr/share/cacti
-
配置Apache虚拟主机
编辑/etc/httpd/conf.d/cacti.conf,确保以下配置存在:Alias /cacti /usr/share/cacti <Directory /usr/share/cacti> Options +FollowSymLinks AllowOverride None Require all granted </Directory>重启Apache服务:
systemctl restart httpd
完成Cacti安装向导
通过浏览器访问http://虚拟机IP/cacti,进入Cacti的安装向导。
-
安装前检查
系统会自动检查PHP环境是否满足要求,若提示错误,需安装对应的PHP扩展(如php-snmp、php-mbstring等)。 -
数据库设置
输入数据库用户名、密码和数据库名(与db.php配置一致),点击“开始安装”。 -
管理员账户配置
设置Cacti的管理员用户名(默认为admin)和密码,安装完成后首次登录需修改密码。 -
安装完成
完成向导后,Cacti会自动创建默认监控模板和设备。
添加监控设备
Cacti的核心功能是监控网络设备,以下以监控本地虚拟机为例,说明添加设备的步骤。
-
启用SNMP服务
在被监控设备(此处为虚拟机自身)上安装SNMP工具:
yum install net-snmp net-snmp-utils -y
配置SNMP服务:编辑
/etc/snmp/snmpd.conf,修改以下内容:rocommunity public localhost
启动并设置开机自启:
systemctl start snmpd systemctl enable snmpd
-
在Cacti中添加设备
- 登录Cacti管理界面,进入“Devices”菜单。
- 点击“Add”,填写设备信息:
- Description:设备名称(如“Local Server”)。
- IP Address:被监控设备的IP地址(此处为虚拟机IP)。
- SNMP Community:
public(与snmpd.conf配置一致)。 - Host Template:选择“Local Linux Machine”。
- 点击“Create”,保存设备。
-
创建图形
- 进入“Graphs”菜单,点击“New Graphs”。
- 选择刚添加的设备,勾选需要监控的模板(如“CPU Usage”、“Memory Usage”)。
- 点击“Create”,生成图形。
配置定时任务和数据采集
Cacti依赖定时任务自动采集数据,需确保cron服务正常运行。
-
检查Cron配置
Cacti的默认定时任务已配置在/etc/cron.d/cacti如下:*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
表示每5分钟执行一次数据采集。
-
启动Cron服务
systemctl start crond systemctl enable crond
常见问题及解决方案
-
无法访问Cacti页面
- 检查防火墙是否开放80端口:
firewall-cmd --permanent --add-service=http firewall-cmd --reload
- 确认Apache服务状态:
systemctl status httpd。
- 检查防火墙是否开放80端口:
-
数据采集失败
- 检查
/usr/share/cacti/log/cacti.log日志文件,定位错误原因。 - 确认SNMP服务是否正常运行:
snmpwalk -v 2c -c public localhost。
- 检查
-
图形不显示
- 检查PHP的
gd扩展是否安装:php -m | grep gd。 - 确认
/usr/share/cacti/rra目录权限是否正确。
- 检查PHP的
通过以上步骤,读者已成功在虚拟机中搭建了Cacti监控系统,Cacti不仅支持对Linux/Windows服务器的监控,还可扩展路由器、交换机等网络设备,后续可根据实际需求,添加自定义模板、配置告警规则,进一步提升网络管理的效率和可靠性,虚拟机的灵活性和可复用性,也为后续的测试和扩展提供了便利条件。











