Cacti工具是一种基于Web的开源解决方案,用于IT业务中的网络监控和系统绘图,它允许用户定期轮询服务以使用RRDtool创建图表。Cacti通常用于绘制网络带宽利用率、CPU负载、运行进程、磁盘空间等指标时间序列数据图表。
在本文当中,小编将介绍在基于RHEL的发行版(例如CentOS Stream、Fedora、Rocky和Alma Linux)上使用Net-SNMP工具安装和设置名为Cacti 的综合网络监控应用程序,并使用YUM和DNF包管理工具。
Cacti需要在Linux操作系统上安装以下软件包,具体包括:
- Apache:一个Web服务器,用于显示由PHP和RRDTool创建的网络图
- MySQL:存储Cacti信息的数据库服务器
- PHP:使用RRDTool创建图形的脚本模块
- PHP-SNMP:用于SNMP访问数据的PHP扩展
- NET-SNMP:SNMP(简单网络管理协议)用于管理网络
- RRDTool:一个数据库工具,用于管理和检索时间序列数据,如CPU负载、网络带宽等。
出于演示目的,本文将使用Rocky Linux 9安装Cacti工具,但相同的说明适用于所有基于RHEL的发行版。
第1步:在Linux中安装所需的软件包
首先,首先更新系统的软件包存储库,以确保拥有最新版本的软件包:
sudo dnf update
接下来,使用以下命令安装Cacti及其依赖项所需的软件包:
sudo dnf install net-snmp-utils net-snmp-libs rrdtool php-mysqlnd php-snmp php-xml php-gd mariadb-server httpd
第2步:在Linux中安装Cacti工具
要安装Cacti,请确保系统上启用了EPEL存储库,命令如下:
sudo yum install epel-release
启用EPEL存储库后,可以通过运行以下命令来安装Cacti工具:
sudo yum install cacti
第3步:保护MariaDB数据库
要为Cacti配置MySQL,必须首先保护新安装的MySQL服务器,然后使用用户“ Cacti ”创建Cacti数据库。如果你的MySQL已安装并受到保护,则无需再次执行此操作,可以忽略此步骤。
sudo mysql_secure_installation
按照提示设置root密码、删除匿名用户、禁止远程root登录以及删除测试数据库。
第4步:创建Cacti数据库
使用新创建的密码登录MySQL服务器,然后创建Cacti数据库,并为用户“ Cacti ”设置密码:
sudo mysql -u root -p CREATE DATABASE cacti; CREATE USER 'cacti'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON cacti.* TO 'cacti'@'localhost'; FLUSH PRIVILEGES; EXIT;
接下来,需要将默认的Cacti数据库架构导入到新创建的数据库中,但在此之前,需要使用rpm命令找出数据库文件路径并导入,命令如下:
sudo rpm -ql cacti | grep cacti.sql sudo mysql -u cactiuser -p cacti < /usr/share/doc/cacti/cacti.sql
第5步:配置Cacti数据库连接
要配置Cacti数据库连接,需要打开配置文件,命令如下:
sudo vi /etc/cacti/db.php
使用你的数据库信息更新以下行:
$database_type = 'mysql'; $database_default = 'cacti'; $database_hostname = 'localhost'; $database_username = 'cacti'; $database_password = 'your_password';
第6步:为Cacti配置 Apache
使用你选择的编辑器打开名为/etc/httpd/conf.d/cacti.conf的文件:
sudo vi /etc/httpd/conf.d/cacti.conf
将以下行添加到文件中:
Alias /cacti /usr/share/cacti <Directory /usr/share/cacti/> Options +FollowSymLinks AllowOverride None <IfModule mod_authz_core.c> # Apache 2.4 Require all granted </IfModule> <IfModule !mod_authz_core.c> # Apache 2.2 Order Deny,Allow Deny from all Allow from all </IfModule> </Directory>
保存并关闭文件。
最后,重新启动Apache和MariaDB服务以应用更改。
sudo systemctl restart httpd sudo systemctl restart mariadb
第7步:配置Cacti Cron作业
现在打开crontab文件来安排Cacti的轮询间隔。
sudo vi /etc/cron.d/cacti
删除以下行中的注释。poller.php脚本每5分钟运行一次,以从已知主机收集数据,Cacti使用这些数据来创建图表。
*/5 * * * * cacti /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
第8步:访问Cacti Web界面
要访问Cacti Web界面,需要在防火墙上打开端口80以允许该端口上的入站流量:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent sudo firewall-cmd --reload
现在可以使用服务器的IP地址或域名通过Web浏览器访问Cacti ,如下所示:
http://your_server_ip/cacti 或者 http://your_domain.com/cacti
现在,按照屏幕上的说明完成安装过程,首先需要输入用户名和密码:
User: admin Password: admin
接下来,更改默认的Cacti密码。
接受Cacti许可协议。
接下来,屏幕显示Cacti安装的预安装检查,请按所示更正/etc/php.ini
文件中的建议设置,并在更改后重新启动Apache服务器。
memory_limit = 800M max_execution_time = 60 date.timezone = Asia/ShangHai
同样,还需要向用户Cacti授予对MySQL TimeZone数据库的访问权限,以便数据库中填充全局TimeZone信息:
mysql> use mysql; mysql> GRANT SELECT ON mysql.time_zone_name TO cacti@localhost; mysql> flush privileges;
请选择安装类型为“New Primary Server”。
在继续之前,请确保以下所有目录权限均正确:
在继续之前,请确保所有这些关键二进制位置和版本值均正确。
请选择用于轮询源的默认数据源配置文件:
请选择你希望在Cacti安装后使用的设备模板。
在MySQL配置文件/etc/my.cnf的[mysqld]部分下设置服务器排序规则,具体如下:
[mysqld] character-set-server=utf8mb4 collation-server=utf8mb4_unicode_ci
这时候你的Cacti服务器即将准备就绪,请确认是否愿意继续安装:
小结
通过以上设置教程,现在你已在基于RHEL的系统上成功安装Cacti工具。接下来,你可以通过添加设备、创建图表以及在Cacti Web界面中设置警报来开始监控你的网络基础设施,功能非常强大,会给你带来诸多方便。如果还不清楚怎么安装,那么赶快参考上述教程试试吧!