如何在CentOS 8上安装Cacti Monitoring Server

如何在CentOS 8上安装Cacti Monitoring Server

Cacti是一个免费,开源且功能强大的基于Web的网络监视和绘图工具。它用于以图形方式监视系统性能,CPU负载和网络带宽利用率。这使您可以定期轮询服务并以图形方式显示结果数据。它是用PHP编写的RRDTool的完整前端,并使用MySQL数据库存储您需要的所有信息。

本教程将向您展示如何在CentOS 8上安装Cacti Monitoring Tool。

先决条件

  • 运行CentOS 8且至少具有2GB RAM的服务器。
  • 根密码是在服务器上设置的。

入门

首先,我们建议您将系统软件包更新为最新版本。您可以使用以下命令更新它:

dnf update -y

更新所有软件包后,使用以下命令安装Cacti所需的其他依赖项。

dnf install net-snmp net-snmp-utils net-snmp-libs rrdtool -y

安装所有依赖项之后,使用以下命令启动SNMP服务,以便可以在启动时启动它。

systemctl start snmpdsystemctl enable snmpd

完成后,您可以继续下一步。

安装LAMP服务器

接下来,您需要在系统上安装Apache Web服务器,MariaDB数据库服务器,PHP和其他必需的PHP扩展。您可以使用以下命令将它们全部安装:

dnf install httpd mariadb-server 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 -y

一旦安装了所有软件包,请启动HTTP和MariaDB服务,以便可以在启动时使用以下命令启动它们:

systemctl start httpdsystemctl start mariadbsystemctl enable httpdsystemctl enable mariadb

接下来,您需要编辑php.ini文件并进行一些更改。

nano /etc/php.ini
date.timezone = Asia/Kolkata
memory_limit = 512M
max_execution_style = 60

完成后,您可以继续下一步。

配置MariaDB数据库

接下来,您需要创建一个仙人掌数据库和用户。首先,使用以下命令登录MariaDB Shell:

mysql

登录后,使用以下命令创建Cacti数据库和用户。

MariaDB [(none)]> create database cactidb;MariaDB [(none)]> GRANT ALL ON cactidb.* TO [email protected] IDENTIFIED BY 'password';

然后刷新特权并使用以下命令退出MariaDB Shell。

MariaDB [(none)]> flush privileges;MariaDB [(none)]> exit;

接下来,您需要编辑MariaDB配置文件并调整一些设置。可以通过编辑文件/etc/my.cnf.d/mariadb-server.cnf来完成。

nano /etc/my.cnf.d/mariadb-server.cnf

在其中添加以下行 [mysqld] 部分:

collation-server=utf8mb4_unicode_ci
character-set-server=utf8mb4
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_read_io_threads=32
innodb_write_io_threads=16
innodb_io_capacity=5000
innodb_file_format=Barracuda
innodb_large_prefix=1
innodb_io_capacity_max=10000

完成后,保存并关闭文件,然后重新启动MariaDB服务以应用更改。

systemctl restart mariadb

然后使用以下命令将mysql_test_data_timezone.sql导入mysql数据库:

mysql -u root -p mysql < /usr/share/mariadb/mysql_test_data_timezone.sql

然后登录到MySQL,并允许仙人掌用户访问mysql.time_zone_name表。

mysql

登录后,运行以下命令来授予访问权限。

MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO [email protected];

然后刷新特权,并使用以下命令退出MariaDB Shell:

MariaDB [(none)]> flush privileges;MariaDB [(none)]> exit;

完成后,您可以继续下一步。

仙人掌的安装和配置

默认情况下,Cacti在CentOS 8默认存储库中不可用。因此,您需要将EPEL存储库添加到系统中。

您可以使用以下命令进行安装。

dnf install epel-release -y

安装存储库后,使用以下命令安装Cacti。

dnf install cacti -y

安装仙人掌后,请使用以下命令确认仙人掌的安装。

rpm -qi cacti

您应该获得以下输出:

Name        : cacti
Version     : 1.2.14
Release     : 1.el8
Architecture: noarch
Install Date: Wednesday 07 October 2020 01:04:02 AM EDT
Group       : Unspecified
Size        : 56217780
License     : GPLv2+
Signature   : RSA/SHA256, Thursday 06 August 2020 05:06:22 AM EDT, Key ID 21ea45ab2f86d6a1
Source RPM  : cacti-1.2.14-1.el8.src.rpm
Build Date  : Thursday 06 August 2020 04:54:10 AM EDT
Build Host  : buildvm-a64-27.iad2.fedoraproject.org
Relocations : (not relocatable)
Packager    : Fedora Project
Vendor      : Fedora Project
URL         : https://www.cacti.net/
Bug URL     : https://bugz.fedoraproject.org/cacti
Summary     : An rrd based graphing tool
Description :
Cacti is a complete frontend to RRDTool. It stores all of the
necessary information to create graphs and populate them with
data in a MySQL database. The frontend is completely PHP
driven.

然后使用以下命令将Cacti数据导入Cacti数据库:

mysql -u root -p cactidb < /usr/share/doc/cacti/cacti.sql

然后编辑Cacti配置文件以定义数据库设置。

nano /usr/share/cacti/include/config.php

修改与数据库匹配的以下行:

$database_type="mysql";
$database_default="cactidb";
$database_hostname="localhost";
$database_username="cacti";
$database_password = 'password';
$database_port="3306";
$database_retries  = 5;
$database_ssl      = false;

完成后,保存并关闭文件以为Cacti创建Cron文件。

nano /etc/cron.d/cacti

添加以下行。

*/5 * * * *   apache /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1

完成后,保存文件并关闭它。

完成后,您可以继续下一步。

为Cacti配置Apache

接下来,您需要为Cacti创建一个Apache虚拟主机配置文件。您可以使用以下命令创建它。

nano /etc/httpd/conf.d/cacti.conf

查找以下行:广告

Alias /cacti    /usr/share/cacti

<Directory /usr/share/cacti/>
        <IfModule mod_authz_core.c>
               	# httpd 2.4
                Require host localhost
        </IfModule>
        <IfModule !mod_authz_core.c>
               	# httpd 2.2
                Order deny,allow
                Deny from all
                Allow from localhost
        </IfModule>
</Directory>

然后用下一行替换它们。

Alias /cacti    /usr/share/cacti

<Directory /usr/share/cacti/>
        <IfModule mod_authz_core.c>
               	# httpd 2.4
                Require all granted
        </IfModule>
        <IfModule !mod_authz_core.c>
               	# httpd 2.2
                Order deny,allow
                Deny from all
                Allow from all
        </IfModule>
</Directory>

完成后,保存文件,将其关闭,然后重新启动Apache和PHP-FPM服务以应用您的更改。

systemctl restart httpdsystemctl restart php-fpm

您还可以使用以下命令检查Apache的状态:

systemctl status httpd

您应该获得以下输出:

? httpd.service - The Apache HTTP Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/httpd.service.d
           ??php-fpm.conf
   Active: active (running) since Wed 2020-10-07 01:10:35 EDT; 58s ago
     Docs: man:httpd.service(8)
 Main PID: 5159 (httpd)
   Status: "Running, listening on: port 80"
    Tasks: 213 (limit: 12523)
   Memory: 28.7M
   CGroup: /system.slice/httpd.service
           ??5159 /usr/sbin/httpd -DFOREGROUND
           ??5161 /usr/sbin/httpd -DFOREGROUND
           ??5162 /usr/sbin/httpd -DFOREGROUND
           ??5163 /usr/sbin/httpd -DFOREGROUND
           ??5164 /usr/sbin/httpd -DFOREGROUND

Oct 07 01:10:35 centos8 systemd[1]: Stopped The Apache HTTP Server.
Oct 07 01:10:35 centos8 systemd[1]: Starting The Apache HTTP Server...
Oct 07 01:10:35 centos8 httpd[5159]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::200:45>
Oct 07 01:10:35 centos8 systemd[1]: Started The Apache HTTP Server.
Oct 07 01:10:35 centos8 httpd[5159]: Server configured, listening on: port 80

此时,Apache Web服务器已配置为服务Cacti。现在,您可以继续下一步。

配置防火墙和SELinux

接下来,您需要通过firewalld允许http和https服务。您可以使用以下命令允许它们:

firewall-cmd --permanent --zone=public --add-service=httpfirewall-cmd --permanent --zone=public --add-service=httpsfirewall-cmd --reload

接下来,您还需要在系统上禁用SELinux。

您可以通过编辑/ etc / selinux / config文件来禁用SELinux。

nano /etc/selinux/config

找到下一行。

SELINUX=enforcing

然后将其替换为下一行。

SELINUX=permissive

保存并关闭文件,然后重新启动系统以应用您的更改。

访问Cacti Web界面

然后打开Web浏览器并使用URL http:// your-server-ip / cacti访问Cacti Web界面。 您将被重定向到Cacti登录页面。

输入默认的用户名和密码admin / admin,然后单击。 登录 按钮。 显示仙人掌密码更改屏幕。

修改密码

输入默认密码和新密码, 按钮。 显示“仙人掌许可协议”页面。

接受许可证

接受许可协议,然后单击 开始 按钮。进入安装前检查页面。

安装前检查

确保已安装所有软件包,然后 下一个 按钮。显示下一页。

请选择安装类型

选择安装类型,然后单击 下一个 按钮。显示目录权限检查页面:Ads

目录权限

请点击 下一个 按钮。显示下一页。

检查二进制文件的位置

请点击 下一个 按钮。显示输入验证页面。

输入验证白名单

选中复选框,然后单击 下一个 按钮。显示配置文件页面。

默认配置文件

指定网络范围,然后单击 下一个 按钮。显示模板设置页面。

范本设定

选择所需的模板,然后单击 下一个 按钮。显示下一页。

服务器匹配

然后打开一个终端,登录到MySQL Shell,然后运行以下命令来更改字符集。

MariaDB [(none)]> ALTER DATABASE cactidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;MariaDB [(none)]> flush privileges;MariaDB [(none)]> exit;

然后返回到“仙人掌安装向导”并单击[下一个 按钮。显示下一页。

确认安装

确认安装并单击 安装 按钮。安装完成后,将显示下一页。

安装成功完成

请点击 得到 开始 按钮。仙人掌仪表板显示在下一页上。

仙人掌仪表板

请点击 图形 => 本地Linux机器..下一页显示有关本地计算机的信息。

使用Cacti进行服务器监视

结论

恭喜!仙人掌网络监控工具现已成功在Ubuntu 20.04上安装并配置。您现在可以在客户端计算机上安装Cacti代理,将它们添加到Cacti服务器,然后开始监视。如有任何疑问,请随时与我们联系。

Sidebar