在Ubuntu 20.04上轻松安装和设置Cacti

在本教程中,您将学习如何在Ubuntu 20.04上轻松安装和设置Cacti。 仙人掌 是RRDTool的完整前端。 RRDTool是一个时序数据存储和显示系统。它在数据库中存储和显示时间序列数据(例如,网络带宽,机房温度,服务器平均负载)。它将数据存储在循环数据库(RRD)中,这是一种非常紧凑的方式,不会随时间扩展。 RRDtool处理提取的数据以增强一定的数据密度,从而可以用有用的图形表示数据值。 Cacti前端完全由PHP驱动。除了能够在数据库中维护图形,数据源和Round Robin存档外,仙人掌还可以处理数据收集。对于使用MRTG创建流量图的那些,也有SNMP支持。

仙人掌特色集锦

  • 远程数据收集器(轮询器)
  • 网络发现和自动化
  • 设备管理自动化
  • 扩展的颜色集
  • 增强的用户,组和域管理
  • 用户界面增强
  • 附加的RRDtool图形选项支持
  • 多个轮询间隔
  • 将近20个插件合并为核心

在Ubuntu 20.04上轻松安装和设置Cacti

先决条件

以下是设置仙人掌的要求;

  • RRDTool 1.0.49或更高,建议1.4+
  • MySQL 5.x或更高版本
  • PHP 5.1或更高版本
  • 支持PHP的Web服务器,例如Apache,Nginx

运行系统更新

首先,请确保您的系统软件包缓存是最新的;

apt update

在Ubuntu 20.04上安装RRDTool

如上面要求部分所述,建议将RRDTool 1.4+与仙人掌一起使用。在默认的Ubuntu 20.04存储库中,可以使用RRDTool 1.7.2。

apt-cache policy rrdtool
rrdtool:
  Installed: (none)
  Candidate: 1.7.2-3build2
  Version table:
     1.7.2-3build2 500
        500 http://ke.archive.ubuntu.com/ubuntu focal/main amd64 Packages

因此,您可以通过运行以下命令在Ubuntu 20.04上安装RRDTool;

apt install rrdtool -y

您还需要通过运行以下命令来安装SNMP。

apt install snmpd snmp snmp-mibs-downloader libsnmp-dev

在Ubuntu 20.04上安装和设置MySQL / MariaDB数据库

在Ubuntu 20.04上安装MariaDB 10.5

在此设置中,我们将使用MariaDB 10.5作为数据库后端。因此,运行以下命令在Ubuntu 20.04上安装和设置MariaDB 10.5;

apt-key adv --fetch-keys 'https://mariadb.org/mariadb_release_signing_key.asc'
add-apt-repository 'deb [arch=amd64] http://mariadb.mirror.globo.tech/repo/10.5/ubuntu focal main'
apt update
apt install mariadb-server mariadb-client

保护MariaDB

MariaDB附带了初始安全脚本,可以运行该脚本来删除测试数据库,禁止远程root登录,删除匿名用户。

mysql_secure_installation

创建仙人掌数据库和数据库用户

登录到MariaDB并创建Cacti数据库和数据库用户。确保相应地替换数据库名称以及用户名和密码。

mysql
create database rrdtooldb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
grant all on rrdtooldb.* to [email protected] identified by 'RRDTOOLDB_pass';

重新加载特权表并退出数据库;

flush privileges;
quit

优化用于仙人掌的MariaDB数据库

打开 /etc/mysql/mariadb.conf.d/50-server.cnf 文件,然后在 [mysqld] 部分以针对Cacti优化数据库。

vim /etc/mysql/mariadb.conf.d/50-server.cnf
...
# utf8 4-byte character set. See also client.cnf
character-set-server  = utf8mb4
character_set_client  = utf8mb4
collation-server      = utf8mb4_unicode_ci
...
...
max_heap_table_size=128M
tmp_table_size=128M
join_buffer_size=256M
innodb_file_format=Barracuda
innodb_large_prefix=1
innodb_buffer_pool_size=2048M
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_buffer_pool_instances=17
innodb_io_capacity=5000
innodb_io_capacity_max=10000
...

保存并退出文件,然后重新启动MariaDB;

systemctl restart mariadb

安装PHP和其他必需的模块

运行以下命令以安装PHP和其他必需的模块;

apt install php php-mysql php-curl php-net-socket php-gd php-intl php-pear php-imap php-memcache libapache2-mod-php php-pspell php-tidy php-xmlrpc php-snmp php-mbstring gettext php-gmp php-json php-xml php-ldap

设置PHP时区;

vim /etc/php/7.4/apache2/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Qatar

最大执行时间;

...
; Maximum execution time of each script, in seconds
; http://php.net/max-execution-time
; Note: This directive is hardcoded to 0 for the CLI SAPI
max_execution_time = 60
...

设置内存限制;

...
; Maximum amount of memory a script may consume (128MB)
; http://php.net/memory-limit
memory_limit = 400M
...

同样,在PHP INI CLI配置上设置时区。

vim /etc/php/7.4/cli/php.ini
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = "Asia/Qatar"

在Ubuntu 20.04上安装Apache Web Server

在此设置中,我们将Apache HTTP Server与Cacti一起使用。请注意,在安装PHP时,Apache也会随之安装。如果尚未安装,则可以按以下步骤安装;

apt install apache2

在Ubuntu 20.04上安装和设置Cacti

接下来,在Ubuntu 20.04上安装和设置Cacti。尽管该软件包在默认的Ubuntu Universe存储库中可用,但它是最新的稳定版本。

apt-cache policy cacti
cacti:
  Installed: (none)
  Candidate: 1.2.10+ds1-1ubuntu1
  Version table:
     1.2.10+ds1-1ubuntu1 500
        500 http://ke.archive.ubuntu.com/ubuntu focal/universe amd64 Packages

在撰写本文时,最新的稳定版本是 1.2.14,于08/02/20发布。

因此,将Cacti tarball存档下载并解压缩到默认的Web根目录。

wget https://www.cacti.net/downloads/cacti-latest.tar.gz

在此设置中,将使用/ var / www / html / cacti作为Cacti的Web根目录;

mkdir /var/www/html/cacti
tar xzf cacti-latest.tar.gz -C /var/www/html/cacti --strip-components=1

将Cacti Web根目录的所有权设置为Apache HTTP服务器用户;

chown -R www-data: /var/www/html/cacti/

导入默认的仙人掌数据库

将默认的Cacti数据库从提取的Web根目录导入到上面为Cacti创建的新数据库;

mysql -u rrdtooladmin -p -D rrdtooldb < /var/www/html/cacti/cacti.sql

将时区数据导入MariaDB数据库

将时区数据导入MariaDB数据库,并授予Cacti数据库用户SELECT权限访问 mysql.time_zone_name 表;

mysql -u root -p mysql < /usr/share/mysql/mysql_test_data_timezone.sql
mysql -u root
grant select on mysql.time_zone_name to [email protected];
quit

配置仙人掌数据库连接详细信息

导入完成后,打开Cacti配置文件, /var/www/html/cacti/include/config.php,并定义数据库连接详细信息。

vim /var/www/html/cacti/include/config.php
...
/*
 * Make sure these values reflect your actual database/host/user/password
 */

$database_type="mysql";
$database_default="rrdtooldb";
$database_hostname="localhost";
$database_username="rrdtooladmin";
$database_password = 'RRDTOOLDB_pass';
$database_port="3306";

创建Cacti Apache配置

接下来,为Cacti创建一个Apache配置。

vim /etc/apache2/conf-available/cacti.conf
Alias /cacti    /var/www/html/cacti

<Directory /var/www/html/cacti/>
        <IfModule mod_authz_core.c>
                Require all granted
        </IfModule>
</Directory>

保存并退出文件。

检查Apache配置语法;

apachectl configtest

如果你得到, Syntax OK,输出,重新启动Apache。否则修复任何错误。

systemctl restart apache2

如果UFW完全在运行,请在UFW上打开Apache;

ufw allow "Apache Full"

在Ubuntu 20.04上完成Cacti的安装和设置

访问Cacti Web界面

您现在可以通过URL访问Cacti Web界面, http://server-IP/cacti 按照我们的设置。

使用默认凭据登录, admin:admin 用户名和密码。

在Ubuntu 20.04上安装和设置Cacti

登录后,系统会提示您重设密码。请重设并继续。

接受最终用户许可协议;

在Ubuntu 20.04上轻松安装和设置Cacti

单击开始以执行安装前检查。如果有任何错误,请先解决,然后再继续。

在Ubuntu 20.04上轻松安装和设置Cacti

安装方式

在Ubuntu 20.04上轻松安装和设置Cacti

目录权限检查

在Ubuntu 20.04上轻松安装和设置Cacti

重要的二进制位置和版本。

在Ubuntu 20.04上轻松安装和设置Cacti

输入验证白名单保护

在Ubuntu 20.04上轻松安装和设置Cacti

默认配置文件和自动化网络

在Ubuntu 20.04上轻松安装和设置Cacti

模板设置

在Ubuntu 20.04上轻松安装和设置Cacti

服务器,数据库排序规则和表设置。

在Ubuntu 20.04上轻松安装和设置Cacti

仙人掌安装:选择 确认 安装 然后点击 安装 在Ubuntu 20.04上安装Cacti。

在Ubuntu 20.04上轻松安装和设置Cacti

安装完成后,单击“入门”以访问Cacti Web界面。

在Ubuntu 20.04上轻松安装和设置Cacti

Cacti Web控制台;

在Ubuntu 20.04上安装和设置Cacti

Cacti现在已安装并正在运行。这标志着本教程有关如何在Ubuntu 20.04上安装和设置Cacti的结尾。在下一个教程中,我们将学习如何使用Cacti监视设备指标。保持联系

参考

在Unix下安装Cacti

Sidebar