目前,我们网站上有两个功能版本的 Cacti,以及 Cacti Group 支持的多个 Cacti 插件。 我们当前的 Cacti 长期版本位于1.2.x
分支。 该分支的当前发布版本是 Cacti 1.2.27。
这个待定的维护版本修复了多个错误,并提供了更受欢迎的功能增强。 您可以查看1.2.x
分支的变更日志以获取更多信息。
此外,我们还有develop
分支。 现在这是一个活跃的开发分支。 在这个分支中,我们作为一个团队重新组合并引入了一些新功能。 我们希望能够为 Cacti 爱好者送上一份圣诞礼物,这将是 Cacti 1.3.0-beta 版本。 如果您想更早参与,只需下载开发版本即可。 1.3.0 版本将包含 1.2.27 版本中的所有内容,以及我们路线图中的一些附加功能。
系统要求因 Cacti 单点版本而异。 下面的矩阵记录了每个版本的最低工具级别。 在我们的源代码发行版中,所有供应商包含的软件包均由 Cacti 小组预先打包和测试,因此没有理由使用软件包管理工具来安装这些依赖项。
依赖性 | 仙人掌1.2.x | 仙人掌1.3.x |
---|---|---|
玛丽亚数据库 | 5.5+ | 10.2.x+ |
MySQL | 5.5+ | 5.7+ |
PHP | 5.4+ | 8.0+ |
RRD工具 | 1.4+ | 1.8+ |
网络SNMP | 5.5+ | 5.8+ |
对于 Cacti 1.2.x,使用 RHEL/CentOS 7 或同等版本运行是合理的。 然而,对于 Cacti 1.3.x,最好在 RHEL/CentOS/Rocky 8 或同等操作系统上运行,因为该操作系统版本使 PHP8.0 通过 DNF Stream 可用。
但是,如果您希望在 RHEL/CentOS 7 发行版上运行 Cacti 1.3.x,则可以使用 PHP 的 REMI 发行版来实现。 在这种情况下,您还必须从源代码构建 RRDtool 1.8+,这很简单。
在下面的部分中,您可以找到在安装 Cacti 1.2.x 版本或待定的 Cacti 1.3.x 版本之前的一些重要的第一步。 祝你好运,享受仙人掌。
大多数现代浏览器均受支持,但自 Cacti 版本 1.2.x 起的所有 Internet Explorer 版本除外。 请勿尝试将任何版本的 Internet Explorer 与 Cacti 1.2.x 及更高版本一起使用。
develop
分支运行 Cacti使用源代码或直接从存储库下载代码时,请务必注意,您可能需要定期重新运行数据库升级 cli 脚本以引入新列。 您可以使用 --forcever=1.2.22 选项假设您正在从早期的 cacti 版本升级:
php -q Upgrade_database.php --forcever=1.2.22
如果您在 Cacti 日志中遇到 SQL 错误,请在此处的 Cacti 问题跟踪器中打开案例。
近20年前Cacti刚开发时,MySQL还没有现在这么成熟。 当 Cacti Group 着手设计 Cacti 1.x 时,做出了强制用户对许多表使用 InnoDB 存储引擎的决定。 这样做是因为当您的网站有多个并发登录时,InnoDB 存储引擎可以提供更好的用户体验。 虽然速度有点慢,但它也为开发人员提供了更大的弹性。
尽管如此,在升级之前您必须对 MySQL/MariaDB 执行几项更改,并且需要重新启动服务。 根据您的 MariaDB 或 MySQL 版本,以下设置可能是必需的,也可能已默认启用:
[mysqld] # required for multiple language support character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci # Memory tunables - Cacti provides recommendations at upgrade time max_heap_table_size = XXX max_allowed_packet = 500M tmp_table_size = XXX join_buffer_size = XXX sort_buffer_size = XXX # important for compatibility sql_mode=NO_ENGINE_SUBSTITUTION # innodb settings - Cacti provides recommendations at upgrade time innodb_buffer_pool_instances = XXX innodb_flush_log_at_trx_commit = 2 innodb_buffer_pool_size = XXX innodb_sort_buffer_size = XXX innodb_doublewrite = ON # required innodb_file_per_table = ON innodb_file_format = Barracuda innodb_large_prefix = 1 # not all version support innodb_flush_log_at_timeout = 3 # for SSD's/NVMe innodb_read_io_threads = 32 innodb_write_io_threads = 16 innodb_io_capacity = 10000 innodb_io_capacity_max = 20000 innodb_flush_method = O_DIRECT
所需的设置非常重要。 否则,您将遇到升级问题。 XXX、Cacti 的设置将在升级时提供建议。在升级过程中必须重新启动 MySQL/MariaDB 才能调整这些设置,这并不奇怪。 在开始升级之前,请特别注意这一点。
在升级之前,您应该进行这些必要的更改,然后重新启动 MySQL/MariaDB。之后,您可以通过运行以下脚本来节省一些时间和潜在的错误(假设您使用的是 bash):
for table in `mysql -e "SELECT TABLE_NAME FROM information_schema.TABLES WHERE table_schema='cacti' AND engine!='MEMORY'" cacti | grep -v TABLE_NAME`; do echo "Converting $table"; mysql -e "ALTER TABLE $table ENGINE=InnoDB ROW_FORMAT=Dynamic CHARSET=utf8mb4" cacti; done
这会将 InnoDB 或 MyISAM 的任何表转换为 Barracuda 文件格式、动态行格式和 utf8mb4。 请注意,如果您一直在使用 MySQL 或 MariaDB 而没有将 innodb_file_per_table 设置为 on,则最好备份数据库,通过删除 /var/lib/mysql 目录中的 ib* 文件来重置 InnoDB,然后恢复您的数据库。数据库和 MySQL/MariaDB 表和权限。 在采取这样的步骤之前,您应该始终在测试服务器上进行练习,直到您对更改感到满意为止。
祝你好运,享受仙人掌!
sudo -u cacti php -q cli/upgrade_database.php --forcever=`cat include/cacti_version`
update version set cacti = '1.1.38';
注意:将上述版本更改为正确的版本,否则安装程序将面临从先前版本升级的风险。
Cacti 是一个完整的网络图形解决方案,旨在利用 RRDtool 的数据存储和图形功能的强大功能,提供以下功能:
远程和本地数据收集器
设备发现
设备和图形创建的自动化
图形和设备模板
自定义数据收集方法
用户、组和域访问控制
所有这些都包含在一个直观、易于使用的界面中,该界面对于 LAN 规模的安装和具有数千个设备的复杂网络都很有意义。
它是由 Ian Berry 在 2000 年代初作为一个高中项目开发的,已被数千家公司和爱好者用来监控和管理他们的企业网络和数据中心。
Cacti 应该能够在任何基于 Linux、UNIX 或 Windows 的操作系统上运行,并满足以下要求:
PHP 7.4+
MySQL 5.6+
RRDtool 1.3+,推荐1.5+
NET-SNMP 5.5+
支持 PHP 的 Web 服务器
PHP 还必须编译为独立的 cgi 或 cli 二进制文件。这是通过 cron 收集数据所必需的。
我们将 php-snmp 模块标记为可选。 只要您不使用 ipv6 设备,或使用 snmpv3 引擎 ID 或上下文,那么使用 php-snmp 应该是安全的。 否则,您应该考虑卸载 php-snmp 模块,因为它会产生问题。 我们意识到 php-snmp 的问题,并希望参与 php 项目来解决这些问题。
RRDtool 有多个版本,其中大部分都受 Cacti 支持。如果您在渲染图形时遇到问题,请记住确认 RRDtool 版本的 Cacti 设置。
文档随 Cacti 版本提供,也可在文档存储库中查看。
查看 Cacti 主网站以获取下载、更改日志、发行说明等信息!
鉴于 Cacti 范围广泛,论坛往往会产生可观的流量。尽自己的一份力量来回答基本问题会大有帮助,因为我们无法同时到达任何地方。通过参加 Cacti 社区论坛为 Cacti 社区做出贡献。
参与创建和编辑 Cacti 文档! 分叉、更改并提交拉取请求以帮助改进 GitHub 上的文档。
参与 Cacti 的开发!加入 GitHub 上的开发者和社区!
Cacti 通过数据源的概念来处理数据的收集。数据源利用输入方法从设备、主机、数据库、脚本等收集数据……您能够收集的数据的性质有无限的可能性。 数据源是底层RRD文件的直接链接;数据如何存储在 RRD 文件中以及如何从 RRD 文件检索数据。
图表是 Cacti 的核心和灵魂,是由 RRDtool 使用已定义的数据源定义创建的。
将所有这些结合在一起,Cacti 使用广泛的模板系统,允许创建和使用便携式模板。图形、数据源和 RRA 模板允许轻松创建开箱即用的图形和数据源。 随着 Cacti 社区的支持,模板已成为支持绘制当今计算和网络环境中使用的任意数量设备的标准方法。
本地和远程数据收集支持,能够设置收集间隔。查看 Cacti 中的数据源配置文件以获取更多信息。数据源配置文件可以在创建时或在数据模板级别应用于图表。
通过将资源复制到远程数据收集器,远程数据收集变得容易。即使远程数据收集器与主 Cacti 安装的连接丢失,它也会存储收集的数据,直到连接恢复。远程数据收集仅需要 MySQL 和 HTTP/HTTPS 访问回主 Cacti 安装位置。
Cacti 为管理员提供了一系列网络自动化功能,以减少设置和管理设备所需的时间和精力。
多个可定义的网络发现规则
指定如何配置设备的自动化模板
Cacti 不仅仅是一个网络监控系统,它还是一个允许扩展和增强 Cacti 功能的操作框架。 Cacti Group 继续维护各种插件。 如果您想向 Cacti 添加功能,GitHub 上有很多参考资料可供选择。
Cacti 允许在查看图表时进行许多运行时增强:
动态加载的树形和图形视图
按字符串、图形和模板类型搜索
观看增强
简单的时间跨度调整
方便的滑动时间窗口按钮
单击实时图表选项
轻松将图表导出为 csv
只需点击一下即可查看 RRA
支持每个领域(Cacti 区域)、每个图、每个图树、每个设备等的每个用户和每个组权限。Cacti 中的权限模型是基于角色的访问控制 (RBAC),允许灵活分配的权限。支持强制执行密码复杂性、密码期限和更改过期密码。
Cacti 支持大多数 RRDtool 绘图功能,包括:
全右轴
转移
虚线和虚线偏移
Alt y 网格
没有网格配合
单位长度
标签宽度
动态标签
规则图例
图例位置
VDEF
堆叠线
用户可定义线宽
文本对齐
版权所有 (c) 2004-2024 - Cacti Group, Inc.