如何在 Rocky Linux 上安装 Cacti
Cacti是一个基于PHP和MySQL的基于Web的开源监控工具。它是一个强大的网络监控和图形工具,使用 SNMP(简单网络管理协议)收集数据并将其存储在 RRDTool(循环数据库工具)数据引擎中。 RRDtool 还负责创建图形。
Cacti 具有一些出色的功能,已成为基于图形的监控任务的最佳工具之一。它适合不同类型的企业。它非常适合 ISP(互联网服务提供商)等公司,因为 Cacti 提供了广泛的硬件监控功能。它也适合专用服务器提供商,因为它支持多个用户,并且每个用户都可以创建自己的图表。
Cacti 是一个用于操作监控和故障管理的可扩展框架。它为不同的设备和不同的图形/聚合/图形模板提供了多个模板。它还可以与不同类型的 Web 服务器一起运行,例如 Apache/httpd 和 Nginx。
先决条件
本指南将教您如何在Rocky Linux系统上安装cacti监控工具。 Cacti 基于 PHP 和 MySQL,因此您也将安装这些软件包。此外,您还将安装 httpd Web 服务器。
以下是我们的 cacti 安装示例环境:
- 操作系统:Rocky Linux 8.4(绿黑曜石)
- 服务器IP地址:192.168.1.10
- Sudo root权限
现在我们开始cacti监控工具的安装。
安装软件包依赖项
首先,您必须安装 cacti 的一些软件包依赖项。您必须使用 root/sudo 权限运行以下所有命令。
1. 使用以下命令将 EPEL (Extra Packages for Enterprise Linux) 存储库添加到 Rocky Linux 系统。
sudo dnf install epel-release
输入“y”并按“Enter”继续安装。
2. 使用以下命令安装 httpd Web 服务器。
sudo dnf install httpd -y
如果 httpd 安装完成,启动并启用 httpd 服务。
sudo systemctl enable --now httpd
sudo systemctl is-enabled httpd
3. 接下来,您必须在系统上安装 PHP。默认情况下,Rocky Linux 存储库提供多个版本的 PHP。您将安装存储库中可用的最新版本 PHP 7.4。
使用下面的 dnf 命令启用版本 7.4 的 PHP 模块。
dnf module enable php:7.4
输入“y”进行确认,然后按“Enter”。
现在执行下面的DNF命令来安装PHP包。
sudo dnf install -y php php-xml php-session php-sockets php-ldap php-gd php-json php-mysqlnd php-gmp php-mbstring php-posix php-snmp php-intl
PHP 包安装完成后,使用 nano/vim 编辑器编辑 '/etc/php.ini' 配置。
nano /etc/php.ini
取消注释选项“date.timezone”并输入您当前的时区。
date.timezone = Europe/Amsterdam
如下更改选项“memory_limit”和“max_execution_time”。
memory_limit = 512M
max_execution_time = 60
保存配置并退出。
现在重新加载httpd服务以应用并完成PHP配置。
sudo systemctl restart httpd
4. 安装所有这些软件包后,必须安装 SNMP 和 rrdtool。
cacti 使用 SNMP 来收集设备信息,rrdtool 用于将收集到的数据存储为 .rra 格式,然后以图形信息的形式显示在 cacti 仪表板上。
使用下面的 dnf 命令安装 SNMP 和 rrdtool。
sudo dnf install -y net-snmp net-snmp-utils net-snmp-libs rrdtool -y
安装完成后,使用以下命令启动并启用 SNMP 服务。
sudo systemctl enable --now snmpd
sudo systemctl is-enabled snmpd
现在进入下一阶段安装和配置 MariaDB 数据库。
安装和配置 MariaDB
在此步骤中,您将在 Rocky Linux 系统上安装和配置 mariadb 数据库。此外,您还将向 mariadb 数据库添加一些额外的配置,作为 cacti 要求和建议。
1. 执行下面的 DNF 命令在您的系统上安装 mariadb 软件包。
sudo dnf install -y @mariadb
等待所有软件包安装完成。
2. 接下来,将当前工作目录更改为“/etc/my.cnf.d”目录,并使用 nano/ 编辑 mariadb 配置“mariadb-server.conf”维姆。
cd /etc/my.cnf.d/
nano mariadb-server.cnf
将以下配置粘贴到“[mysqld]”行下。此配置基于 cacti 安装要求。
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
innodb_file_format = Barracuda
max_heap_table_size=32M
tmp_table_size=32M
join_buffer_size=64M
# 25% Of Total System Memory
innodb_buffer_pool_size=1GB
# pool_size/128 for less than 1GB of memory
innodb_buffer_pool_instances=10
innodb_flush_log_at_timeout=3
innodb_large_prefix=1
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_io_capacity=5000
innodb_io_capacity_max=10000
log-error = /var/log/mariadb/mariadb-error.log
log-queries-not-using-indexes = 1
slow-query-log = 1
slow-query-log-file = /var/log/mariadb/mariadb-slow.logSave the configuration and exit.
3. 接下来,使用以下命令启动并启用 mariadb 服务。
sudo systemctl enable --now mariadb
检查当前的 mariadb 服务。
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
确保 mariadb 服务处于活动状态并正在运行。下面是您将得到的类似输出。
4. 完成所有 mariadb 配置后,将系统上可用时区的时区表加载并填充到默认数据库“mysql”。
使用以下命令将时区表加载并填充到数据库“mysql”。
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
输入您的 mariadb root 密码,然后按“Enter”。现在继续下一步,为 cacti 安装创建新的数据库和用户。
为 Cacti 创建新数据库和用户
对于此步骤,您将创建一个新的 mariadb 数据库和用户。
首先,使用下面的 mysql 命令登录到 mysql shell。
mysql -u root -p
输入您的 mariadb root 密码并按“Enter”。
1. 使用以下查询创建新数据库“cacti”。
create database if not exists cacti;
2. 创建新用户“cactiuser”,并将“cacti”上的所有数据库权限授予新用户。
CREATE USER 'cactiuser'@'localhost' IDENTIFIED BY 'cacti_password';
GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost';
3. 此外,您还必须授予表“time_zone_name”(可在数据库“mysql”上使用)的权限“SELECT”发送给用户“cactiuser”。
GRANT SELECT ON mysql.time_zone_name TO 'cactiuser'@'localhost';
现在重新加载所有表权限并输入“exit”。
FLUSH PRIVILEGES;
exit
现在 cacti 的所有要求均已安装,您已准备好安装 Cacti 监控工具。
安装和配置 Cacti
默认情况下,EPEL 存储库提供 cacti 软件包并准备安装。 EPEL存储库上cacti的版本是1.2.17版本,cacti官网当前版本是1.2.19版本。
在这一步中,您将在 Rocky Linux 系统上安装和配置 cacti。
1. 执行下面的DNF命令在您的系统上安装cacti。
sudo dnf install cacti
输入“y”进行确认,然后按“Enter”。
所有 cacti 源代码都可以在“/usr/share/cacti/”目录中找到。
2. cacti 安装完成后,使用下面的 mysql 命令将数据库架构导入“cacti”数据库。
mysql -u cactiuser -p cacti < /usr/share/doc/cacti/cacti.sql
输入“cactiuser”的密码,在本例中,密码为“cacti_password”。
3. 接下来,使用 nano/vim 编辑器编辑 cacti 配置“/usr/share/cacti/cacti.php”。
nano /usr/share/cacti/include/config.php
更改详细数据库配置如下。
$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'cacti_password';
$database_port = '3306';
保存配置并退出。
4. 默认情况下,cacti 安装只能从本地主机访问。要允许从外部网络访问,请编辑 cacti 的 httpd 配置。
使用 nano/vim 编辑器编辑配置“/etc/httpd/conf.d/cacti.conf”。
nano /etc/httpd/conf.d/cacti.conf
将选项“需要主机本地主机”更改为“要求所有已授予”,如下所示。
Require all granted
保存配置并退出。
现在重新启动 httpd 服务以应用新配置。
sudo systemctl restart httpd
5. 接下来,编辑 cron 配置“/etc/cron.d/cacti”以启用 cacti 轮询器。
nano /etc/cron.d/cacti
取消注释该行,如下所示。
*/5 * * * * apache /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
保存配置并退出。
6. 如果您的服务器上运行了firewalld,请使用以下命令将HTTP 和HTTPS 服务添加到firewalld。
firewall-cmd add-service=http --permanent
firewall-cmd --reload
现在您已经完成了基本的仙人掌配置。转到下一步以启动并完成 Cacti 安装向导。
仙人掌安装向导
打开网络浏览器并输入服务器 IP 地址和路径“/cacti”以访问设置页面/安装向导。
http://192.168.1.10/cacti/
1. 首先,您将被重定向到安装登录页面,如下所示。
使用默认用户“admin”和密码“admin”登录,然后单击“登录”按钮。
2. 将默认密码“admin”更改为强密码并重复,然后单击“保存”按钮。
3.对于许可协议,cacti使用GPL许可。
选中“接受 GPL 许可协议”选项,然后单击“开始”按钮开始安装。
4. 现在cacti 安装向导将检查cacti 安装的所有要求。确保所有结果检查状态均为绿色,如下面的屏幕截图所示。
单击“下一步”按钮继续。
5. 为 cacti 安装类型选择“新主服务器”选项,因为这是第一个 cacti 服务器。然后您可以再次单击“下一步”。
6. 您将获得 Cacti 的目录权限检查。确保所有权限检查状态均为绿色,如下图所示。
再次点击“下一步”。
7. 现在,您将设置 Cacti 使用的二进制应用程序的路径。
您可以将其保留为默认值,然后单击“下一步”按钮。
8. 现在阅读有关“输入验证白名单保护”的所有信息。这很重要,特别是出于安全原因。
Cacti 脚本“input_whitelist.php”允许您管理 Cacti 上的数据输入方法。您可以根据您的个人安全偏好,禁止或取消禁止白名单中的数据输入方式。
确保选中“我已阅读此声明”选项,然后再次单击“下一步”。
9. 对于配置文件配置,请将其保留为默认值,然后单击“下一步”按钮继续。
10. 您可以根据您的主机/客户端计算机选择模板进行模板设置。或者您可以将其保留为默认值,然后再次单击“下一步”。
11. 现在安装向导将检查您的数据库和当前系统的本地化。
确保没有错误消息,然后单击“下一步”按钮。
12. 现在选择“确认安装”并单击“安装”按钮开始 cacti 安装。
13. 安装过程如下。
14. 当cacti安装完成后,您将看到以下消息,如下图所示。
单击“开始”按钮。
15. 您将被重定向到 Cacti 默认管理仪表板,如下所示。
16. 现在,等待大约 19-20 分钟,让 cacti 服务收集有关您的系统的数据。
准备好后,单击菜单“图表”,您将看到 Rocky Linux cacti 服务器的当前状态。
下面是当前环境中的 Cacti 服务器图示例。
如果您可以看到当前 Rocky Linux 系统的图表,则说明您的 cacti 安装成功。
结论
恭喜!您已经在Rocky Linux系统上安装了Cacti监控工具。
对于下一步,您需要设置“spine”(仙人掌的多线程数据收集器),然后添加新的主机/机器/设备以监视您的仙人掌服务器。