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

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

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

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

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

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

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

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

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

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

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

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

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