CentOS8-安装Cacti
安装环境依赖包
sudo dnf group install “Development Tools” -y
检查编译环境
gcc --version
安装开发工具后,还要安装SNMP软件包:
sudo dnf install -y net-snmp net-snmp-utils net-snmp-devel rrdtool rrdtool-devel
开机启动snmp
sudo systemctl enable --now snmpd
安装php和必需的扩展
在RHEL/CentOS 8上安装Cacti所需的PHP和扩展:
sudo dnf install -y @php
sudo dnf install -y php php-{mysqlnd,curl,gd,intl,pear,recode,ldap,xmlrpc,snmp,mbstring,gettext,gmp,json,xml,common}
验证PHP版本和加载的模块:
php -v
设置时区
vi /etc/php.ini
date.timezone = Asia/Shanghai //时区为上海
memory_limit = 400M //将PHP内存限制更改为400M
设置开机启动php-fpm服务:
sudo systemctl enable --now php-fpm
安装Apache Web服务器
sudo dnf install -y @httpd
设置开机启动:
sudo systemctl enable --now httpd
允许防火墙上的http和https端口:
sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload
安装MariaDB数据库
先更新yum
sudo yum -y upgrade
安装MariaDB数据库
sudo yum module install mariadb -y
确认已安装MariaDB的版本
rpm -qi mariadb-server
启动数据库
systemctl start mariadb
设置开机启动数据库
sudo systemctl enable --now mariadb
强化数据库安全
mysql_secure_installation
确保:
设置数据库root用户密码。删除匿名用户。禁止root用户远程登录。删除测试数据库并访问它。
3、完成后,使用root用户测试访问权限:
mysql -u root -p
安装数据库后,为Cacti Monitoring工具创建数据库和用户:
mysql -u root -p
CREATE DATABASE cacti;
GRANT ALL ON cacti.* TO ‘cacti’@‘localhost’ IDENTIFIED BY ‘Windows@2012’; //执行出错的话,执行下面的3句
CREATE USER ‘cacti’@‘localhost’ IDENTIFIED BY ‘Windows@2012’;
GRANT ALL ON cacti.* TO ‘cacti’@‘localhost’;
FLUSH PRIVILEGES;
exit
调整Cacti的MariaDB数据库
vi /etc/my.cnf.d/mariadb-server.cnf
在20行后面插入以下数据
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
max_heap_table_size=64M
tmp_table_size=64M
join_buffer_size=64M
innodb_buffer_pool_size=512M
innodb_doublewrite=OFF
innodb_flush_log_at_timeout=3
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_buffer_pool_instances=5
退出保存
重新启动mariadb服务:
sudo systemctl restart mariadb
下载配置Cacti
将最新版本的Cacti源码下载到系统中:
mkdir cacti && cd cacti
curl -SL https://www.cacti.net/downloads/cacti-latest.tar.gz | tar --strip 1 -xzf -
将cacti文件夹移动到/var/www/html目录:
cd … //回到上级目录
sudo mv cacti /var/www/html/
导入Cacti数据库数据:
mysql -u root -p cacti < /var/www/html/cacti/cacti.sql 如果报错,
请先进入数据库删除cacti这个数据库,drop database cacti;
然后再重新创建cacti, create database cacti;
再执行source /var/www/html/cacti/cacti.sql;
为cacti数据库用户设置mysql时区:
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
授予cacti MySQL数据库用户访问Timezone数据库的权限:
mysql -u root -p
输入密码之后进去数据库
MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO cacti@localhost;
MariaDB [(none)]> ALTER DATABASE cacti CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
MariaDB [(none)]> use cacti;
MariaDB [(cacti)]> GRANT ALL ON cacti.* TO ‘cacti’@‘localhost’ IDENTIFIED BY ‘Windows@2012’; //防止被挤掉权限,再次输入下
MariaDB [(cacti)]> FLUSH PRIVILEGES;
MariaDB [(cacti)]> exit;
然后来配置SELinux:
yum install -y policycoreutils-python-utils.noarch //如果报错,执行下面这句
yum -y install policycoreutils*
sudo semanage fcontext -a -t httpd_sys_rw_content_t “/var/www/html/cacti(/.*)?”
sudo restorecon -Rv /var/www/html/cacti
进行上述修改后,需要重启apache和php服务,运行以下命令:
sudo systemctl restart httpd php-fpm
配置Cacti,设置数据库连接参数:
vi /var/www/html/cacti/include/config.php
$database_type = ‘mysql’;
$database_default = ‘cacti’;
$database_hostname = ‘localhost’;
$database_username = ‘cacti’;
$database_password = ‘设置的密码’;
$database_port = ‘3306’;
创建Cacti系统日志文件:
touch /var/www/html/cacti/log/cacti.log
设置目录权限:
sudo chown -R apache:apache /var/www/html/cacti
设置定时任务:
sudo crontab -u apache -e
插入:
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
访问Cacti安装向导
在浏览器中访问http://ip/cacti
安装thold和monitor
安装thold和monitor
安装thold:
[root@localhost ~]# mkdir soft && cd soft //创建一个放下载下来的目录
[root@localhost soft]# wget https://github.com/Cacti/plugin_thold/archive/develop.zip
[root@localhost soft]# unzip develop.zip //解压
[root@localhost soft]# mv plugin_thold-develop/ thold //会解压出叫做plugin_thold-develop的文件夹,改成cacti熟悉的名称thold
[root@localhost soft]# cp -fr thold /var/www/html/cacti/plugins/ //拷贝到Cacti的plugin目录
[root@localhost soft]# rm -rf * //删除soft下面的所有文件
装Monitor:
[root@localhost soft]# wget https://github.com/Cacti/plugin_monitor/archive/develop.zip
[root@localhost soft]# unzip develop.zip
[root@localhost soft]# mv plugin_monitor-develop/ monitor //#解压出plugin_monitor-develop文件夹,更改为cacti能识别的名称monitor
[root@localhost soft]# cp -fr monitor /var/www/html/cacti/plugins/
启用插件:
在浏览器中访问http://ip/cacti
点击console—configuration—plugin,就会看到2个插件。点击