如何在RHEL系統上安裝Cacti(網絡監控)工具

Cacti 工具是一個針對 IT 企業的網路監控和系統圖形化的開源、基於網頁的解決方案。Cacti 允許用戶定期輪詢服務,並使用 RRDtool 創建圖形。

它通常用於繪製時間序列數據,例如 網路帶寬利用率CPU 負載正在運行的進程磁盤空間 等指標。

在這個教程中,我們將演示如何在像CentOS Stream、Fedora、Rocky和Alma Linux這樣的基於RHEL的發行版上使用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

接下來,您需要將默認的Cacti資料庫架構導入到新建的資料庫中,但在此之前,您需要使用rpm命令找出資料庫文件路徑,並將其導入,如所示。

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 地址或域名来访问 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 Web 介面中添加設備、創建圖形以及設置警報來監控您的網絡基礎設施。

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