Upgrading an old instance of cacti monitoring software may become a challenge, because of multiple new recommendations and requirements for the latest version 1.2.x.
There are a couple of b recommendations like memory limit and maximum execution time and multiple plugin requirements, which if not fulfilled the setup cannot continue. Second, there are the MySQL recommendations and there is an option innodb_file_format, which in general, is recommended to be Barracuda, but by default, in older version of MySQL use Antelope!
Upgrading from CACTI version 0.8.8 is successful to CACTI version 1.2.3, but then the upgrade process just began restarting and failed to upgrade to the final target CACTI version 1.2.18 because of the old MySQL InnoDB table format – Antelope.
Despite the Barracuda is just recommended and the upgrade process continues through the steps of the setup wizard, it just suddenly stops and returns to the welcome install screen.
Setting the option innodb_file_format resolves the problem and the upgrade setup finishes successfully the upgrade from CACTI version 0.8.8 (apparently with an intermediate upgrade to CACTI version 1.2.3) to CACTI version 1.2.18.
innodb_file_format=barracuda
Probably, this option will be a mandatory MySQL option for upgrading to a newer CACTI version after 1.2.3.
Several screenshots of recommendations and requirements for upgrading to CACTI 1.2.28
SCREENSHOT 1) CACTI still supports older PHP like 5.6 and even 5.4!
800Mbytes for PHP memory_limit and max_execution_time
SCREENSHOT 2) 21 required PHP modules to continue with the installation/upgrade wizard.
If some of them are missing, the wizard cannot continue. The required PHP modules are hash, date, filter, gd, json, openssl, ctype, ldap, mbstring, gmp, pcre, spl, pdo_mysql, session, simplexml, standard, posix, PDO, xml, zlib and sockets.
SCREENSHOT 3) There are 4 optional modules, which may extend the functionality of the CACTI: snmp, gettext, TrueType Box and TrueType Text.
The installation/upgrade wizard will continue without them.
SCREENSHOT 4) The MySQL CACTI user should have SELECT privileges for mysql.time_zone_name.
SCREENSHOT 5) MySQL settings – current and recommended settings.
SCREENSHOT 6) MySQL settings – current and recommended settings.
Despite innodb_file_format is just recommended to be Barracuda, if it were set to Antelope the upgrade wizard would have continued, but it will fail evetually.
SCREENSHOT 7) MySQL settings – current and recommended settings.
The log of successful upgrade to 1.2.18
Cacti Server v1.2.18 - Installation Wizard Complete Your Cacti Server v1.2.18 has been installed/updated. You may now start using the software. Database Upgrade - Version 1.2.5 Database Upgrade - Version 1.2.7 Database Upgrade - Version 1.2.8 Database Upgrade - Version 1.2.11 Database Upgrade - Version 1.2.14 Database Upgrade - Version 1.2.15 Database Upgrade - Version 1.2.17 Process Log 2021-08-30 17:04:37 - INSTALL: always: Installation was started at 2021-08-30 13:59:15, completed at 2021-08-30 14:04:37 2021-08-30 17:04:36 - INSTALL: always: Finished UPGRADE Process for v1.2.18 2021-08-30 17:04:35 - INSTALL: always: No templates were selected for import 2021-08-30 17:02:50 - INSTALL: always: Upgrading from v1.2.15 (DB 1.2.15) to v1.2.17 2021-08-30 17:02:49 - INSTALL: always: Upgrading from v1.2.14 (DB 1.2.14) to v1.2.15 2021-08-30 17:02:41 - INSTALL: always: Upgrading from v1.2.11 (DB 1.2.11) to v1.2.14 2021-08-30 17:02:40 - INSTALL: always: Upgrading from v1.2.8 (DB 1.2.8) to v1.2.11 2021-08-30 17:01:30 - INSTALL: always: Upgrading from v1.2.7 (DB 1.2.7) to v1.2.8 2021-08-30 17:01:29 - INSTALL: always: Upgrading from v1.2.5 (DB 1.2.5) to v1.2.7 2021-08-30 17:01:29 - INSTALL: always: Repairing Automation Rules 2021-08-30 17:01:27 - INSTALL: always: Upgrading from v1.2.3 (DB 1.2.18 (DB: 1.2.3)) to v1.2.5 2021-08-30 17:01:27 - INSTALL: always: NOTE: Using temporary file for db cache: /tmp/cdujhyG02 2021-08-30 17:01:27 - INSTALL: always: Switched from to /tmp/cdujhyG02 2021-08-30 17:01:26 - INSTALL: always: Converting Table #103 'version' 2021-08-30 17:01:25 - INSTALL: always: Converting Table #102 'vdef_items' 2021-08-30 17:01:24 - INSTALL: always: Converting Table #101 'vdef' 2021-08-30 17:01:20 - INSTALL: always: Converting Table #100 'user_log' 2021-08-30 17:01:19 - INSTALL: always: Converting Table #99 'user_domains_ldap' 2021-08-30 17:01:19 - INSTALL: always: Converting Table #98 'user_domains' 2021-08-30 17:01:18 - INSTALL: always: Converting Table #97 'user_auth_realm' 2021-08-30 17:01:17 - INSTALL: always: Converting Table #96 'user_auth_perms' 2021-08-30 17:01:16 - INSTALL: always: Converting Table #95 'user_auth_group_realm' 2021-08-30 17:01:15 - INSTALL: always: Converting Table #94 'user_auth_group_perms' 2021-08-30 17:01:14 - INSTALL: always: Converting Table #93 'user_auth_group_members' 2021-08-30 17:01:13 - INSTALL: always: Converting Table #92 'user_auth_group' 2021-08-30 17:01:12 - INSTALL: always: Converting Table #91 'user_auth_cache' 2021-08-30 17:01:11 - INSTALL: always: Converting Table #90 'user_auth' 2021-08-30 17:01:10 - INSTALL: always: Converting Table #89 'snmpagent_notifications_log' 2021-08-30 17:01:09 - INSTALL: always: Converting Table #88 'snmpagent_mibs' 2021-08-30 17:01:08 - INSTALL: always: Converting Table #87 'snmpagent_managers_notifications' 2021-08-30 17:01:07 - INSTALL: always: Converting Table #86 'snmpagent_managers' 2021-08-30 17:01:07 - INSTALL: always: Converting Table #85 'snmpagent_cache_textual_conventions' 2021-08-30 17:01:06 - INSTALL: always: Converting Table #84 'snmpagent_cache_notifications' 2021-08-30 17:01:02 - INSTALL: always: Converting Table #83 'snmpagent_cache' 2021-08-30 17:01:01 - INSTALL: always: Converting Table #82 'snmp_query_graph_sv' 2021-08-30 17:01:00 - INSTALL: always: Converting Table #81 'snmp_query_graph_rrd_sv' 2021-08-30 17:01:00 - INSTALL: always: Converting Table #80 'snmp_query_graph_rrd' 2021-08-30 17:00:58 - INSTALL: always: Converting Table #79 'snmp_query_graph' 2021-08-30 17:00:57 - INSTALL: always: Converting Table #78 'snmp_query' 2021-08-30 17:00:55 - INSTALL: always: Converting Table #77 'sites' 2021-08-30 17:00:54 - INSTALL: always: Converting Table #76 'settings_user_group' 2021-08-30 17:00:53 - INSTALL: always: Converting Table #75 'settings_user' 2021-08-30 17:00:52 - INSTALL: always: Converting Table #74 'settings_tree' 2021-08-30 17:00:52 - INSTALL: always: Converting Table #73 'settings' 2021-08-30 17:00:51 - INSTALL: always: Converting Table #72 'sessions' 2021-08-30 17:00:51 - INSTALL: always: Converting Table #71 'reports_items' 2021-08-30 17:00:50 - INSTALL: always: Converting Table #70 'reports' 2021-08-30 17:00:50 - INSTALL: always: Converting Table #69 'poller_time' 2021-08-30 17:00:49 - INSTALL: always: Converting Table #68 'poller_resource_cache' 2021-08-30 17:00:49 - INSTALL: always: Converting Table #67 'poller_reindex' 2021-08-30 17:00:48 - INSTALL: always: Converting Table #66 'poller_output_realtime' 2021-08-30 17:00:47 - INSTALL: always: Converting Table #65 'poller_output_boost' 2021-08-30 17:00:40 - INSTALL: always: Converting Table #64 'poller_item' 2021-08-30 17:00:39 - INSTALL: always: Converting Table #63 'poller_data_template_field_mappings' 2021-08-30 17:00:38 - INSTALL: always: Converting Table #62 'poller_command' 2021-08-30 17:00:38 - INSTALL: always: Converting Table #61 'poller' 2021-08-30 17:00:37 - INSTALL: always: Converting Table #60 'plugin_realms' 2021-08-30 17:00:36 - INSTALL: always: Converting Table #59 'plugin_hooks' 2021-08-30 17:00:35 - INSTALL: always: Converting Table #58 'plugin_db_changes' 2021-08-30 17:00:34 - INSTALL: always: Converting Table #57 'plugin_config' 2021-08-30 17:00:33 - INSTALL: always: Converting Table #56 'host_template_snmp_query' 2021-08-30 17:00:32 - INSTALL: always: Converting Table #55 'host_template_graph' 2021-08-30 17:00:31 - INSTALL: always: Converting Table #54 'host_template' 2021-08-30 17:00:30 - INSTALL: always: Converting Table #53 'host_snmp_query' 2021-08-30 17:00:24 - INSTALL: always: Converting Table #52 'host_snmp_cache' 2021-08-30 17:00:23 - INSTALL: always: Converting Table #51 'host_graph' 2021-08-30 17:00:22 - INSTALL: always: Converting Table #50 'host' 2021-08-30 17:00:20 - INSTALL: always: Converting Table #49 'graph_tree_items' 2021-08-30 17:00:20 - INSTALL: always: Converting Table #48 'graph_tree' 2021-08-30 17:00:12 - INSTALL: always: Converting Table #47 'graph_templates_item' 2021-08-30 17:00:10 - INSTALL: always: Converting Table #46 'graph_templates_graph' 2021-08-30 17:00:09 - INSTALL: always: Converting Table #45 'graph_templates_gprint' 2021-08-30 17:00:08 - INSTALL: always: Converting Table #44 'graph_templates' 2021-08-30 17:00:06 - INSTALL: always: Converting Table #43 'graph_template_input_defs' 2021-08-30 17:00:05 - INSTALL: always: Converting Table #42 'graph_template_input' 2021-08-30 17:00:00 - INSTALL: always: Converting Table #41 'graph_local' 2021-08-30 17:00:00 - INSTALL: always: Converting Table #40 'external_links' 2021-08-30 16:59:57 - INSTALL: always: Converting Table #39 'data_template_rrd' 2021-08-30 16:59:54 - INSTALL: always: Converting Table #38 'data_template_data' 2021-08-30 16:59:53 - INSTALL: always: Converting Table #37 'data_template' 2021-08-30 16:59:52 - INSTALL: always: Converting Table #36 'data_source_stats_yearly' 2021-08-30 16:59:52 - INSTALL: always: Converting Table #35 'data_source_stats_weekly' 2021-08-30 16:59:51 - INSTALL: always: Converting Table #34 'data_source_stats_monthly' 2021-08-30 16:59:50 - INSTALL: always: Converting Table #33 'data_source_stats_hourly' 2021-08-30 16:59:50 - INSTALL: always: Converting Table #32 'data_source_stats_daily' 2021-08-30 16:59:49 - INSTALL: always: Converting Table #31 'data_source_purge_temp' 2021-08-30 16:59:48 - INSTALL: always: Converting Table #30 'data_source_purge_action' 2021-08-30 16:59:47 - INSTALL: always: Converting Table #29 'data_source_profiles_rra' 2021-08-30 16:59:46 - INSTALL: always: Converting Table #28 'data_source_profiles_cf' 2021-08-30 16:59:46 - INSTALL: always: Converting Table #27 'data_source_profiles' 2021-08-30 16:59:40 - INSTALL: always: Converting Table #26 'data_local' 2021-08-30 16:59:39 - INSTALL: always: Converting Table #25 'data_input_fields' 2021-08-30 16:59:34 - INSTALL: always: Converting Table #24 'data_input_data' 2021-08-30 16:59:33 - INSTALL: always: Converting Table #23 'data_input' 2021-08-30 16:59:32 - INSTALL: always: Converting Table #22 'data_debug' 2021-08-30 16:59:31 - INSTALL: always: Converting Table #21 'colors' 2021-08-30 16:59:30 - INSTALL: always: Converting Table #20 'color_templates' 2021-08-30 16:59:30 - INSTALL: always: Converting Table #19 'color_template_items' 2021-08-30 16:59:29 - INSTALL: always: Converting Table #18 'cdef_items' 2021-08-30 16:59:28 - INSTALL: always: Converting Table #17 'cdef' Copyright (C) 2004-2021 The Cacti Group