如何使用 Cacti 监控您的 CentOS 7 服务器
本教程适用于这些操作系统版本
- 中央操作系统 8
- 中央操作系统 7
在此页
- 第 1 步 - 安装 Apache
- 第 2 步 - 安装 PHP
- 第 3 步 - 安装 MariaDB
- 第 4 步 - 安装和配置 Cacti
- 第 5 步 - 配置权限和防火墙
Cacti 是一个免费的开源网络图形解决方案。它使用 RRDTool 进行数据收集和绘图。它提供了许多功能,例如远程和本地数据收集器、网络发现、设备管理自动化、图形模板等。
在本教程中,我们将在 CentOS 7 服务器上安装 Cacti。
先决条件
- 最小的 CentOS 7 服务器
- 根权限
第 1 步 - 安装 Apache
建议在安装任何包之前更新服务器,以便更新现有的包和存储库。
yum -y update
更新系统后,您可以继续安装 Apache Web 服务器。
yum -y install httpd
现在启动 Apache Web 服务器并使用以下命令使其在启动时启动。
systemctl start httpd
systemctl enable httpd
第 2 步 - 安装 PHP
Cacti 支持 PHP 5.3 以上的所有版本。但在本教程中,我们将安装 PHP 7.1,因为 PHP v5.3 已达到生命周期的尽头。安装最新版本的 PHP 将确保应用程序的最大安全性和性能。
CentOS 的默认 YUM 存储库不包含 PHP 7.1,因此您需要在系统中添加 Webtatic 存储库。 Webtatic 存储库需要 EPEL 存储库才能工作。运行以下命令来安装 EPEL 存储库。
yum -y install epel-release
yum -y update
键入命令以安装 Webtatic 存储库。
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum -y update
键入以下命令以安装 PHP 7.1 以及所有必需的依赖项。
yum -y install php71w php71w-snmp php71w-mysqli php71w-cli php71w-ldap php71w-xml php71w-session php71w-sockets php71w-pcre php71w-gd php71w-dom php71w-posix php71w-mbstring
要检查 PHP 是否安装成功,您可以运行:
php -v
你应该得到类似这样的输出。
[ ~]# php -v
PHP 7.1.6 (cli) (built: Jun 10 2017 07:28:42) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
现在您需要在 PHP 中配置一些配置。使用您喜欢的文本编辑器打开 PHP 配置文件 php.ini。在本教程中,我们将使用 nano 编辑器。如果你没有安装 nano,你可以运行 yum -y install nano。
nano /etc/php.ini
找到以下行并取消注释该行并根据您所在的地区设置时区。例如:
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Kolkata
第 3 步 - 安装 MariaDB
MariaDB 是 MySQL 数据库的一个分支。要在您的服务器上安装 MariaDB,请运行:
yum -y install mariadb mariadb-server
运行以下命令以启动 MariaDB 并使其在引导时启动。
systemctl start mariadb
systemctl enable mariadb
现在运行以下命令来保护您的 MariaDB 安装。
mysql_secure_installation
上面的命令将运行一个脚本来保护全新的 MariaDB 安装。该脚本将询问现有的 root 用户密码,我们刚刚安装了 MariaDB,未设置 root 密码,只需按 enter 继续。
该脚本会询问您是否要为 MariaDB 安装设置根密码,选择 y 并为安装设置一个强密码。大多数问题都是不言自明的,您应该对所有问题都回答“是”或“y”。输出将如下所示。
要创建数据库,我们需要先登录 MySQL 命令行。同样运行以下命令。
mysql -u root -p
上面的命令将登录到 root 用户的 MySQL shell,它会提示输入 root 用户的密码。提供登录密码。现在运行以下查询为您的 Cacti 安装创建一个新数据库。
CREATE DATABASE cacti_data;
上面的查询将创建一个名为 cacti_data 的新数据库。如果需要,您可以为数据库使用任何其他名称。确保在每个查询的末尾使用分号,因为查询始终以分号结尾。
创建数据库后,您可以创建一个新用户并授予该用户对数据库的所有权限。要创建新的数据库用户,请运行以下查询。
CREATE USER 'cacti_user'@'localhost' IDENTIFIED BY 'StrongPassword';
上面的查询将创建一个用户名为 cacti_user 的用户。您可以使用您喜欢的任何用户名来代替 cacti_user。将 StrongPassword 替换为非常强的密码。现在向您的数据库用户提供您创建的数据库的所有权限。运行以下命令。
GRANT ALL PRIVILEGES ON cacti_data.* TO 'cacti_user'@'localhost';
现在运行以下命令以立即应用对数据库权限的更改。
FLUSH PRIVILEGES;
使用以下命令退出 MySQL 提示符。
EXIT;
您还需要填充时区表。运行以下命令来填充时区表。
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
提供 MySQL root 密码以继续。填充表格后,您将需要提供对表格的 Cacti 用户帐户的选择访问权限。使用以下命令再次登录到 MySQL 提示符:
mysql -u root -p
现在运行以下查询。
GRANT SELECT ON mysql.time_zone_name TO 'cacti_user'@'localhost';
FLUSH PRIVILEGES;
上面的查询将 SELECT 授予对 cacti_user 的访问权限
第 4 步 - 安装和配置 Cacti
Cacti 需要更多的依赖项,运行以下命令来安装它们。
yum -y install net-snmp rrdtool net-snmp-utils
由于我们已经准备好所有依赖项,我们现在可以从 Cacti 网站下载安装包。
cd /var/www/html
wget http://www.cacti.net/downloads/cacti-1.1.10.tar.gz
您始终可以在 Cacti 下载页面上找到最新版本应用程序的链接。使用以下命令提取存档。
tar xzvf cacti*.tar.gz
使用以下命令重命名 Cacti 文件夹:
mv cacti-1*/ cacti/
现在通过运行以下命令导入 Cacti 数据库。
cd /var/www/html/cacti
mysql cacti_data < cacti.sql -u root -p
上面的命令将使用 root 用户将 cacti.sql 数据库导入到 cacti_data 中。在导入数据库之前,它还会询问您 root 用户的密码。
现在通过运行以下命令来编辑 Cacti 配置。
nano /var/www/html/cacti/include/config.php
现在找到以下行并根据您的 MySQL 数据库凭据编辑它们。
/* make sure these values reflect your actual database/host/user/password */
$database_type = 'mysql';
$database_default = 'cacti_data';
$database_hostname = 'localhost';
$database_username = 'cacti_user';
$database_password = 'StrongPassword';
$database_port = '3306';
$database_ssl = false;
第 5 步 - 配置权限和防火墙
现在您需要使用以下命令向 Web 服务器用户提供应用程序的所有权。
chown -R apache:apache /var/www/html/cacti
如果您正在运行防火墙,您可能还需要允许端口 80 上的 HTTP 流量通过防火墙。运行以下命令相同。
firewall-cmd --zone=public --permanent --add-service=http
firewall-cmd --reload
现在您需要禁用 SELinux,因为代理配置不适用于 SELinux 策略。要在不重新启动服务器的情况下临时禁用 SELinux,请运行以下命令。
setenforce 0
要完全禁用 SELinux,您需要编辑 /etc/selinux/config 文件。
nano /etc/selinux/config
找到以下行:
SELINUX=enforcing
将其更改为:
SELINUX=disabled
现在使用网络浏览器完成安装,使用您喜欢的网络浏览器转到以下链接。
http://Your_Server_IP/cacti
您将看到以下页面。

接受许可协议以继续下一步。
在下一个界面中,您将看到预安装,满足所有必需的依赖项。

进入下一个界面。
在安装类型中,选择新建主服务器,然后继续下一步。

在下一个界面中,您需要提供二进制文件的位置。 RRDTool 和 PHP 二进制文件的路径是正确的。对于所有其他二进制文件,提供路径 /usr/bin/binary_name。例如,对于 snapwalk 二进制文件,路径是 /usr/bin/snmpwalk。

在下一个界面中,您将看到服务器对所有必需的文件夹具有写入权限。

在模板设置中,选择 Local Linux Machine 并单击 Finish。

您将被带到登录页。使用用户名 admin 和密码 admin 登录,您将被带到仪表板。

Cacti 的安装现已完成,您可以使用该应用程序使用交互式图形来监控您的服务器。