在 Ubuntu 20.04 上安装仙人掌

介绍

Cacti 是一种开源网络监控工具,它使用简单网络管理协议 (SNMP) 来监控网络设备(如路由器和交换机)的网络流量和带宽利用率。 它作为循环数据库(RRDtool)的前端应用程序,以图形格式存储和显示时间序列数据。 在本文中,您将学习如何在 Ubuntu 20.04 服务器上安装 Cacti 监控工具。

先决条件

部署一个完全更新的 Vultr Ubuntu 20.04 服务器。 创建具有 sudo 访问权限的非 root 用户。 在您的服务器上安装 LAMP。

1.配置PHP

编辑第一个 php.ini 文件。

$ sudo nano /etc/php/*/apache2/php.ini

更改以下行并确保取消注释 date.timezone 价值。 要搜索特定行,请使用 CTRL+W,输入搜索短语,然后按 ENTER 保存并关闭文件。

memory_limit = 512M
max_execution_time = 300
date.timezone = "Africa/Nairobi"

编辑第二个 php.ini 文件。

$ sudo nano /etc/php/*/cli/php.ini

更改以下几行。 保存并关闭文件。

memory_limit = 512M
max_execution_time = 300
date.timezone = "Africa/Nairobi"

重新启动 Apache 服务以应用更改。

$ sudo systemctl restart apache2

2. 配置 MariaDB 服务器

编辑 MariaDB 默认配置文件。

$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

修改以下几行。 保存并关闭文件。

innodb_file_format=Barracuda
innodb_large_prefix=1
collation-server=utf8mb4_unicode_ci
character-set-server=utf8mb4
innodb_doublewrite=ON
max_heap_table_size=128M
tmp_table_size=128M
join_buffer_size=128M
innodb_buffer_pool_size=1G
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_io_capacity=5000
innodb_io_capacity_max=10000
innodb_buffer_pool_instances=9

请务必注释掉以下代码以避免配置问题:

# collation-server = utf8mb4_general_ci

重新启动 MariaDB 服务以应用更改。

$ sudo systemctl restart mariadb

登录到 MariaDB 外壳。

$ sudo mysql -u root -p

创建一个名为的数据库 cactidb.

CREATE DATABASE cactidb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

授予已创建数据库的所有权限 cactiuser.

GRANT ALL ON cactidb.* TO [email protected] IDENTIFIED BY 'StrongPassword';

刷新特权。

FLUSH PRIVILEGES;

退出 MariaDB 外壳。

exit;

将时区数据导入 MySQL 数据库。

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

登录到 MariaDB 外壳。

$ sudo mysql -u root -p

授予 MySQL 时区所需的权限。

GRANT SELECT ON mysql.time_zone_name TO [email protected];

刷新特权。

FLUSH PRIVILEGES;

退出 MariaDB 外壳。

exit;

3.安装仙人掌

从其下载最新版本的 Cacti 官方网站. 您可以使用以下命令下载它:

$ wget https://files.cacti.net/cacti/linux/cacti-latest.tar.gz

提取下载的文件。

$ sudo tar -zxvf cacti-latest.tar.gz

将提取的目录移动到 Apache 根目录。

$ sudo mv cacti-1* /var/www/html/cacti

将数据库导入到 cactidb.

$ sudo mysql -u root -p cactidb < /var/www/html/cacti/cacti.sql

编辑仙人掌配置文件 config.php.

$ sudo nano /var/www/html/cacti/include/config.php

更改以下几行,保存并关闭文件。

$database_type="mysql";
$database_default="cactidb";
$database_hostname="localhost";
$database_username="cactiuser";
$database_password = 'StrongPassword';
$database_port="3306";

创建日志文件。

$ sudo touch /var/www/html/cacti/log/cacti.log

设置 cacti 目录的所有权和权限。

$ sudo chown -R www-data:www-data /var/www/html/cacti/
$ sudo chmod -R 775 /var/www/html/cacti/

创建一个新的 Cacti cron 作业文件。

$ sudo nano /etc/cron.d/cacti

添加以下行,保存并关闭文件。

*/5 * * * * www-data php /var/www/html/cacti/poller.php > /dev/null 2>&1

4.配置Apache

为 Cacti 创建一个 Apache 虚拟主机配置文件。

$ sudo nano /etc/apache2/sites-available/cacti.conf

添加以下行,保存并关闭文件。

Alias /cacti /var/www/html/cacti

<Directory /var/www/html/cacti>
    Options +FollowSymLinks
    AllowOverride None

    <IfVersion >= 2.3>
        Require all granted
    </IfVersion>

    <IfVersion < 2.3>
        Order Allow,Deny
        Allow from all
    </IfVersion>

    AddType application/x-httpd-php .php

    <IfModule mod_php.c>
          php_flag magic_quotes_gpc Off
          php_flag short_open_tag On
          php_flag register_globals Off
          php_flag register_argc_argv On
          php_flag track_vars On
          # this setting is necessary for some locales
          php_value mbstring.func_overload 0
          php_value include_path .
     </IfModule>

    DirectoryIndex index.php
</Directory>

启用 Cacti 配置文件。

$ sudo a2ensite cacti

重新启动 Apache 服务以应用配置。

$ sudo systemctl restart apache2

验证 Apache 服务的状态。

$ sudo systemctl status apache2

5. 访问 Cacti 网页界面

打开 Web 浏览器并使用 URL 访问 Cacti Web 界面 http://ServerIP/cacti. 例如:

http://192.0.2.10/cacti

结论

您已在服务器上成功安装 Cacti。 要登录,请使用 行政 作为您的用户名和 行政 作为你的密码。 您将访问密码重置屏幕以更改您的管理员密码。 您现在可以配置 Cacti。

更多信息

有关 Cacti 的更多信息,请参阅 官方文件.

注:本教程在Vultr VPS上测试通过,如需部署请前往Vultr.com