如何在Rhel 8/CentOS 8上安装Cacti
本教程将介绍如何在RHEL 8/CentOS上安装和配置CACTI 8.监控是任何基础架构的关键组件。
CACTI是一个完全开源的网络监控和绘图工具,被设计为行业标准数据记录工具的前端应用程序 - RRDTool。
CACTI利用RRDTOOL数据存储和图形功能的力量。
Cacti 的一些很好的功能包括:用于多个数据采集方法的MetricsUpport的快速轮询,用于ACL的高级图形模板管理功能
CACTI提供了直观且易于使用的Web界面,用于管理网络监控和配置。
在RHEL 8/CentOS 8上建立和运行CACTI需要依赖性所需的依赖项。
此部分将介绍每个组件的安装和配置。
第1步:安装构建工具和系统依赖项
从安装开发工具集启动。
在Rhel/CentOS 8上安装GCC和开发工具
安装开发工具后,安装SNMP包。
sudo dnf install -y net-snmp net-snmp-utils rrdtool
第2步:安装PHP和所需的扩展
在RHEL/CentOS 8上安装Cacti所需的PHP和扩展。
sudo dnf install @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 PHP 7.2.11 (cli) (built: Oct 9 2016 15:09:36) ( NTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.2.0, Copyright (c) 1998-2016 Zend Technologies
在内部设置PHP TimeZone /etc/php.ini
文件。
$grep date.timezone /etc/php.ini ; http://php.net/date.timezone date.timezone = Africa/Nairobi
将PHP内存限制更改为 400M
limit.memory_limit = 400M
开始 php-fpm
服务。
sudo systemctl enable --now php-fpm
确认状态。
$systemctl status php-fpm ● php-fpm.service - The PHP FastCGI Process Manager Loaded: loaded (/usr/lib/systemd/system/php-fpm.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2019-03-17 10:23:52 EAT; 5s ago Main PID: 31139 (php-fpm) Status: "Ready to handle connections" Tasks: 6 (limit: 11510) Memory: 38.2M CGroup: /system.slice/php-fpm.service ├─31139 php-fpm: master process (/etc/php-fpm.conf) ├─31140 php-fpm: pool www ├─31141 php-fpm: pool www ├─31142 php-fpm: pool www ├─31143 php-fpm: pool www └─31144 php-fpm: pool www Mar 17 10:23:52 rhel8.local systemd[1]: Starting The PHP FastCGI Process Manager… Mar 17 10:23:52 rhel8.local systemd[1]: Started The PHP FastCGI Process Manager.
第3步:安装Apache Web服务器
使用以下命令安装Apache Httpd Server。
sudo dnf install @httpd
启动并启用服务以启动启动。
sudo systemctl enable --now httpd
状态应指示运行。
$systemctl status httpd ● httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/httpd.service.d └─php-fpm.conf Active: active (running) since Sun 2019-03-17 10:49:20 EAT; 2s ago Docs: man:httpd.service(8) Main PID: 32106 (httpd) Status: "Started, listening on: port 443, port 80" Tasks: 213 (limit: 11510) Memory: 29.2M CGroup: /system.slice/httpd.service ├─32106 /usr/sbin/httpd -DFOREGROUND ├─32108 /usr/sbin/httpd -DFOREGROUND ├─32109 /usr/sbin/httpd -DFOREGROUND ├─32110 /usr/sbin/httpd -DFOREGROUND └─32111 /usr/sbin/httpd -DFOREGROUND Mar 17 10:49:20 rhel8.local systemd[1]: Starting The Apache HTTP Server… Mar 17 10:49:20 rhel8.local httpd[32106]: Server configured, listening on: port 443, port 80 Mar 17 10:49:20 rhel8.local systemd[1]: Started The Apache HTTP Server.
防火墙上允许HTTP和HTTPS端口。
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
参考:如何使用Rhel 8上使用Mod_ssl&Mod_http2安装Apache
第4步:安装和配置数据库服务器
我们可以选择使用MySQL或者MariaDB数据库服务器。
如果我们没有安装,则以下教程应该有所帮助。
如何在RHEL 8/CentOS 8上安装MySQL 8.0
如何在Rhel 8/CentOS 8上安装MariaDB
在数据库服务器安装后,为CACTI监控工具创建数据库和用户。
$mysql -u root -p CREATE DATABASE cacti; GRANT ALL ON cacti.* TO 'cacti'@'localhost' IDENTIFIED BY 'StrongDBPassword'; FLUSH PRIVILEGES; exit
调整 Cacti 的Mariadb数据库
在[mysqld]设置下添加以下设置 /etc/my.cnf.d/mariadb-server.cnf
[mysqld] 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
第5步:下载并配置 Cacti
下载最新版本的Cacti tar包到系统。
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数据库用户设置MySQL时区。
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Grant Cacti MySQL数据库用户访问TimeZone数据库:
$mysql -u root -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 12 Server version: 10.3.10-MariaDB MariaDB Server Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> GRANT SELECT ON mysql.time_zone_name TO Hyman@theitroad; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> ALTER DATABASE cacti CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.001 sec) MariaDB [(none)]> QUIT Bye
配置selinux。
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/var/www/html/cacti(/.*)?" sudo restorecon -Rv /var/www/html/cacti
我们需要在进行上述修改后重新启动Apache服务,
sudo systemctl restart httpd php-fpm
配置Cacti.
编辑文件 /var/www/html/cacti/include/config.php
并设置数据库连接参数。
$database_type = 'mysql'; $database_default = 'cacti'; $database_hostname = 'localhost'; $database_username = 'cacti'; $database_password = 'StrongDBPassword'; $database_port = '3306'; .............
代替 StrongDBPassword
使用CACTI用户数据库密码。
完成后。
保存文件并退出。
创建Cacti系统日志文件。
touch /var/www/html/cacti/log/cacti.log
设置目录权限
sudo chown -R apache:apache /var/www/html/cacti
设置cacti cron作业。
sudo crontab -u apache -e
在下面添加。
*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
第6步:访问CACTI安装向导
访问CACTI安装向导接口 http://[ServerIP/Hostname]/cacti
。
默认登录是:
Username: admin Password: admin
在下一个屏幕上更改密码。
新密码应该:包含至少1个数字字符!包含至少1个特殊字符!
接受GPL许可协议,然后单击"开始"
所有预安装检查应显示绿色。
在下一个窗口中选择安装类型。
确保目录权限检查都可以。
确认所有二进制文件都在找到并单击"下一步"。
选择轮询源的默认数据源配置文件。
选择安装后要使用的设备模板。
确认数据库设置可以。
确认安装。
安装应该启动,等待它完成,然后访问Cacti管理Web仪表板。
第7步:用 Cacti 监视Linux服务器
开始和启用 snmpd
守护进程开始。
sudo systemctl enable --now snmpd
确认它正在运行。
$systemctl status snmpd ● snmpd.service - Simple Network Management Protocol (SNMP) Daemon. Loaded: loaded (/usr/lib/systemd/system/snmpd.service; enabled; vendor preset: disabled) Active: active (running) since Sun 2019-03-17 12:24:50 EAT; 4s ago Main PID: 3129 (snmpd) Tasks: 1 (limit: 11510) Memory: 4.9M CGroup: /system.slice/snmpd.service └─3129 /usr/sbin/snmpd -LS0-6d -f Mar 17 12:24:49 rhel8.local systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon…. Mar 17 12:24:50 rhel8.local snmpd[3129]: NET-SNMP version 5.8 Mar 17 12:24:50 rhel8.local systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..
添加Linux服务器以进行监视。
登录Cacti作为管理员用户并转到:
控制台>创建>新设备
提供服务器详细信息并保存配置。