Cacti1.2-1.3-windows/linux版本下载

注!!!下面的流程只做参考,针对于不同镜像的安装调试流程,可自行搜索

DownLoad地址:https://pan.quark.cn/s/e6c92aed7b07

Cacti1.2-1.3-windows/linux版本下载_第1张图片

目前我自己Download的几个版本

需要其他版本的在评论区留言,有时间我把对应的版本放到盘里,你们自行Download就行

后缀名zip为windows版本 !

后缀名为tar.gz为linux版本,需要自行传到服务进行解压安装,具体操作流程,自行搜索。
 

Cacti 旨在提供基于 RRDtool 框架的完整图形解决方案。其目标是通过处理创建有意义图形所需的所有必要细节,简化网络管理员的工作。

要求

Cacti 要求您的系统上安装以下软件。

  • 支持 PHP 的 Web 服务器,例如 Apache、Nginx 或 IIS

  • 使用 spine 时的构建环境(gcc、automake、autoconf、libtool、help2man)

  • RRDtool 1.3 或更高版本,建议使用 1.5+

  • PHP 5.4 或更高版本,建议使用 5.5+

    • 所需模块:

      • ctype、日期、过滤器、gettext、gd、gmp
      • 哈希、json、ldap、mbstring、openssl、pcre
      • PDO、pdo_mysql、会话、simplexml、套接字、spl
      • 标准、xml、zlib
      • com_dotnet(仅限 Windows)
      • posix(仅限 Linux)
    • 可选模块:

      • snmp(回退到 NetSNMP)
  • MySQL 5.6 或 MariaDB 5.5 或更高版本

    • 必须启用时区支持

    • 以下是 my.cnf 建议:

      • 版本 >= 5.6

        MySQL 5.6+ 和 MariaDB 10.0+ 都是很棒的版本,值得选择。不过,请确保你运行的是最新版本,因为它修复了一个长期存在的低级网络问题,该问题导致 Spine 出现许多可靠性问题。

      • innodb = ON

        建议您在任何高于 5.1 的 MySQL/MariaDB 版本中启用 InnoDB。

      • collat​​ion_server = utf8mb4_unicode_ci

        当使用 Cacti 支持英语以外的语言时,务必使用 utf8_general_ci 排序规则类型,因为某些字符占用多个字节。如果您是首次安装 Cacti,请停止安装,进行更改后重新开始。如果您的 Cacti 已运行并投入生产,如果您计划支持其他语言,请参阅互联网上关于转换数据库和表的说明。

      • **character_set_client = utf8mb4

      • **character_set_server = utf8mb4

        使用 Cacti 处理英语以外的语言时,务必使用 utf8 字符集,因为某些字符占用多个字节。如果您是首次安装 Cacti,请停止安装,进行更改后重新开始。如果您的 Cacti 已运行并投入生产,如果您计划支持其他语言,请参阅互联网上关于转换数据库和表的说明。

      • 最大连接数 >= 100

        根据登录次数和 Spine 数据收集器的使用情况,MySQL/MariaDB 可能需要多个连接。Spine 的计算方法如下:

        total_connections = total_processes * (total_threads + script_servers + 1)

        那么您必须为用户连接留出空间,这将根据并发登录帐户的数量而变化。

      • 最大堆表大小 >= 5

        如果您使用 Cacti 性能增强器并选择内存存储引擎,则必须小心地在系统耗尽内存表空间之前刷新性能增强器缓冲区。这可以通过两种方式实现:首先,将输出列的大小减小到合适的大小。此列位于表 poller_output 和 poller_output_boost 中。

        您可以做的第二件事是为内存表分配更多内存,建议值为系统内存的 10%。但如果您使用的是 SSD 磁盘驱动器,或者系统规模较小,则可以忽略此建议或选择其他存储引擎。您可以在“控制台”->“系统实用程序”->“查看提升状态”下查看性能提升器表的预期消耗情况。

        注意:如果您使用的是较新版本的 MariaDB 或 MySQL,则不再需要使用内存表。您可以选择继续使用内存表,以避免 NVMe 或 SSD 驱动器过度磨损。但是,除此之外,它不再是必需的。因此,max_heap_table_size的值不像在以前的版本中那么重要。此外,如果您将 Galera 复制与 Cacti 结合使用,则所有表都必须为 InnoDB 格式。因此,MariaDB 或 MySQL 中唯一的功能是临时表空间,它可能不依赖于max_heap_table_size

      • 表缓存>=200

        保持表缓存较大意味着使用 innodb_file_per_table 时文件打开/关闭操作更少。

      • 最大允许数据包数 >= 16777216

        使用远程轮询功能时,大量数据将从主服务器同步到远程轮询器。因此,请将此值保持在 16M 或以上。

      • 临时表大小>=64M

        执行子查询时,如果临时表较大,请将这些临时表保存在内存中。

      • 连接缓冲区大小>=64M

        执行连接时,如果它们低于此大小,它们将被保存在内存中并且永远不会写入临时文件。

      • innodb_file_per_table = ON

        使用 InnoDB 存储时,务必保持表空间独立。这可以让 MySQL/MariaDB 的长期用户更轻松地管理表。如果您当前关闭了此功能,可以迁移到按文件存储,方法是启用此功能,然后在所有 InnoDB 表上运行 alter 语句。

      • innodb_buffer_pool_size >= 25

        InnoDB 会尽可能多地在系统内存中保存表和索引。因此,您应该将 innodb_buffer_pool 设置为足够大,以便在内存中保存尽可能多的表和索引。检查 /var/lib/mysql/cacti 目录的大小有助于确定此值。我们建议将其设置为系统总内存的 25%,但您的具体需求会根据系统大小而有所不同。

      • innodb_doublewrite = OFF

        对于现代 SSD 类型存储,此操作实际上会更快地降低磁盘性能,并在所有写入操作中增加 50% 的开销。

      • innodb_additional_mem_pool_size >= 80M

        这是存储元数据的地方。如果你有很多表,增加这个值会很有用。

      • innodb_lock_wait_timeout >= 50

        恶意查询不应该导致数据库离线。请在这些查询破坏你的系统之前将其终止。

      • innodb_flush_log_at_trx_commit = 2

        将此值设置为 2 意味着您将每秒刷新所有事务,而不是在提交时刷新。这可以减少 MySQL/MariaDB 的写入频率。

      • innodb_file_io_threads >= 16

        对于现代SSD类型存储来说,拥有多个io线程对于具有高IO特性的应用程序来说是有利的。

      • innodb_flush_log_at_timeout >= 3

        如果您的 MySQL/MariaDB 版本支持此功能,您可以控制 MySQL/MariaDB 将事务刷新到磁盘的频率。默认值为 1 秒,但在高 I/O 系统中,设置为大于 1 的值可以使磁盘 I/O 更加连续。

      • innodb_read_IO_threads >= 32

        对于现代SSD类型存储,拥有多个读取IO线程对于具有高IO特性的应用程序来说是有利的。

      • innodb_write_IO_threads >= 16

        对于现代SSD类型存储,拥有多个写入IO线程对于具有高IO特性的应用程序来说是有利的。

      • innodb_buffer_pool_instances >= 16

        MySQL/MariaDB 会将 innodb_buffer_pool 划分为多个内存区域,以提高性能,最大值为 64。当您的 innodb_buffer_pool 小于 1GB 时,应使用池大小除以 128MB 的值。继续使用此公式,直至最大值达到 64。

      笔记:

      • 根据您所运行的 MySQL/MariaDB 版本,其中一些建议可能不适用。

      • 其中一些建议应酌情调整

      • 较新的 MySQL/MariaDB 软件使用严格模式,从旧系统导入 Cacti 数据库的转储时可能会导致意外问题,例如无法创建表cactipoller_output_boost (错误号:140“错误的创建选项”)

        您还有更多可能性:

        • 禁用适当的严格模式 - 不推荐

        • 更改 mysqldump 文件 -从表定义中删除ROW_FORMAT=FIXED

        • 在 mysqldump 运行查询之前: ALTER TABLE poller_output_boostROW_FORMAT=DYNAMIC;

要实现上述 mysql 建议,您可以使用以下条目并将其粘贴到 my.cnf 中

一般安装说明

确保根据操作系统要求安装了以下软件包。验证 httpd/apache 和 MySQL/MariaDB 是否在系统启动时启动。

大多数操作系统所需的软件包

根据您的操作系统和 PHP 版本,Cacti 需要某些软件包。这些要求中最大的变量与 PHP 和 MySQL/MariaDB 有关。

安装要求包括以下软件包。这些软件包的安装因操作系统而异。

基础操作系统

  • apache、IIS 或 nginx

  • net-snmp、net-snmp-utils

  • rrd工具

  • help2man(用于脊柱)

  • dos2unix(用于 spine)

  • 开发包(gcc、automake、autoconf、libtool、mysql-devel 或 mariadb-devel、net-snmp-devel、help2man)

    (针对脊柱)

数据库

支持 MySQL 5.7 及以上版本。MariaDB 10.2 及以上版本也受支持。

  • mysql

  • mysql服务器

  • libmysql客户端

或者

  • mariadb

  • mariadb服务器

  • libmariadbclient

PHP 模块

这些模块的安装因操作系统而异。请使用以下php -m命令验证它们是否已安装。

  • posix

  • 会议

  • 插座

  • 原产地保护组织

  • pdo_mysql

  • xml

  • LDAP

  • mbstring

  • 聚合酶链反应

  • json

  • openssl

  • 广东

  • zlib

PHP 可选模块

以下模块是可选的,但最好安装。

  • SNMP

  • gmp(用于插件支持)

  • com 或 dotnet(仅限 Windows)

FreeBSD

在 FreeBSD 上安装时,您可以使用两种方法。对于这两种方法,Cacti 都有很多依赖包,您无需安装任何其他东西。一切都已准备就绪。这两种方法各有优缺点:

  • 编译包 - 快速,但依赖关系不变(如旧版 MySQL 服务器、PHP 版本等)

    pkg install cacti
    pkg install spine
  • FreeBSD 移植 - 编译可能需要很长时间,但没有不变的依赖关系(请参阅如何使用移植)

    portsnap fetch extract
    portsnap fetch update
    cd /usr/ports/databases/mariadb102-server (or mysql57-server)
    make install
    cd /usr/ports/net-mgmt/cacti
    make install
    cd /usr/ports/net-mgmt/spine
    make install

Apache 和其他软件也可以通过包或 Ports 安装。

FreeBSD 中的所有内容都安装在 /usr/local/ 目录中!在本文档中,您可以看到 /etc/php.ini、/usr/bin/spine 等路径。

请使用正确的路径 - /usr/local/etc、/usr/local/bin/spine、...

对于 Spine 设置 suid 位(没有这个就无法进行 ICMP ping):

chmod +s /usr/local/bin/spine

配置 PHP

验证模块是否已正确安装和配置。有几种方法可以验证,请参阅PHP 配置说明以获取完整说明。

date.timezone必须在/etc/php.ini、 或 /etc/phpX/apache/php.ini和文件中设置/etc/phpX/cli/php.ini。否则,安装完成后将出现错误。

大多数其他 PHP 配置由基本操作系统自动完成,因此无需在此讨论。

配置Web服务器(Apache)

大多数 Linux/UNIX 操作系统会自动配置 Web 服务器以允许 PHP 内容。因此无需进行额外配置。但是,如果您运行的 UNIX 版本未正确配置 Web 服务器,则以下部分可供参考。以下文档专门针对 RHEL 及其变体编写。因此,具体说明可能会有所不同。

找到该文件/etc/httpd/conf/httpd.conf或其等效文件并对其进行以下更改:

# Load config files from the config directory "/etc/httpd/conf.d".
Include conf.d/*.conf

现在,找到 PHP 配置文件/etc/httpd/conf.d/php.conf

# PHP is an HTML-embedded scripting language which attempts to make it
# easy for developers to write dynamically generated webpages.
LoadModule php_module modules/libphp.so
#
# Cause the PHP interpreter to handle files with a .php extension.
AddHandler php-script .php
AddType text/html .php
#
# Add index.php to the list of files that will be served as directory
# indexes.
DirectoryIndex index.php

配置 MySQL/MariaDB

为 root 用户设置密码并记录下来。如果忘记了此密码,在系统发生灾难或从崩溃中恢复时,可能需要重新安装数据库服务器。

shell> mysqladmin --user=root password somepassword
shell> mysqladmin --user=root --password reload

您还必须将时区信息加载到数据库中。这对于各种插件的使用都是必需的。稍后,您将需要 time_zone_name在安装的最后步骤中授予对该表的访问权限。

shell> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql

由于 Cacti 1.x 支持国际化 (i18n),因此 MySQL/MariaDB 的默认字符集必须兼容 i18n。Cacti 安装程序会对 MySQL/MariaDB 的设置提供具体的建议。请根据您的操作系统选择合适的设置。

Galera 集群:有几个表设置为使用 MEMORY 存储引擎,但这些表无法在节点之间复制,这可能会导致问题。如果您将 Cacti 配置为仅连接到集群中的一个节点,并且未进行负载均衡,则此问题不适用于您。

如果您在负载均衡环境中运行多个节点并连接到 VIP,则应在 Cacti 安装或更新期间从轮换中移除所有节点,只保留一个节点。安装/更新完成后,登录 MySQL 服务器并执行以下命令,将这些表更新为使用 InnoDB 引擎:

MariaDB [(none)]> use cacti;
MariaDB [cacti]>> ALTER TABLE `automation_ips` ENGINE=InnoDB;
MariaDB [cacti]>> ALTER TABLE `automation_processes` ENGINE=InnoDB;
MariaDB [cacti]>> ALTER TABLE `data_source_stats_hourly_cache` ENGINE=InnoDB;
MariaDB [cacti]>> ALTER TABLE `data_source_stats_hourly_last` ENGINE=InnoDB;
MariaDB [cacti]>> ALTER TABLE `poller_output` ENGINE=InnoDB;
MariaDB [cacti]>> ALTER TABLE `poller_output_boost_processes` ENGINE=InnoDB;

这些更改应该会复制到集群中的其他节点。在将其他节点重新放入轮询队列之前,请允许 Cacti 运行至少两到三个完整的轮询周期。

安装和配置 Cacti

  1. 提取分发包。

    shell> tar xzvf cacti-version.tar.gz
  2. 创建 MySQL 数据库:

    shell> mysqladmin --user=root create cacti
  3. 导入默认的 cacti 数据库:

    shell> mysql cacti < cacti.sql
  4. 可选:为 Cacti 创建 MySQL 用户名和密码。

    shell> mysql --user=root mysql
    MySQL> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'somepassword';
    MySQL> GRANT SELECT ON mysql.time_zone_name TO cactiuser@localhost IDENTIFIED BY 'somepassword';
    MySQL> flush privileges;

请注意,如果您的root(或同等)用户没有SUPER权限,仍然可以GRANT SELECT通过 向 Cacti 用户授予权限 INSERT INTO mysql.tables_priv

INSERT INTO mysql.tables_priv (Host, Db, User, Table_name, Grantor, Table_priv)
VALUES ('localhost', 'mysql', 'cactiuser', 'time_zone_name', 'root@localhost', 'Select');
  1. 编辑include/config.php并指定 Cacti 配置的数据库类型、名称、主机、用户和密码。

    $database_type = "mysql";
    $database_default = "cacti";
    $database_hostname = "localhost";
    $database_username = "cactiuser";
    $database_password = "cacti";
  2. 设置 Cacti 目录的相应权限,用于生成图表/日志。您需要在 Cacti 目录内执行以下命令来更改权限。

    shell> chown -R cactiuser rra/ log/ cache/

    (输入cactiuser的有效用户名,该用户也将在下一步用于数据收集。)

  3. 创建 cron 任务文件或 systemd 单元文件

    从 Cacti 1.2.16 开始,您可以选择使用传统的 Crontab 条目,或者可选的 cactid 单元文件和服务器来运行您的 Cacti 轮询器。

    对于 Crontab 的使用,请按照以下说明进行操作:

    创建并编辑/etc/cron.d/cacti文件。确保设置 poller.php 的正确路径

    */5 * * * * apache php /poller.php &>/dev/null

    对于 systemd 单元文件的安装,您需要修改包含的单元文件,使其符合您的安装位置以及所需的用户和组,以便以该用户和组的身份运行 Cacti 轮询器。要完成此任务,请按照以下步骤操作:

    vim /service/cactid.service (edit the path)
    touch /etc/sysconfig/cactid
    cp -p /service/cactid.service /etc/systemd/system
    systemctl enable cactid
    systemctl start cactid
    systemctl status cactid

    systemd 单元文件使管理高可用性 Cacti 设置变得更加方便。

  4. 在安装过程中,您需要提供对以下文件和目录的写访问权限:

    shell> chown -R resource scripts include/config.php

    安装完成后,您可以将权限更改为更严格的设置。

  5. 将您的网络浏览器指向:

    http:///cacti/

    使用用户名/密码admin登录。您需要立即更改此密码。请确保在以下屏幕上仔细正确地填写所有路径变量。

(可选)安装并配置 Spine

Spine 是一款非常快速的数据收集引擎,用 C 语言编写。它是 cmd.php 的可选替代品。如果您决定使用它,则必须单独安装。它不包含在 Cacti 中。

最简单的方法是使用 rpm 或 ports 安装 Spine。你可以在 Cacti 主站或你的发行版中找到 Spine 的软件包。

要编译 Spine,请将其下载到你喜欢的任意位置。然后,在下载的目录中执行以下命令

shell>./bootstrap

如果boostrap脚本成功,您将按照它提供的说明进行编译和安装。

假设你已经正确安装了 Spine,接下来需要对其进行配置。配置文件可以放在 Spine 所在的目录中,也可以放在 /etc/spine.conf 中。

DB_Host  127.0.0.1 or hostname (not localhost)
DB_Database cacti
DB_User     cactiuser
DB_Password cacti
DB_Port     3306

你可能感兴趣的:(cacti,windows,linux)