如何在 Debian 11 上安装 Cacti 网络监控工具
本教程适用于这些操作系统版本
- Debian 11(Bullseye)
- Debian 9(Stretch)
在此页
- 先决条件
- 开始
- 安装依赖项
- 安装 LAMP 服务器
- 安装 Apache Web 服务器
- 安装 PHP
- 为 Cacti 安装和配置数据库服务器
Cacti 是一个开源的、基于 Web 的网络监控工具,用 PHP 编写。 Cacti 是行业标准 RRDtool 的前端。 Cacti 使用 SNMP(简单网络管理协议)生成 CPU 负载和网络带宽利用率图。它专为监控交换机、路由器和服务器等网络设备而设计。 Cacti 将所有必要的数据存储在 MySQL 数据库中以生成各种图表。
本指南将向您展示如何在 Debian 11 上安装 Cacti 监控工具。先决条件
- 运行 Debian 11 的服务器。
- 已在服务器上配置根密码。
入门
在开始之前,最好将基本系统更新到最新版本。执行以下命令更新所有包:
sudo apt update
sudo apt upgrade
软件包更新后,您可以继续下一步安装。
安装依赖
Cacti 使用 SNMP,因此您需要通过运行以下命令来安装所需的依赖项:
sudo apt install snmp snmpd php-snmp rrdtool librrds-perl unzip curl git gnupg2
安装 LAMP 服务器
您需要在服务器上安装 Apache、PHP 和 MySQL/MariaDB。
安装 Apache Web 服务器
您可以通过以下命令安装 Apache Web 服务器:
sudo apt install apache2 -y
接下来,启动 Apache 服务并通过运行以下命令使 Apache 服务在引导时启动:
sudo systemctl start apache2
sudo systemctl enable apache2
安装PHP
您需要安装 PHP 和其他所需的 PHP 扩展:
apt install php php-mysql libapache2-mod-php php-xml php-ldap php-mbstring php-gd php-gmp -y
接下来,对 php.ini 文件进行一些修改:
vim /etc/php/*/apache2/php.ini
现在,进行如下所示的更改:
memory_limit = 512M
max_execution_time = 60
date.timezone = Asia/Kolkata现在,保存并关闭文件,然后为 CLI 编辑 php.ini:
vim /etc/php/*/cli/php.ini
接下来,进行以下更改:
memory_limit = 512M
max_execution_time = 60
date.timezone = Asia/Kolkata保存并关闭文件并重新启动 Apache 服务以应用更改:
systemctl restart apache2
为 Cacti 安装和配置数据库服务器
MySQL/MariaDB 是 Cacti 的后端。您可以通过运行以下命令来安装 MariaDB:
sudo apt install mariadb-server
接下来,启动 MariaDB 服务,在系统启动时启用该服务,并使用以下命令检查 MariaDB 服务状态:
sudo systemctl start mariadb
sudo systemctl enable mariadb
sudo systemctl status mariadb
接下来,通过执行以下命令登录到 MariaDB shell:
mysql
登录后,通过运行以下命令为 Cacti 创建数据库和用户:
CREATE DATABASE cactidb DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
GRANT ALL PRIVILEGES ON cactidb.* TO 'cacti_user'@'localhost' IDENTIFIED BY 'password';
ALTER DATABASE cactidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
接下来,使用以下命令刷新权限以应用更改并退出 MariaDB shell:
flush privileges;
exit;
现在,您需要将时区数据导入 MariaDB 数据库。执行以下命令导入时区:
mysql mysql < /usr/share/mysql/mysql_test_data_timezone.sql
现在,登录到 MariaDB shell 并通过运行以下命令授予 MySQL 时区所需的权限:
mysql
GRANT SELECT ON mysql.time_zone_name TO ;
接下来,刷新权限并退出 MariaDB shell:
flush privileges;
exit;
vim /etc/mysql/mariadb.conf.d/50-server.cnf
首先,通过添加#tag 注释以下两行
#collation-server = utf8mb4_general_ci
#character-set-server = utf8mb4接下来,在 [mariadb] 部分下方添加/修改以下行:
collation-server = utf8mb4_unicode_ci
character-set-server=utf8mb4
max_heap_table_size = 128M
tmp_table_size = 128M
join_buffer_size = 128M
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
innodb_doublewrite = 0现在,保存并退出文件并重新启动 MariaDB 服务以应用更改:
systemctl restart mariadb
重启服务后,就可以进行下一步了。
安装和配置仙人掌
现在,使用 wget 命令从 Cactis 官方网站下载最新版本的 Cacti:
wget https://www.cacti.net/downloads/cacti-latest.tar.gz
然后,通过运行以下命令提取 tar.gz 文件:
tar -zxvf cacti-latest.tar.gz
现在,通过执行以下命令将提取的目录移动到 Apache 根路径:
mv cacti-1* /var/www/html/cacti
接下来,使用以下命令将数据库导入 cactis 数据库 cactidb:
mysql cactidb < /var/www/html/cacti/cacti.sql
现在编辑 config.php 并输入您的 Cactis 数据库详细信息。
cd /var/www/html/cacti/include/
vim config.php
接下来,在以下几行中进行更改:
$database_type = 'mysql';
$database_default = 'cactidb';
$database_hostname = 'localhost';
$database_username = 'cacti_user';
$database_password = 'password';
$database_port = '3306';现在,使用以下命令为 cacti 目录设置必要的权限:
chown -R www-data:www-data /var/www/html/cacti/
chmod -R 775 /var/www/html/cacti/
现在,使用 Cacti 的 cronjob 和以下命令设置数据收集频率:
vim /etc/cron.d/cacti
添加以下行以将 Cacti Pollor 设置为每五分钟运行一次 poller.php。
*/5 * * * * www-data php /var/www/html/cacti/poller.php > /dev/null 2>&1
保存并退出文件。
为 Cacti 配置 Apache 虚拟主机
接下来,您需要为 Cacti 创建一个单独的 Apache 虚拟主机配置文件。您可以使用以下命令创建它:
vim /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
通过运行以下命令验证 cacti.conf 文件:
ls -l /etc/apache2/sites-enabled/cacti.conf
接下来,您必须重新启动 Apache 服务以应用更改:
systemctl restart apache2
重启Apache服务后,执行以下命令查看Apache服务状态:
systemctl status apache2
输出:
? apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2022-06-29 07:22:07 UTC; 3s ago
Docs: https://httpd.apache.org/docs/2.4/
Process: 63096 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 63100 (apache2)
Tasks: 6 (limit: 1132)
Memory: 13.6M
CPU: 100ms
CGroup: /system.slice/apache2.service
??63100 /usr/sbin/apache2 -k start
??63101 /usr/sbin/apache2 -k start
??63102 /usr/sbin/apache2 -k start
??63103 /usr/sbin/apache2 -k start
??63104 /usr/sbin/apache2 -k start
??63105 /usr/sbin/apache2 -k start
Jun 29 07:22:07 debian-11 systemd[1]: Starting The Apache HTTP Server...在此阶段,您的 Cacti 已安装和配置,您可以继续下一步以从 Web 浏览器访问 Cacti。
仙人掌网页界面
现在,打开您的网络浏览器并输入以下 URL 和您的 IP 地址:
http://your-server-ip/cacti
您应该会看到 Cacti 登录页面。
输入默认的用户名和密码为 admin,然后单击“登录”按钮。您将被重定向到密码重置屏幕,如下所示:
更改默认密码后,单击“保存”按钮。您应该看到许可协议屏幕:
选择接受 GPL 许可协议复选框并单击开始按钮。您应该会在下一个屏幕上看到预安装检查和其他警告信息:
单击下一步按钮。您应该会看到以下安装类型屏幕:
在这里,您可以选择所需的安装类型,然后单击“下一步”按钮。接下来,您应该看到目录权限检查屏幕:
单击下一步按钮。它将向您显示 Critical Binary Locations and Versions 屏幕,如下所示:
单击下一步按钮。您应该看到输入验证白名单保护屏幕:
选择“我已阅读此声明”复选框并单击“下一步”按钮。您应该被重定向到“默认配置文件”屏幕:
根据您的要求输入信息,然后单击“下一步”按钮。接下来您应该看到模板设置屏幕:
单击下一步按钮,您应该会在以下屏幕上看到与 UTF-8 相关的设置:
单击下一步按钮。您应该看到确认安装屏幕:
选择“确认安装”复选框,然后单击“安装”按钮。您应该会在下一个屏幕上看到安装日志:
安装完成后,单击开始按钮。您应该会看到 Cacti 仪表板屏幕:
结论
从本文开始,您就成功地在 Debian 11 上安装并配置了 Cacti 监控工具。现在您可以添加网络设备、监控您的网络带宽、生成各种网络监控图等等。您可以从 Web 浏览器轻松访问 Cacti。如果您有任何问题,请随时问我。