什么是Cacti?
Cacti 是一个完全开源的网络监控和绘图工具,被设计为行业标准数据记录工具 RRDtool 的前端应用程序。Cacti 利用 RRDTool 的数据存储和图形功能的强大功能。Cacti 的一些优秀功能包括:
- 快速轮询指标
- 支持多种数据采集方式
- 支持高级图形模板
- 使用 ACL 的用户管理功能
- Cacti 提供直观且易于使用的 Web 界面,可用于小型 LAN 安装到具有数千台服务器和网络设备的复杂网络。
在 Ubuntu 20.04/18.04 上安装 Cacti 服务器
Cacti 有许多依赖项需要安装和配置,然后才能部署 Cacti 服务器本身。本指南将一一介绍这些依赖项的安装:
步骤 1:更新系统并升级所有软件包
更新服务器包,以避免任何依赖问题:
sudo apt update
#设置时区
timedatectl set-timezone "Asia/Shanghai"
echo "LC_TIME=en_DK.UTF-8" >> /etc/default/locale
步骤2:安装 php 和所需的模块**
我们现在需要安装 php 和 cacti 所需的一些 php 模块。运行以下命令以获取并安装所有内容。
sudo apt -y install apache2 php php-{mysql,curl,net-socket,gd,intl,pear,imap,memcache,pspell,tidy,xmlrpc,snmp,mbstring,gmp,json,xml,common,ldap}
sudo apt -y install libapache2-mod-php
####没有 gmp 的解决,本文为PHP 7.4
sudo apt install php7.4-gmp
再运行
extension=php_gmp.so
或者您也可以使用以下方式安装bcmath扩展程序
sudo apt install php7.4-bcmath
最重要的模块是 php-snmp 和 php-mysql。确保它们已安装。您可以使用以下命令检查您的 php 版本:
php -v
更新PHP参数
sudo vim /etc/php/*/apache2/php.ini
sudo vim /etc/php/*/cli/php.ini
#两个文件中同时修改如下的内容
设置正确的时区:
date.timezone = Asia/Shanghai
更新内存限制:
memory_limit = 512M
还要调整每个脚本的最大执行时间:
max_execution_time = 300
步骤 3:配置 Apache Web 服务器
安装 Apache Web 服务器:
sudo apt -y install apache2
如果需要设置域名需配置/etc/apache2/apache2.conf,具体详情:链接。此处默认为ip地址访问
重启Apache Web服务器
systemctl restart apache2.service
systemctl enable apache2.service
如果您启用了 ufw,请在防火墙上打开 http 和 https 端口。
sudo ufw allow http
sudo ufw allow https
步骤4:安装和配置MariaDB 数据库
安装 MariaDB 服务器:
sudo apt install mariadb-server -y
在[mysqld]下添加以下设置:
sudo vim /etc/mysql/mariadb.conf.d/50-server.cnf
[mysqld]
innodb_file_format=Barracuda
innodb_large_prefix=1
collation-server=utf8mb4_unicode_ci
character-set-server=utf8mb4
innodb_doublewrite=OFF
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
#注释掉以下配置
#character-set-server = utf8mb4
#collation-server = utf8mb4_general_ci
重启 mariadb 服务
sudo systemctl restart mariadb