如何在 Ubuntu 22.04 上安装 Cacti 监控工具
本教程适用于这些操作系统版本
- Ubuntu 22.04(Jammy Jellyfish)
- Ubuntu 20.04(Focal Fossa)
在此页
- 先决条件
- 安装所需的依赖项
- 安装 LAMP 服务器
- 创建数据库
- 安装和配置 Cacti
- 为 Cacti 创建一个 Apache 虚拟主机
- 启动 Cacti Web 安装向导
- 结论
Cacti 是一个用 PHP 编写的开源网络监控和绘图工具。它是基于网络的,使用 MySQL 数据库存储所有必要的信息来创建图表并填充它们。它能够轮询网络设备以及跟踪带宽使用情况并非常漂亮地绘制图表。它使用 SNMP 协议收集有关远程设备(包括交换机和路由器)的信息。使用 Cacti,您可以通过 Web 浏览器监控带宽利用率和网络流量。
在本教程中,我们将向您展示如何在 Ubuntu 22.04 服务器上安装 Cacti 监控工具。
先决条件
- 一台运行 Ubuntu 22.04 的服务器。
- 在服务器上配置了根密码。
安装所需的依赖项
首先,您需要将 APT 软件包索引更新到最新版本。您可以使用以下命令更新它:
apt-get update -y
更新 APT 包索引后,通过运行以下命令安装其他所需的依赖项:
apt-get install snmp php-snmp rrdtool librrds-perl unzip curl git gnupg2 -y
安装所有依赖项后,您可以继续安装 LAMP 服务器。
安装 LAMP 服务器
接下来,您需要为您的服务器安装 Apache Web 服务器、MariaDB、PHP 和其他所需的 PHP 扩展。您可以通过运行以下命令来安装所有这些:
apt-get install apache2 mariadb-server php php-mysql libapache2-mod-php php-xml php-ldap php-mbstring php-gd php-gmp -y
安装所有包后,编辑 PHP 配置文件并修改默认设置:
nano /etc/php/8.1/apache2/php.ini
更改以下行:
memory_limit = 512M
max_execution_time = 60
date.timezone = UTC
保存并关闭文件,然后编辑另一个 PHP 配置文件更改默认设置:
nano /etc/php/8.1/cli/php.ini
更改以下行:
memory_limit = 512M
max_execution_time = 60
date.timezone = UTC
完成后保存并关闭文件。然后,重新启动 Apache 服务以应用更改:
systemctl restart apache2
完成后,您可以继续下一步。
创建数据库
Cacti 使用 MariaDB 作为数据库后端。所以你需要为 Cacti 创建一个数据库和用户。
首先,编辑 MariaDB 默认配置文件并调整一些默认设置:
nano /etc/mysql/mariadb.conf.d/50-server.cnf
在 [mysqld] 部分中添加/修改以下行:
collation-server = utf8mb4_unicode_ci
max_heap_table_size = 128M
tmp_table_size = 64M
join_buffer_size = 64M
innodb_file_format = Barracuda
innodb_large_prefix = 1
innodb_buffer_pool_size = 512M
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
innodb_doublewrite = OFF
保存并关闭文件,然后重新启动 MariaDB 服务以应用更改:
systemctl restart mariadb
接下来,使用以下命令登录到 MariaDB shell:
mysql
登录后,使用以下命令为 Cacti 创建数据库和用户:
MariaDB [(none)]> create database cactidb;
MariaDB [(none)]> GRANT ALL ON cactidb.* TO IDENTIFIED BY 'password';
接下来,使用以下命令刷新权限并退出 MariaDB shell:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
接下来,您需要将时区数据导入 MySQL 数据库。您可以使用以下命令导入它:
mysql mysql < /usr/share/mysql/mysql_test_data_timezone.sql
接下来,登录到 MariaDB shell 并使用以下命令授予 MySQL 时区所需的权限:
mysql
MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO ;
接下来,使用以下命令刷新权限并退出 MariaDB shell:
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> exit;
完成后,您可以继续下一步。
安装和配置仙人掌
使用以下命令从其官方网站下载最新版本的 Cacti:
wget https://www.cacti.net/downloads/cacti-latest.tar.gz
下载完成后,使用以下命令解压缩下载的文件:
tar -zxvf cacti-latest.tar.gz
接下来,使用以下命令将提取的目录移动到 Apache 根目录:
mv cacti-1* /var/www/html/cacti
接下来,使用以下命令将数据库导入 Cacti 数据库:
mysql cactidb < /var/www/html/cacti/cacti.sql
接下来,编辑 Cacti config.php 文件并定义数据库设置:
nano /var/www/html/cacti/include/config.php
更改以下行:
$database_type = 'mysql';
$database_default = 'cactidb';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'password';
$database_port = '3306';
保存并关闭文件,然后为 Cacti 创建一个日志文件。
touch /var/www/html/cacti/log/cacti.log
接下来,使用以下命令设置 cacti 目录的所有权和权限:
chown -R www-data:www-data /var/www/html/cacti/
chmod -R 775 /var/www/html/cacti/
接下来,使用以下命令创建一个新的 Cacti cron 作业文件:
nano /etc/cron.d/cacti
添加以下行:
*/5 * * * * www-data php /var/www/html/cacti/poller.php > /dev/null 2>&1
完成后保存并关闭文件。
为 Cacti 创建 Apache 虚拟主机
接下来,您需要为 Cacti 创建一个 Apache 虚拟主机配置文件。您可以使用以下命令创建它:
nano /etc/apache2/sites-available/cacti.conf
添加以下行:
Alias /cacti /var/www/html/cacti
<Directory /var/www/html/cacti>
Options +FollowSymLinks
AllowOverride None
<IfVersion >= 2.3>
Require all granted
</IfVersion>
<IfVersion < 2.3>
Order Allow,Deny
Allow from all
</IfVersion>
AddType application/x-httpd-php .php
<IfModule mod_php.c>
php_flag magic_quotes_gpc Off
php_flag short_open_tag On
php_flag register_globals Off
php_flag register_argc_argv On
php_flag track_vars On
# this setting is necessary for some locales
php_value mbstring.func_overload 0
php_value include_path .
</IfModule>
DirectoryIndex index.php
</Directory>
保存并关闭文件,然后使用以下命令启用虚拟主机文件:
a2ensite cacti
接下来,重新启动 Apache 服务以应用配置更改:
systemctl restart apache2
您还可以使用以下命令验证 Apache 服务的状态:
systemctl status apache2
您应该得到以下输出:
? apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor prese>
Active: active (running) since Sun 2022-07-24 03:58:11 UTC; 7s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 12847 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/S>
Main PID: 12851 (apache2)
Tasks: 6 (limit: 2242)
Memory: 13.7M
CPU: 103ms
CGroup: /system.slice/apache2.service
??12851 /usr/sbin/apache2 -k start
??12852 /usr/sbin/apache2 -k start
??12853 /usr/sbin/apache2 -k start
??12854 /usr/sbin/apache2 -k start
??12855 /usr/sbin/apache2 -k start
??12856 /usr/sbin/apache2 -k start
Jul 24 03:58:11 ubuntu systemd[1]: Starting The Apache HTTP Server...
完成后,您可以继续下一步。
启动 Cacti Web 安装向导
现在,打开您的 Web 浏览器并使用 URL http://your-server-ip/cacti 访问 Cacti 安装。您将被重定向到 Cacti 登录页面:

以 admin 身份提供默认管理员用户名和密码,然后单击“登录”按钮。您应该会看到密码重置屏幕:

更改您的默认密码,然后单击“保存”按钮。您应该看到许可协议页面:

接受协议并单击“开始”按钮。您应该看到预安装检查屏幕:

单击下一步按钮。您应该会看到“安装类型”屏幕:

选择所需的安装类型,然后单击“下一步”按钮。您应该看到目录权限检查屏幕:

单击下一步按钮。您应该看到二进制位置和版本检查屏幕:

单击下一步按钮。您应该看到以下屏幕:

选中“我已阅读此声明”并单击“下一步”按钮。您应该看到以下屏幕:

选择所需的选项,然后单击“下一步”按钮。您应该看到模板设置屏幕:

单击下一步按钮。您应该看到以下屏幕:

单击下一步按钮。您应该看到确认安装屏幕:

选中“确认安装”并单击“安装”按钮。安装完成后,您应该会看到以下屏幕:

单击开始按钮。您应该会在以下屏幕上看到 Cacti 仪表板:

结论
在这篇文章中,我们解释了如何在 Ubuntu 22.04 服务器上安装和配置 Cacti 监控工具。您现在可以从 Cacti 仪表板添加网络设备,并开始从 Web 浏览器监控它们。如果您有任何问题,请随时问我。