Cacti,作为一款基于PHP、MySQL及SNMP(简单网络管理协议)的免费开源网络监控工具,凭借其强大的功能集、灵活的插件体系以及直观的图形化界面,成为了众多企业和个人用户的首选
本文将详细介绍如何在Linux环境下安装并配置Cacti,帮助您快速构建起一套高效的网络监控体系
一、Cacti简介 Cacti起源于RRDTool(Round Robin Database Tool),通过数据轮询机制收集网络设备的性能指标,并利用图形化方式展示这些数据
它不仅支持监控CPU负载、内存使用、磁盘I/O等服务器资源,还能监控交换机、路由器等网络设备的端口状态、流量等关键信息
Cacti的灵活性在于其插件生态系统,用户可以根据需求安装额外的插件来扩展其功能,如天气地图、流量分析等
二、安装前准备 在开始安装Cacti之前,请确保您的Linux服务器满足以下条件: 1.操作系统:推荐使用CentOS或Ubuntu等稳定且广泛支持的Linux发行版
2.Web服务器:Apache或Nginx,Cacti的PHP前端需要Web服务器来提供服务
3.数据库:MySQL或MariaDB,用于存储监控数据
4.PHP:Cacti依赖于PHP运行,确保PHP版本与Cacti兼容
5.SNMP:用于从网络设备收集数据
6.Net-SNMP:用于在服务器上执行SNMP查询
三、安装步骤 1. 安装LAMP/LNMP环境 对于CentOS: 安装EPEL仓库 sudo yum install epel-release 安装Apache、PHP、MySQL及其依赖 sudo yum install httpd php php-mysqlnd php-cli php-common php-gd php-mbstring php-mcrypt php-xml mysql mysql-server 启动并设置服务开机自启 sudo systemctl start httpd mysqld sudo systemctl enable httpd mysqld 配置防火墙允许HTTP和HTTPS访问 sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload 对于Ubuntu: 更新包列表并安装Apache、PHP、MySQL及其依赖 sudo apt update sudo apt install apache2 php libapache2-mod-php php-mysql php-cli php-gd php-mbstring php-xml mysql-server 启动并设置服务开机自启 sudo systemctl start apache2 mysql sudo systemctl enable apache2 mysql 配置UFW防火墙允许HTTP和HTTPS访问 sudo ufw allow Apache Full 2. 创建数据库和用户 登录MySQL mysql -u root -p 创建Cacti数据库和用户 CREATE DATABASE cacti; CREATE USER cactiuser@localhost IDENTIFIED BY yourpassword; GRANT ALL PRIVILEGES ON cacti- . TO cactiuser@localhost; FLUSH PRIVILEGES; EXIT; 3. 下载并解压Cacti 切换到Apache的www目录(CentOS为/var/www/html,Ubuntu为/var/www/html) cd /var/www/html 下载Cacti最新版本 wget https://www.cacti.net/downloads/cacti-latest.tar.gz 解压文件 tar -xzvf cacti-latest.tar.gz 重命名解压后的目录为cacti(假设解压后为cacti-x.x.x) mv cacti-x.x.x cacti 设置文件权限 chown -R apache:apache cacti CentOS使用apache用户 chown -R www-data:www-data cacti Ubuntu使用www-data用户 chmod -R 755 cacti 4. 配置Cacti 配置include/config.php文件 在`/var/www/html/cacti/include/`目录下找到`config.php.default`文件,复制并重命名为`config.php`,然后编辑该文件,根据数据库信息填写以下参数: $database_type = mysql; $database_default = cacti; $database_hostname = localhost; $database_username = cactiuser; $database_password = yourpassword; $database_port = 3306; // 默认端口,除非有特殊配置 运行Cacti安装向导 在浏览器中访问`http://your-server-ip/cacti/`,按照安装向导提示完成剩余配置,包括设置管理员账户、安装Poller(轮询器)等
5. 安装Poller和SNMP Agent Cacti的Poller负责定期从网络设备收集数据
您需要确保Poller服务正常运行
安装Poller 在Cacti Web界面中的“Console”->“Poller”部分,您可以找到Poller的安装脚本
通常,您只需运行提供的命令行脚本即可完成安装
配置SNMP Agent 确保服务器上安装了Net-SNMP,并配置SNMPd服务以允许Cacti从服务器收集数据
这通常涉及编辑`/etc/snmp/snmpd.conf`文件,并重启SNMPd服务
四、配置监控 完成安装后,您可以开始配置监控项
通过Cacti Web界面,您可以添加设备、创建图形、设置报警等
- 添加设备:在“Devices”菜单下,输入设备的IP地址、SNMP社区字符串等信息,Cacti将自动发现该设备上的可监控项
- 创建图形:选择想要监控的指标,为它们创建图形,以便直观地查看数据变化
- 设置报警:Cacti支持基于阈值的报警,当监控数据超出设定范围时,将通过