Cacti是一个基于PHP和MySQL的网络开源监控工具。它是一个强大的网络监控和图形工具,使用SNMP(简单网络管理协议)来收集和存储数据在RRDTool(循环数据库工具)数据引擎中。RRDtool还负责创建图形。
Cacti具有一些伟大的功能,并已成为基于图形监控任务的最佳工具之一。它适用于不同类型的企业。它很适合ISP(互联网服务提供商)等公司,因为Cacti提供了广泛的硬件监控功能。它也适用于专用服务器供应商,因为它支持多个用户,每个用户可以创建自己的图表。
Cacti是一个可扩展的框架,用于运营监控和故障管理。它为不同的设备和不同的图形/集合体/图形模板提供了多种模板。它还可以与不同类型的网络服务器一起运行,如Apache/httpd和Nginx。
本指南将教你如何在Rocky Linux系统上安装cacti监控工具。Cacti是基于PHP和MySQL的,所以你也将安装这些软件包。此外,你还将安装httpd web服务器。
下面是我们安装cacti的环境示例:
现在让我们开始安装cacti监控工具
首先,你必须为cacti安装一些软件包的依赖项。你必须使用root/sudo权限运行以下所有命令。
1. 使用下面的命令将EPEL(Extra Packages for Enterprise Linux)软件库添加到Rocky Linux系统中
sudo dnf install epel-release
输入'y'并按'Enter'继续安装:
2. 使用下面的命令安装httpd web服务器
sudo dnf install httpd -y
sudo systemctl enable --now httpd
sudo systemctl is-enabled httpd
3. 接下来,必须在系统中安装PHP。默认情况下,Rocky Linux资源库提供了多个版本的PHP。而你要安装的是资源库中的最新版本,即PHP 7.4。
使用下面的dnf命令启用7.4版本的PHP模块。
dnf module enable php:7.4
输入'y'确认并按'Enter'。
现在执行下面的 DNF 命令来安装 PHP 包。
sudo dnf install -y php php-xml php-session php-sockets php-ldap php-gd php-json php-mysqlnd php-gmp php-mbstring php-posix php-snmp php-intl
当 PHP 包安装完成后,使用 nano/vim 编辑器编辑 '/etc/php.ini' 配置。
nano /etc/php.ini
取消对选项'date.timezone'的注释,输入你当前的时区。
date.timezone = Europe/Amsterdam
修改选项'memory_limit'和'max_execution_time',如下所示。
memory_limit = 512M
max_execution_time = 60
保存配置并退出。
现在重新加载 httpd 服务以应用并完成 PHP 配置。
sudo systemctl restart httpd
4. 在安装完所有这些包之后,你必须安装SNMP和rrdtool。
SNMP被cacti用来收集设备信息,rrdtool用来将收集到的数据存储为.rra格式,然后在cacti仪表板上显示为图形信息。
使用下面的dnf命令安装SNMP和rrdtool。
sudo dnf install -y net-snmp net-snmp-utils net-snmp-libs rrdtool -y
安装完成后,使用下面的命令启动并启用SNMP服务。
sudo systemctl enable --now snmpd
sudo systemctl is-enabled snmpd
现在进入下一阶段,安装和配置MariaDB数据库。
在这一步,你将在Rocky Linux系统上安装和配置mariadb数据库。同时,你将为mariadb数据库添加一些额外的配置,作为cacti的要求和建议。
1. 执行下面的DNF命令,在你的系统上安装mariadb软件包。
sudo dnf install -y @mariadb
等待所有软件包的安装完成。
2. 2.接下来,改变你的当前工作目录到'/etc/my.cnf.d'目录,用nano/vim编辑mariadb配置'mariadb-server.conf'。
cd /etc/my.cnf.d/
nano mariadb-server.cnf
在'[mysqld]'行下粘贴以下配置。这个配置是基于cacti的安装要求。
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
innodb_file_format = Barracuda
max_heap_table_size=32M
tmp_table_size=32M
join_buffer_size=64M
# 25% Of Total System Memory
innodb_buffer_pool_size=1GB
# pool_size/128 for less than 1GB of memory
innodb_buffer_pool_instances=10
innodb_flush_log_at_timeout=3
innodb_large_prefix=1
innodb_read_io_threads=32
innodb_write_io_threads=16
innodb_io_capacity=5000
innodb_io_capacity_max=10000
log-error = /var/log/mariadb/mariadb-error.log
log-queries-not-using-indexes = 1
slow-query-log = 1
slow-query-log-file = /var/log/mariadb/mariadb-slow.logSave the configuration and exit.
3. 接下来,使用以下命令启动并启用mariadb服务。
sudo systemctl enable --now mariadb
检查当前的mariadb服务。
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
确保mariadb服务处于活动状态,并且正在运行。下面是你将得到的类似输出。
4. 在所有mariadb配置完成后,将你系统中可用的时区表加载并填充到默认的数据库 "mysql "中。
使用以下命令将时区表加载并填充到数据库 "mysql "中。
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
输入你的mariadb根密码,然后按'Enter'键。现在继续下一步,为Cacti安装创建一个新的数据库和用户。
在这一步,你将创建一个新的mariadb数据库和用户。
首先,使用下面的mysql命令登录到mysql shell中。
mysql -u root -p
输入你的mariadb根密码,然后按'Enter'键。
1. 使用下面的查询创建一个新的数据库 "cacti"。
create database if not exists cacti;
2. 创建一个新的用户'cactiuser',并将'cacti'的所有数据库权限授予这个新用户。
CREATE USER 'cactiuser'@'localhost' IDENTIFIED BY 'cacti_password';
GRANT ALL PRIVILEGES ON cacti.* TO 'cactiuser'@'localhost';
3. 另外,你必须授予用户'cactiuser'在'time_zone_name'表上的'SELECT'特权(该表在数据库'mysql'上可用)。
GRANT SELECT ON mysql.time_zone_name TO 'cactiuser'@'localhost';
现在重新加载所有表的权限并输入'exit'。
FLUSH PRIVILEGES;
exit
现在仙人掌的所有要求都已安装完毕,你可以准备安装仙人掌监控工具了。
默认情况下,EPEL仓库提供了cacti包,并准备安装。EPEL仓库中的cacti的版本是1.2.17,cacti官方网站上的当前版本是1.2.19。
在这一步,你将在Rocky Linux系统上安装和配置cacti。
1. 执行下面的DNF命令,在你的系统上安装cacti。
sudo dnf install cacti
输入'y'来确认,然后按'Enter'。
而所有仙人掌的源代码将在'/usr/share/cacti/'目录下可用。
2. 在cacti安装完成后,使用下面的mysql命令将数据库模式导入到'cacti'数据库中。
mysql -u cactiuser -p cacti < /usr/share/doc/cacti/cacti.sql
输入'cactiuser'的密码,对于这个例子,密码是'cacti_password'。
3. 接下来,使用nano/vim编辑器编辑cacti配置"/usr/share/cacti/cacti.php"。
nano /usr/share/cacti/include/config.php
改变详细的数据库配置,如下所示。
$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'localhost';
$database_username = 'cactiuser';
$database_password = 'cacti_password';
$database_port = '3306';
保存配置并退出。
4. 默认情况下,仙人掌的安装只能从本地主机访问。为了允许从外部网络访问,编辑仙人掌的httpd配置。
使用nano/vim编辑器编辑配置"/etc/httpd/conf.d/cacti.conf"。
nano /etc/httpd/conf.d/cacti.conf
将 "Require host localhost "选项改为 "Require all granted",如下所示。
Require all granted
保存配置并退出。
现在重新启动 httpd 服务以应用新的配置。
sudo systemctl restart httpd
5. 接下来,编辑cron配置"/etc/cron.d/cacti "以启用cacti轮询器。
nano /etc/cron.d/cacti
取消对下面这一行的注释。
*/5 * * * * apache /usr/bin/php /usr/share/cacti/poller.php > /dev/null 2>&1
保存配置并退出。
6. 如果你已经在服务器上运行了firewalld,使用下面的命令将HTTP和HTTPS服务添加到firewalld中。
firewall-cmd add-service=http --permanent
firewall-cmd --reload
现在你已经完成了cacti的基本配置。进入下一步,开始并完成Cacti安装向导。
打开你的网页浏览器,输入服务器IP地址和路径'/cacti',访问设置页面/安装向导。
http://192.168.1.10/cacti/
1. 一开始,你会被重定向到安装登录页面,如下图。
用默认用户 "admin "和密码 "admin "登录,然后点击 "登录 "按钮。
2. 用强密码修改默认密码'admin'并重复,然后点击'保存'按钮。
3. 对于许可协议,Cacti使用了GPL许可。
在 "接受GPL许可协议 "选项上打勾,然后点击 "开始 "按钮,开始安装。
4. 现在仙人掌安装向导将检查仙人掌安装的所有要求。确保所有检查结果的状态是绿色的,如下图所示。
点击 "Next "按钮继续。
5. 选择 "New Primary Server "作为仙人掌的安装类型,因为这是第一个仙人掌服务器。然后你可以再次点击'Next'。
6. 你将得到Cacti的目录权限检查。确保所有权限检查的状态都是绿色的,如下图所示。
再次点击'Next'。
7. 现在,你将设置Cacti使用的二进制应用程序的路径。
你可以把它作为默认值,然后点击'Next'按钮。
8. 现在阅读所有关于 "输入验证白名单保护 "的信息。这很重要,尤其是出于安全考虑。
仙人掌脚本'input_whitelist.php'允许你管理仙人掌的数据输入方法。你可以根据你的个人安全偏好,禁止或取消白名单上的数据输入方法。
请确保在 "我已阅读此声明 "选项上打勾,然后再次点击 "下一步"。
9. 对于配置文件的配置,保持默认,然后点击'下一步'按钮,继续。
10. 你可以根据你的主机/客户机选择模板,进行模板设置。或者你可以把它作为默认值,然后再次点击'Next'。
11. 现在,安装向导将检查你的数据库和当前系统的本地化情况。
确保没有错误信息,然后点击'下一步'按钮。
12. 现在选择 "确认安装 "并点击 "安装 "按钮,开始仙人掌的安装。
13. 安装过程如下。
14. 当仙人掌安装完成后,你会看到下面的信息,如下图所示。
点击 "Get Started "按钮。
15. 你将被重定向到Cacti默认的管理仪表板,如下图所示。
16. 现在,等待大约19-20分钟,让仙人掌服务收集关于你的系统的数据。
当你准备好了,点击菜单 "Graph",你将看到你的Rocky Linux仙人掌服务器的当前状态。
下面是一个来自当前环境的Cacti服务器图表的例子。
如果你能看到当前Rocky Linux系统的图表,说明你的Cacti安装是成功的。
恭喜你! 你已经在Rocky Linux系统上安装了Cacti监控工具。
下一步,你需要设置'spine',一个用于cacti的多线程数据采集器,然后向你的cacti服务器添加新的主机/机器/设备来进行监控。
上一条: 如何注册.se域名,瑞典域名?
下一条: 挪威.no域名注册步骤