如何在 Ubuntu 20.04 上安裝和配置 Cacti

Cacti 是一個開源的基於 Web 的網絡監控和系統監控圖形工具。 它是 RRDTool – 時間序列數據庫 (TSDB) 的前端。

使用 Cacti,您可以監控服務器和網絡設備,例如服務器、路由器和交換機。 它使用 SNMP 協議收集和監控網絡流量。 它可以監控各種系統指標,例如 CPU、內存磁盤空間和帶寬利用率等。 您還可以設置警報,以便在系統中斷時收到電子郵件通知。 此外,當出現問題時,它可以實現更快的響應時間。

您可以使用 LAMP 堆棧在 Linux 發行版上安裝 Cacti。 它還支持 Nginx 和 IIS Webserver。 然後將收集的數據存儲在 MySQL 或 MariaDB 數據庫中。 數據收集框架是完全分佈式的、容錯的和可擴展的。

在本指南中,我們將介紹如何 安裝和配置仙人掌Ubuntu 20.04.

第 1 步:安裝 Apache 網絡服務器

首先使用以下命令更新您的系統包:

$ sudo apt update -y

Cacti 監控工具是通過網絡瀏覽器訪問的,我們需要設置一個網絡服務器。 我們將安裝 Apache2 網絡服務器。

$ sudo apt install apache2 -y

啟動並啟用 Apache 使用命令:

$ sudo systemctl start apache2
$ sudo systemctl enable apache2

步驟 2:安裝 MariaDB 數據庫服務器

Cacti 將從網絡設備收集的所有數據存儲在數據庫中。 在本指南中,我們將安裝 MariaDB,它是一個強大的開源關係數據庫,從 MySQL 分叉出來。

MariaDB 在 Ubuntu 20.04 存儲庫中可用。 只需使用以下命令安裝 MariaDB:

$ sudo apt install mariadb-server mariadb-client

為了讓 Cacti 發揮最佳性能,我們需要調整 MariaDB 數據庫服務器。 訪問 50-server.cnf 配置文件。

$ sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf

以下 [ mysqld ] 部分,追加以下幾行:

collation-server = utf8mb4_unicode_ci
character-set-server=utf8mb4
max_heap_table_size = 128M
tmp_table_size = 64M
innodb_buffer_pool_instances=9
join_buffer_size = 64M
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_buffer_pool_size = 1G
innodb_flush_log_at_timeout = 3
innodb_read_io_threads = 32
innodb_write_io_threads = 16
innodb_io_capacity = 5000
innodb_io_capacity_max = 10000

Save 並退出。 然後,重新加載 MariaDB 以應用更改。

$ sudo systemctl restart mariadb

第 3 步:安裝 PHP 和所需的 PHP 擴展

Cacti 監控工具的前端完全由 PHP 驅動。 因此,我們必須安裝 PHP 和相關的 PHP 模塊,如下所示:

$ sudo apt install libapache2-mod-php php-mysql php-xml php-gd php-snmp php-json php-intl php-mbstring php-ldap php-gmp -y

接下來,調整 max_execution 時間和內存限制並將您的首選時區設置為 /etc/php/7.4/apache2/php.ini/etc/php/7.4/cli/php.ini 文件。

$ sudo vim /etc/php/7.4/apache2/php.ini

date.timezone = Africa/Nairobi
memory_limit = 512M
max_execution_time = 60

同樣,複製 /etc/php/7.4/cli/php.ini 文件。

步驟 4:安裝 SNMP 和 RRDTool

在這一步中,我們將安裝用於收集和繪製系統性能指標的 RRDtool 和 SNMP。 運行以下命令:

$ sudo apt install rrdtool snmp snmpd snmp-mibs-downloader libsnmp-dev

第 5 步:創建 Cacti 數據庫

Cacti 需要一個數據庫來存儲它收集的所有數據。 首先,登錄MariaDB

$ sudo mysql -u root -p

然後為 cacti 創建一個數據庫和一個數據庫用戶,並將所有權限授予該用戶,如下所示:

CREATE DATABASE cactidb;

GRANT ALL ON cacti.* TO ‘cacti_user’@’localhost’ IDENTIFIED BY ‘cactipassword’;


FLUSH PRIVILEGES;


EXIT;

第 6 步:下載並配置 Cacti

接下來,如圖所示,從官方網站下載 Cacti 存檔文件

$ wget https://www.cacti.net/downloads/cacti-latest.tar.gz

在撰寫本文時,最新的 Cacti 版本是 1.2.18 版。

然後,在 /var/www/html/ 中創建一個 Cacti 目錄作為 Cacti 的 Web 根目錄:

$ sudo mkdir /var/www/html/cacti

解壓tar文件到上述目錄,如圖:

$ sudo tar xzf cacti-latest.tar.gz -C /var/www/html/cacti

接下來,將 cacti 目錄所有者設置為 萬維網數據 webroot目錄到如圖:

$ sudo chown -R www-data: /var/www/html/cacti/

接下來,將默認數據庫導入cacti 數據庫。

$ sudo mysql -u root -p cacti < /var/www/html/cacti/cacti.sql

然後,將 MySQL 時區數據導入 MariaDB,如圖所示

$ sudo mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql

現在,回到 MariaDB 數據庫

$ sudo mysql -u root -p

授予 cacti 數據庫用戶選擇權限以訪問 mysql 時區。 跑:

GRANT SELECT on mysql.time_zone_name to cacti_user@localhost;

FLUSH PRIVILEGES;


EXIT;

步驟 7:配置 Cacti 數據庫連接詳細信息

現在編輯 Cacti 配置文件。 打開 config.php 文件。

$ sudo vim /var/www/html/cacti/include/config.php

然後,更新配置文件中的數據庫詳細信息。 更改詳細信息以反映您在上述步驟 5 中創建數據庫時設置的值。

$database_type = ‘mysql’;
$database_default = ‘cacti’;
$database_hostname = ‘localhost’;
$database_username = ‘cacti_user’;
$database_password = ‘cactipasswd’;
$database_port = ‘3306’;

第 8 步:創建仙人掌 Apache 配置

在這一步中,我們為 Cacti 站點創建一個新的虛擬主機文件。

$ sudo vim /etc/apache2/sites-available/cacti.conf

添加以下幾行

Alias /cacti    /var/www/html/cacti
<Directory /var/www/html/cacti/>
<IfModule mod_authz_core.c>
Require all granted
</IfModule>
</Directory>

Save 並退出。 重新開始 Apache 要應用的更改

$ sudo systemctl restart apache2

偉大的。 現在唯一剩下的就是在瀏覽器上設置 Cacti。

第 9 步:在瀏覽器上設置 Cacti

此時我們已經完成了所有的 Cacti 配置。 現在我們必須在 Web 瀏覽器中完成 Cacti 安裝。 Cacti 設置嚮導將引導您逐步完成整個過程。
使用以下地址訪問 cacti:

https://server-ip-address/cacti

將顯示登錄頁面,如下所示。 使用默認憑據登錄:

用戶名: admin

密碼: admin

接下來,系統將提示您重置密碼。 確保出於安全原因設置強密碼,然後單擊“Save’ 按鈕。

仙人掌修改密碼

接下來,在復選框中同意 GPL 許可。 點擊 ‘開始‘ 繼續安裝。

Cacti 接受許可協議

然後 Cacti 將運行安裝前檢查,以確保您的系統具有必要的 PHP 模塊和數據庫設置,以便 cacti 正常運行。 如果所有配置都按順序排列,請單擊“下一個.’

仙人掌預安裝檢查

接下來,選擇“新的主服務器‘ 安裝選項並在繼續之前仔細檢查本地數據庫連接參數是否正確。 點擊下一步。

cacti 本地數據庫連接詳細信息

請務必檢查目錄權限檢查是否正確,然後單擊“下一個.’ 如果沒有,請返回步驟 6 並按照指示設置權限。

cacti 目錄權限檢查

接下來,確保顯示的關鍵二進制路徑和版本詳細信息正確無誤,然後單擊 ‘下一個’.

Cacti 關鍵二進制位置和版本

在下一步中,將顯示輸入驗證白名單保護的概述。 它建議採取幾個步驟來將數據輸入方法列入白名單。 選中“我已閱讀此聲明”框以繼續安裝。

cacti 輸入驗證白名單保護

下一步讓您為輪詢源選擇數據源配置文件。 您還可以更改網絡範圍以對應於您的子網。

cacti 默認自動化網絡

Cacti 提供了用於監視和繪製各種設備(例如路由器、Linux 和 Windows 服務器)的模板。 默認情況下,會檢查所有設置以確保您獲得所需的所有模板。 點擊 ‘下一個‘ 繼續。

Cacti 默認模板設置

接下來,安裝程序將驗證服務器和數據庫的排序規則是否符合 UTF8。 點擊 ‘下一個‘。

Cacti 服務器和數據庫整理

接下來,檢查’確認安裝‘ 框並單擊 ‘安裝’ 按鈕開始安裝過程。

Cacti 確認安裝

安裝正在進行中,大約需要一分鐘才能完成。

仙人掌服務器安裝

如果安裝成功完成,將顯示以下屏幕。

仙人掌安裝完成

單擊“開始‘ 按鈕。 Cacti 現已啟動並運行。 Cacti 儀表板顯示如下:

Cacti 默認儀表板

結論

您現在已經在 Ubuntu 20.04 上成功安裝和配置了 Cacti。 您現在可以開始添加設備並監控它們。