在Ubuntu 20.04上輕鬆安裝和設置Cacti

在本教程中,您將學習如何在Ubuntu 20.04上輕鬆安裝和設置Cacti。 仙人掌 是RRDTool的完整前端。 RRDTool是一個時序數據存儲和顯示系統。它在數據庫中存儲和顯示時間序列數據(例如,網絡帶寬,機房溫度,服務器平均負載)。它將數據存儲在循環數據庫(RRD)中,這是一種非常緊湊的方式,不會隨時間擴展。 RRDtool處理提取的數據以增強一定的數據密度,從而可以用有用的圖形表示數據值。 Cacti前端完全由PHP驅動。除了能夠在數據庫中維護圖形,數據源和Round Robin存檔外,仙人掌還可以處理數據收集。對於使用MRTG創建流量圖的那些,也有SNMP支持。

仙人掌特色集錦

  • 遠程數據收集器(輪詢器)
  • 網絡發現和自動化
  • 設備管理自動化
  • 擴展的顏色集
  • 增強的用戶,組和域管理
  • 用戶界面增強
  • 附加的RRDtool圖形選項支持
  • 多個輪詢間隔
  • 將近20個插件合併為核心

在Ubuntu 20.04上輕鬆安裝和設置Cacti

先決條件

以下是設置仙人掌的要求;

  • RRDTool 1.0.49或更高,建議1.4+
  • MySQL 5.x或更高版本
  • PHP 5.1或更高版本
  • 支持PHP的Web服務器,例如Apache,Nginx

運行系統更新

首先,請確保您的系統軟件包緩存是最新的;

apt update

在Ubuntu 20.04上安裝RRDTool

如上面要求部分所述,建議將RRDTool 1.4+與仙人掌一起使用。在默認的Ubuntu 20.04存儲庫中,可以使用RRDTool 1.7.2。

apt-cache policy rrdtool
rrdtool:
  Installed: (none)
  Candidate: 1.7.2-3build2
  Version table:
     1.7.2-3build2 500
        500 http://ke.archive.ubuntu.com/ubuntu focal/main amd64 Packages

因此,您可以通過運行以下命令在Ubuntu 20.04上安裝RRDTool;

apt install rrdtool -y

您還需要通過運行以下命令來安裝SNMP。

apt install snmpd snmp snmp-mibs-downloader libsnmp-dev

在Ubuntu 20.04上安裝和設置MySQL / MariaDB數據庫

在Ubuntu 20.04上安裝MariaDB 10.5

在此設置中,我們將使用MariaDB 10.5作為數據庫後端。因此,運行以下命令在Ubuntu 20.04上安裝和設置MariaDB 10.5;

apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
add-apt-repository 'deb [arch=amd64] http://mariadb.mirror.globo.tech/repo/10.5/ubuntu focal main'
apt update
apt install mariadb-server mariadb-client

保護MariaDB

MariaDB附帶了初始安全腳本,可以運行該腳本來刪除測試數據庫,禁止遠程root登錄,刪除匿名用戶。

mysql_secure_installation

創建仙人掌數據庫和數據庫用戶

登錄到MariaDB並創建Cacti數據庫和數據庫用戶。確保相應地替換數據庫名稱以及用戶名和密碼。

mysql
create database rrdtooldb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
grant all on rrdtooldb.* to [email protected] identified by 'RRDTOOLDB_pass';

重新加載特權表並退出數據庫;

flush privileges;
quit

優化用於仙人掌的MariaDB數據庫

打開 /etc/mysql/mariadb.conf.d/50-server.cnf 文件,然後在 [mysqld] 部分以針對Cacti優化數據庫。

vim /etc/mysql/mariadb.conf.d/50-server.cnf
...
# utf8 4-byte character set. See also client.cnf
character-set-server  = utf8mb4
character_set_client  = utf8mb4
collation-server      = utf8mb4_unicode_ci
...
...
max_heap_table_size=128M
tmp_table_size=128M
join_buffer_size=256M
innodb_file_format=Barracuda
innodb_large_prefix=1
innodb_buffer_pool_size=2048M
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_buffer_pool_instances=17
innodb_io_capacity=5000
innodb_io_capacity_max=10000
...

保存並退出文件,然後重新啟動MariaDB;

systemctl restart mariadb

安裝PHP和其他必需的模塊

運行以下命令以安裝PHP和其他必需的模塊;

apt install php php-mysql php-curl php-net-socket php-gd php-intl php-pear php-imap php-memcache libapache2-mod-php php-pspell php-tidy php-xmlrpc php-snmp php-mbstring gettext php-gmp php-json php-xml php-ldap

設置PHP時區;

vim /etc/php/7.4/apache2/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Qatar

最大執行時間;

...
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 60
...

設置內存限制;

...
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 400M
...

同樣,在PHP INI CLI配置上設置時區。

vim /etc/php/7.4/cli/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Asia/Qatar"

在Ubuntu 20.04上安裝Apache Web Server

在此設置中,我們將Apache HTTP Server與Cacti一起使用。請注意,在安裝PHP時,Apache也會隨之安裝。如果尚未安裝,則可以按以下步驟安裝;

apt install apache2

在Ubuntu 20.04上安裝和設置Cacti

接下來,在Ubuntu 20.04上安裝和設置Cacti。儘管該軟件包在默認的Ubuntu Universe存儲庫中可用,但它是最新的穩定版本。

apt-cache policy cacti
cacti:
  Installed: (none)
  Candidate: 1.2.10+ds1-1ubuntu1
  Version table:
     1.2.10+ds1-1ubuntu1 500
        500 http://ke.archive.ubuntu.com/ubuntu focal/universe amd64 Packages

在撰寫本文時,最新的穩定版本是 1.2.14,於08/02/20發布。

因此,將Cacti tarball存檔下載並解壓縮到默認的Web根目錄。

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

在此設置中,將使用/ var / www / html / cacti作為Cacti的Web根目錄;

mkdir /var/www/html/cacti
tar xzf cacti-latest.tar.gz -C /var/www/html/cacti --strip-components=1

將Cacti Web根目錄的所有權設置為Apache HTTP服務器用戶;

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

導入默認的仙人掌數據庫

將默認的Cacti數據庫從提取的Web根目錄導入到上面為Cacti創建的新數據庫;

mysql -u rrdtooladmin -p -D rrdtooldb < /var/www/html/cacti/cacti.sql

將時區數據導入MariaDB數據庫

將時區數據導入MariaDB數據庫,並授予Cacti數據庫用戶SELECT權限訪問 mysql.time_zone_name 表;

mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql
mysql -u root
grant select on mysql.time_zone_name to [email protected];
quit

配置仙人掌數據庫連接詳細信息

導入完成後,打開Cacti配置文件, /var/www/html/cacti/include/config.php,並定義數據庫連接詳細信息。

vim /var/www/html/cacti/include/config.php
...
/*
 * Make sure these values reflect your actual database/host/user/password
 */

$database_type="mysql";
$database_default="rrdtooldb";
$database_hostname="localhost";
$database_username="rrdtooladmin";
$database_password = 'RRDTOOLDB_pass';
$database_port="3306";

創建Cacti Apache配置

接下來,為Cacti創建一個Apache配置。

vim /etc/apache2/conf-available/cacti.conf
Alias /cacti    /var/www/html/cacti

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

保存並退出文件。

檢查Apache配置語法;

apachectl configtest

如果你得到, Syntax OK,輸出,重新啟動Apache。否則修復任何錯誤。

systemctl restart apache2

如果UFW完全在運行,請在UFW上打開Apache;

ufw allow "Apache Full"

在Ubuntu 20.04上完成Cacti的安裝和設置

訪問Cacti Web界面

您現在可以通過URL訪問Cacti Web界面, http://server-IP/cacti 按照我們的設置。

使用默認憑據登錄, admin:admin 用戶名和密碼。

在Ubuntu 20.04上安裝和設置Cacti

登錄後,系統會提示您重設密碼。請重設並繼續。

接受最終用戶許可協議;

在Ubuntu 20.04上輕鬆安裝和設置Cacti

單擊開始以執行安裝前檢查。如果有任何錯誤,請先解決,然後再繼續。

在Ubuntu 20.04上輕鬆安裝和設置Cacti

安裝方式

在Ubuntu 20.04上輕鬆安裝和設置Cacti

目錄權限檢查

在Ubuntu 20.04上輕鬆安裝和設置Cacti

重要的二進制位置和版本。

在Ubuntu 20.04上輕鬆安裝和設置Cacti

輸入驗證白名單保護

在Ubuntu 20.04上輕鬆安裝和設置Cacti

默認配置文件和自動化網絡

在Ubuntu 20.04上輕鬆安裝和設置Cacti

模板設置

在Ubuntu 20.04上輕鬆安裝和設置Cacti

服務器,數據庫排序規則和表設置。

在Ubuntu 20.04上輕鬆安裝和設置Cacti

仙人掌安裝:選擇 確認 安裝 然後點擊 安裝 在Ubuntu 20.04上安裝Cacti。

在Ubuntu 20.04上輕鬆安裝和設置Cacti

安裝完成後,單擊“入門”以訪問Cacti Web界面。

在Ubuntu 20.04上輕鬆安裝和設置Cacti

Cacti Web控制台;

在Ubuntu 20.04上安裝和設置Cacti

Cacti現在已安裝並正在運行。這標誌着本教程有關如何在Ubuntu 20.04上安裝和設置Cacti的結尾。在下一個教程中,我們將學習如何使用Cacti監視設備指標。保持聯繫

參考

在Unix下安裝Cacti

Sidebar