在RHEL/CentOS 8/7和Fedora 30上安装Cacti(网络监控)

言鼎科技 2023-07-12 400

Cacti 工具是一款面向 IT 业务的开源、基于 Web 的网络监控和系统监控图形解决方案。Cacti 使用户能够定期查询服务,以使用 RRDtool 对结果数据执行映射。它通常用于根据磁盘空间等指标来可视化时间序列数据。


在本指南中,我们将向您展示如何使用 DNF 包管理器工具在 RHEL、CentOS 和 Fedora 系统上使用 Net-SNMP 工具安装和配置名为 Cacti 的完整网络监控应用程序。


Cacti 需要在 Linux 系统(如 RHEL/CentOS/Fedora)上安装以下软件包。


Apache:一个显示由 PHP 和 RRDTool 生成的网络图的 Web 服务器。

MySQL:存储仙人掌数据的数据库服务器。

PHP:使用 RRDTool 的图形脚本平台。

PHP-SNMP :用于 SNMP 访问数据的 PHP 插件。

NET-SNMP:SNMP(简单网络管理协议)用于管理网络。

RRDTool :用于管理和检索时间线数据(例如 CPU 负载、网络带宽等)的数据库工具。

注意:此处显示的安装说明是在 CentOS 7.5 Linux 发行版上编写的。


在 RHEL/CentOS/Fedora 上安装所需的 Cacti 软件包


首先,我们需要使用默认的包管理工具一一安装以下依赖包,如图所示。


# yum install httpd httpd-devel [在 RHEL/CentOS 7/6 上]

# dnf install httpd httpd-devel [在 RHEL/CentOS 8 和 Fedora 30 上]


# yum install mysql mysql-server [在 RHEL/CentOS 6 上]

MariaDB 是社区开发的 MySQL 数据库项目的一个分支,提供了 MySQL 的替代方案。此前,官方支持的数据库是RHEL/CentOS和Fedora下的MySQL。


最近,RedHat 进行了从 MySQL 到 MariaDB 的新事务,因为 MariaDB 是 MySQL 在 RHEL/CentOS 8/7 和 Fedora 19 上的原始实现。


# yum install mariadb-server -y [在 RHEL/CentOS 7 上]

# dnf install mariadb-server -y [在 RHEL/CentOS 8 和 Fedora 30 上]


# yum 安装 php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli

或者

# dnf 安装 php-mysql php-pear php-common php-gd php-devel php php-mbstring php-cli


# yum 安装 php-snmp

或者

# dnf 安装 php-snmp         


# yum 安装 net-snmp-utils net-snmp-libs

或者

# dnf 安装 net-snmp-utils net-snmp-libs


# 百胜安装rrdtool

或者

#dnf安装rrdtool


监控 Apache、MySQL 和 SNMP 服务

安装完 Cacti 安装所需的所有软件后,让我们使用以下命令一一启动它们。


服务 httpd 启动

 服务 mysqld 启动

 服务 snmpd 启动

systemctl 启动 httpd.service

 systemctl 启动 mariadb.service

 systemctl 启动 snmpd.service

配置系统启动连接

配置 Apache、MySQL 和 SNMP 服务默认启动。


/sbin/chkconfig --levels 345 httpd 开启

 /sbin/chkconfig --levels 345 mysqld 开启

 /sbin/chkconfig --levels 345 snmpd 打开

systemctl 启用 httpd.service

 systemctl 启用 mariadb.service

 systemctl 启用 snmpd.service

在 RHEL/CentOS/Fedora 上安装 Cacti

此时您需要安装并运行 EPEL 存储库。创建存储库后,输入以下命令来安装 Cacti 应用程序。


# yum install cacti [在 RHEL/CentOS 7 上]

# dnf install cacti [在 RHEL/CentOS 8 和 Fedora 30 上]


为 Cacti 安装配置 MySQL 服务器

我们需要为 Cacti 配置 MySQL,为此我们需要保护新安装的 MySQL 服务器,然后使用 Cacti 用户创建一个 Cacti 数据库。如果您已经安装了 MySQL 并且它是安全的,那么您无需再次安装。


# mysql_secure_安装

使用新创建的密码登录MySQL服务器,并使用Cacti用户创建Cacti数据库并为其设置密码。


 mysql -u 根 -p

输入密码:

欢迎使用 MySQL 监视器。命令以 ; 结尾 或\g。

你的 MySQL 连接 ID 是 3

服务器版本:5.1.73 源码分发

版权所有 (c) 2000、2013,Oracle 和/或其附属公司。版权所有。

Oracle 是 Oracle Corporation 和/或其公司的注册商标

附属机构。其他名称可能是其各自的商标

拥有者。


输入“帮助”;或“\h”寻求帮助。键入“\c”以清除当前输入语句。


mysql>创建数据库 cacti ;

查询正常,1 行受影响(0.00 秒)


mysql>将 cacti.* 上的所有内容授予 [email IDENTIFIED BY 'howtoing' ;

查询正常,0 行受影响(0.00 秒)


mysql> FLUSH 权限;

查询正常,0 行受影响(0.00 秒)


mysql>退出;

再见

mysql -u 根 -p

输入密码:

欢迎使用 MariaDB 监视器。命令以 ; 结尾 或\g。

您的 MariaDB 连接 ID 是 3

服务器版本:5.5.41-MariaDB MariaDB服务器

版权所有 (c) 2000、2014,Oracle、MariaDB Corporation Ab 等。

输入“帮助”;或“\h”寻求帮助。键入“\c”以清除当前输入语句。


MariaDB [(无)]>创建数据库 cacti ;

查询正常,1 行受影响(0.00 秒)


MariaDB [(none)]> GRANT ALL ON cacti.* TO [email IDENTIFIED BY 'howtoing' ;

查询正常,0 行受影响(0.00 秒)


MariaDB [(无)]> FLUSH 权限;

查询正常,0 行受影响(0.00 秒)


MariaDB [(无)]>退出;

再见

使用 RPM 命令找到数据库的文件路径,要在新创建的 Cacti 数据库中安装 cacti 表,请使用以下命令。


# rpm -ql 仙人掌 | grep cacti.sql

/usr/share/doc/cacti-1.2.6/cacti.sql

或者

/usr/share/doc/cacti/cacti.sql

现在我们已经定义了Cacti.sql文件的位置,输入以下命令来插入表,这里需要输入Cacti用户密码。


mysql -u cacti -p cacti < /usr/share/doc/cacti-0.8.8b/cacti.sql

输入密码:


使用每个编辑器打开一个名为 /etc/cacti/db.php 的文件。


# vi /etc/cacti/db.php

进行以下更改并保存文件。确保您设置的密码正确。


/* 确保这些值反映您的实际数据库/主机/用户/密码 */

$database_type = “ mysql ”;

$database_default = “仙人掌”;

$database_hostname =“本地主机”;

$database_username = "仙人掌";

$database_password = "这里是你的密码";

$database_port = "3306";

$database_ssl = false;

仙人掌的厨房设计

iptables -A 输入 -p udp -m 状态 --state 新 --dport 80 -j 接受

 iptables -A 输入 -p tcp -m 状态 --state 新 --dport 80 -j 接受

 服务 iptables 保存

防火墙cmd --permanent --zone=public --add-service=http

 防火墙-cmd --重新加载

为 Cacti 安装配置 Apache 服务器

使用您选择的编辑器打开名为 /etc/httpd/conf.d/cacti.conf 的文件。


# vi /etc/httpd/conf.d/cacti.conf

您必须为每个本地网络或 IP 配置授予对 Cacti 应用程序的访问权限。例如,我们已授予对本地 LAN 网络 172.16.16.0/20 的访问权限。对你来说,情况会有所不同。


别名 /cacti /usr/share/cacti

 

<目录/usr/share/cacti/>

        订单拒绝、允许

        所有人都否认

        允许来自172.16.16.0/20

</目录>

在最新版本的 Apache(例如:Apache 2.4)中,您需要根据以下设置进行更改。


别名 /cacti /usr/share/cacti


<目录/usr/share/cacti/>

        <IfModule mod_authz_core.c>

                # httpd 2.4

                要求全部授予

        </如果模块>

        <IfModule!mod_authz_core.c>

                # httpd 2.2

                订单拒绝、允许

                所有人都否认

                允许所有

        </如果模块>

</目录>

最后,重新启动Apache服务。


service httpd restart [在 RHEL/CentOS 6 和 Fedora 18-12 上]

 systemctl restart httpd.service [在 RHEL/CentOS 8/7 和 Fedora 19 及以上]

Cacti 的 Cron 系统

Ʋu 文件 /etc/cron.d/cacti。


# vi /etc/cron.d/cacti

删除以下行。poller.php 脚本每 5 分钟运行一次,并从 Cacti 应用程序用于显示图像的已知主机收集数据。


#*/5 * * * * 仙人掌 /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

Cacti 安装程序安装运行

最后,Cacti 已准备就绪,只需访问 http://YOUR-IP-HERE/cacti/ 并按照安装程序指南完成以下屏幕即可。输入初始登录信息并按 Enter 按钮。


用户: 管理员

密码: 管理员


接下来,更改默认的 Cacti 密码。




接受 Cacti 许可协议。



接下来,屏幕将显示 Cacti 安装的预安装检查,请/etc/php.ini按所示更正文件中的建议设置,并在更改后重新启动 Apache。


内存限制=800M

最大执行时间 = 60

日期.时区 = 亚洲/加尔各答


同样,您还必须向用户 Cacti 授予对 MySQL TimeZone 数据库的访问权限,以便数据库中填充全局 TimeZone 数据。


mysql> 使用 mysql;

mysql> 将 mysql.time_zone_name 上的选择授予 [email ;

mysql> 刷新权限;


请选择安装类型为“新安装”。



在继续之前,请确保所有文件夹权限均正确。



在继续之前,请确保所有这些关键二进制位置和版本值均正确。



请选择用于投票源的默认数据源模板。



请选择您要在 Cacti 安装后使用的设备模板。



在 MySQL 配置文件 /etc/my.cnf 的 [mysqld] 部分下配置服务器排序规则,如图所示。


[mysqld]

字符集服务器=utf8mb4

排序规则服务器=utf8mb4_unicode_ci


您的 Cacti 服务器即将准备就绪。请确认您愿意继续。



有关更多信息和使用方法,请访问 Cacti 页面。


The End