如何在RHEL系统上安装Cacti(网络监控)工具

Cacti工具是一种开源的、基于网络的解决方案,用于IT企业中的网络监控和系统图形化。Cacti允许用户定期轮询服务,利用RRDtool创建图形。

它通常用于为诸如网络带宽利用率CPU负载运行进程磁盘空间等指标创建时间序列数据图。

在这个操作指南中,我们将演示如何在基于RHEL的发行版(如CentOS Stream,Fedora,Rocky和Alma Linux)上使用YUM和DNF软件包管理工具安装和设置一个名为Cacti的综合网络监控应用程序,使用Net-SNMP工具。

Cacti所需软件包

Cacti需要在您的Linux操作系统上安装以下软件包。

  • Apache:用于显示由PHP和RRDTool创建的网络图形的Web服务器。
  • 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
Install Cacti Required Packages

步骤2:在Linux中安装Cacti工具

要安装Cacti,请确保在系统上启用了EPEL存储库

sudo yum install epel-release

一旦启用了EPEL存储库,您就可以通过运行以下命令来安装Cacti。

sudo yum install cacti
Install Cacti in Linux

步骤3:保护MariaDB数据库

为了配置MySQL用于Cacti,我们首先必须保护新安装的MySQL服务器,然后使用用户“Cacti”创建Cacti数据库。 如果您的MySQL已经安装并受保护,则无需再次执行此操作。

sudo mysql_secure_installation

按照提示设置根密码,删除匿名用户,禁止远程根登录,并删除测试数据库。

Secure MySQL Installation

步骤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;
Create Cacti Database

接下来,您需要使用rpm命令找出数据库文件路径,并按照所示导入默认Cacti数据库架构到新创建的数据库中。

sudo rpm -ql cacti | grep cacti.sql
sudo mysql -u cactiuser -p cacti < /usr/share/doc/cacti/cacti.sql
Import Cacti Database

步骤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';
Configure Cacti Database Settings

步骤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>

保存并关闭文件。

最后,重新启动ApacheMariaDB服务以应用更改。

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 网络界面,您需要在防火墙上打开端口 80,以允许该端口上的入站流量。

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --reload

现在,您可以使用服务器的 IP 地址或域名通过 Web 浏览器访问 Cacti

http://your_server_ip/cacti
OR
http://domain.com/cacti

现在,请按照屏幕上的说明完成安装过程

User: admin
Password: admin
Cacti User Login

接下来,请更改默认的 Cacti 密码。

Change Cacti Admin Password

接受 Cacti 许可协议。

Accept Cacti License Agreement

接下来,屏幕显示 Cacti 安装的预安装检查,请根据建议更正您的 /etc/php.ini 文件中的设置,并在更改后重新启动 Apache。

memory_limit = 800M
max_execution_time = 60
date.timezone = Asia/Kolkata
Cacti Pre-installation Checks

同样,您还需要授予用户 Cacti 对 MySQL 时区数据库的访问权限,以便数据库填充全局时区信息。

mysql> use mysql;
mysql> GRANT SELECT ON mysql.time_zone_name TO cacti@localhost;
mysql> flush privileges;
Cacti MySQL Pre-Installation Checks

请选择安装类型为“新安装“。

Select Cacti Installation Type

在继续之前,请确保以下所有目录权限正确。

Cacti Directory Permission Checks

在继续之前,请确保所有这些 关键二进制位置和版本 值正确。

Critical Binary Locations and Versions

请选择要用于轮询源的默认 数据源配置文件

Select Data Source Profile

请选择 Cacti 安装后要使用的 设备模板

Select Cacti Device Templates

根据所示,在 MySQL 配置文件 /etc/my.cnf[mysqld] 部分中设置 服务器排序规则

[mysqld]
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
Set Server Collation

您的 Cacti 服务器几乎准备就绪。请确认您愿意继续。

Cacti Installation Process
Installing Cacti Server
Cacti Dashboard

恭喜!您已成功在基于 RHEL 的系统上安装了 Cacti。您现在可以通过在 Cacti 网页界面中添加设备、创建图形和设置警报来开始监视您的网络基础设施。

Source:
https://www.tecmint.com/install-cacti-network-monitoring-on-rhel-centos-fedora/