RobbieTheK
(Robbie The K)
December 2, 2022, 2:20am
1
See below, I ran the incremental MySQL upgrades and it fails on 2.11.0 as follows. I’ve had Fedora automatic updates running which I see now is now the best practice
mysql -u root -p icinga < /usr/share/doc/icingaweb2/schema/mysql-upgrades/2.11.0.sql
Enter password:
ERROR 1146 (42S02) at line 1: Table 'icinga.icingaweb_group' doesn't exist
Icinga Web 2 Version 2.11.2
Git commit 9b6349e4a0611d9beadffb708c7ea2cb1075d229
PHP Version 8.1.12
Git commit date 2022-11-04
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'director.director_activity_log_remark' doesn't exist, query was: SELECT director_activity_log_remark.* FROM director_activity_log_remark WHERE (first_related_activity <= 914) AND (last_related_activity >= 815) (Pdo.php:225)
#0 /usr/share/icingaweb2/library/vendor/Zend/Db/Statement.php(304): Zend_Db_Statement_Pdo->_execute()
#1 /usr/share/icingaweb2/library/vendor/Zend/Db/Adapter/Abstract.php(470): Zend_Db_Statement->execute()
#2 /usr/share/icingaweb2/library/vendor/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query()
#3 /usr/share/icingaweb2/library/vendor/Zend/Db/Adapter/Abstract.php(725): Zend_Db_Adapter_Pdo_Abstract->query()
#4 /usr/share/icingaweb2/modules/director/library/Director/Web/Table/ActivityLogTable.php(75): Zend_Db_Adapter_Abstract->fetchAll()
#5 /usr/share/icingaweb2/modules/incubator/vendor/gipfl/icingaweb2/src/Table/QueryBasedTable.php(230): Icinga\Module\Director\Web\Table\ActivityLogTable->fetchQueryRows()
#6 /usr/share/icingaweb2/modules/incubator/vendor/gipfl/icingaweb2/src/Table/QueryBasedTable.php(164): gipfl\IcingaWeb2\Table\QueryBasedTable->fetch()
#7 /usr/share/icingaweb2/modules/incubator/vendor/gipfl/icingaweb2/src/Table/QueryBasedTable.php(115): gipfl\IcingaWeb2\Table\QueryBasedTable->fetchRows()
#8 /usr/share/icinga-php/ipl/vendor/ipl/html/src/BaseHtmlElement.php(323): gipfl\IcingaWeb2\Table\QueryBasedTable->renderContent()
#9 /usr/share/icinga-php/ipl/vendor/ipl/html/src/HtmlDocument.php(499): ipl\Html\BaseHtmlElement->renderUnwrapped()
#10 /usr/share/icinga-php/ipl/vendor/ipl/html/src/HtmlDocument.php(339): ipl\Html\HtmlDocument->render()
#11 /usr/share/icinga-php/ipl/vendor/ipl/html/src/BaseHtmlElement.php(255): ipl\Html\HtmlDocument->renderUnwrapped()
#12 /usr/share/icinga-php/ipl/vendor/ipl/html/src/BaseHtmlElement.php(323): ipl\Html\BaseHtmlElement->renderContent()
#13 /usr/share/icinga-php/ipl/vendor/ipl/html/src/HtmlDocument.php(499): ipl\Html\BaseHtmlElement->renderUnwrapped()
#14 /usr/share/icinga-php/ipl/vendor/ipl/html/src/HtmlDocument.php(369): ipl\Html\HtmlDocument->render()
#15 /usr/share/icingaweb2/modules/incubator/vendor/gipfl/icingaweb2/src/Zf1/SimpleViewRenderer.php(65): ipl\Html\HtmlDocument->__toString()
#16 /usr/share/icingaweb2/modules/incubator/vendor/gipfl/icingaweb2/src/Zf1/SimpleViewRenderer.php(104): gipfl\IcingaWeb2\Zf1\SimpleViewRenderer->render()
#17 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action/HelperBroker.php(272): gipfl\IcingaWeb2\Zf1\SimpleViewRenderer->postDispatch()
#18 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action.php(518): Zend_Controller_Action_HelperBroker->notifyPostDispatch()
#19 /usr/share/php/Icinga/Web/Controller/Dispatcher.php(76): Zend_Controller_Action->dispatch()
#20 /usr/share/icingaweb2/library/vendor/Zend/Controller/Front.php(937): Icinga\Web\Controller\Dispatcher->dispatch()
#21 /usr/share/php/Icinga/Application/Web.php(290): Zend_Controller_Front->dispatch()
#22 /usr/share/php/Icinga/Application/webrouter.php(105): Icinga\Application\Web->dispatch()
#23 /usr/share/icingaweb2/public/index.php(4): require_once('/usr/share/php/...')
#24 {main}
Any easy fix for this?
your problem is the icinga director, not icingaweb2:
SQLSTATE[42S02]: Base table or view not found: 1146 Table 'director.director_activity_log_remark' doesn't exist, query was: SELECT director_activity_log_remark.* FROM director_activity_log_remark WHERE (first_related_activity <= 914) AND (last_related_activity >= 815) (Pdo.php:225)
post the installed version of icinga director
RobbieTheK
(Robbie The K)
December 2, 2022, 3:43am
3
icinga-director-php-1.10.2-1.fc36.noarch
icinga-director-daemon-1.10.2-1.fc36.noarch
icinga-director-web-1.10.2-1.fc36.noarch
icinga-director-1.10.2-1.fc36.noarch
sorry missed that, now you have two problems.
is it a production or test unit?
Robbie The K:
icinga
is the database “icinga” your icinga2 or icingaweb2 database?
RobbieTheK
(Robbie The K)
December 2, 2022, 3:56am
6
show databases;
+--------------------+
| Database |
+--------------------+
| director |
| icinga |
| icingausers |
| information_schema |
| mysql |
| performance_schema |
mysql> use icinga;
mysql> show tables;
+---------------------------------------+
| Tables_in_director |
+---------------------------------------+
| director_activity_log |
| director_basket |
| director_basket_content |
| director_basket_snapshot |
| director_daemon_info |
| director_datafield |
| director_datafield_category |
| director_datafield_setting |
| director_datalist |
| director_datalist_entry |
| director_deployment_log |
| director_generated_config |
| director_generated_config_file |
| director_generated_file |
| director_job |
| director_job_setting |
| director_schema_migration |
| director_setting |
| icinga_apiuser |
| icinga_command |
| icinga_command_argument |
| icinga_command_field |
| icinga_command_inheritance |
| icinga_command_resolved_var |
| icinga_command_var |
| icinga_dependency |
| icinga_dependency_inheritance |
| icinga_dependency_states_set |
| icinga_endpoint |
| icinga_endpoint_inheritance |
| icinga_flat_var |
| icinga_host |
| icinga_host_field |
| icinga_host_inheritance |
| icinga_host_resolved_var |
| icinga_host_service |
| icinga_host_service_blacklist |
| icinga_host_template_choice |
| icinga_host_var |
| icinga_hostgroup |
| icinga_hostgroup_host |
| icinga_hostgroup_host_resolved |
| icinga_hostgroup_inheritance |
| icinga_hostgroup_parent |
| icinga_notification |
| icinga_notification_field |
| icinga_notification_inheritance |
| icinga_notification_resolved_var |
| icinga_notification_states_set |
| icinga_notification_types_set |
| icinga_notification_user |
| icinga_notification_usergroup |
| icinga_notification_var |
| icinga_scheduled_downtime |
| icinga_scheduled_downtime_inheritance |
| icinga_scheduled_downtime_range |
| icinga_service |
| icinga_service_field |
| icinga_service_inheritance |
| icinga_service_resolved_var |
| icinga_service_set |
| icinga_service_set_inheritance |
| icinga_service_set_resolved_var |
| icinga_service_set_var |
| icinga_service_template_choice |
| icinga_service_var |
| icinga_servicegroup |
| icinga_servicegroup_inheritance |
| icinga_servicegroup_service |
| icinga_servicegroup_service_resolved |
| icinga_timeperiod |
| icinga_timeperiod_exclude |
| icinga_timeperiod_include |
| icinga_timeperiod_inheritance |
| icinga_timeperiod_range |
| icinga_user |
| icinga_user_field |
| icinga_user_inheritance |
| icinga_user_resolved_var |
| icinga_user_states_set |
| icinga_user_types_set |
| icinga_user_var |
| icinga_usergroup |
| icinga_usergroup_inheritance |
| icinga_usergroup_parent |
| icinga_usergroup_user |
| icinga_var |
| icinga_zone |
| icinga_zone_inheritance |
| import_row_modifier |
| import_row_modifier_setting |
| import_run |
| import_source |
| import_source_setting |
| imported_property |
| imported_row |
| imported_row_property |
| imported_rowset |
| imported_rowset_row |
| sync_property |
| sync_rule |
| sync_run |
+---------------------------------------+
RobbieTheK
(Robbie The K)
December 2, 2022, 4:02am
7
It is a production server
that looks like a not upgraded director database.
not icinga2 not icingaweb2
call the person who installed that and ask him or her to fix that.
RobbieTheK
(Robbie The K)
December 2, 2022, 4:09am
11
I am that person so what needs to be run?
mysql> use icinga;
mysql> show tables;
+---------------------------------------+
| Tables_in_director |
i hope there is something wrong with copy and paste, because your icinga database shows icinga_director tables
since this is not the icingaweb2 database maybe your migrations should go to icingausers?
post the table list of all of these databases:
| director |
| icinga |
| icingausers |
RobbieTheK
(Robbie The K)
December 2, 2022, 4:19am
13
mysql> use director;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+---------------------------------------+
| Tables_in_director |
+---------------------------------------+
| director_activity_log |
| director_basket |
| director_basket_content |
| director_basket_snapshot |
| director_daemon_info |
| director_datafield |
| director_datafield_category |
| director_datafield_setting |
| director_datalist |
| director_datalist_entry |
| director_deployment_log |
| director_generated_config |
| director_generated_config_file |
| director_generated_file |
| director_job |
| director_job_setting |
| director_schema_migration |
| director_setting |
| icinga_apiuser |
| icinga_command |
| icinga_command_argument |
| icinga_command_field |
| icinga_command_inheritance |
| icinga_command_resolved_var |
| icinga_command_var |
| icinga_dependency |
| icinga_dependency_inheritance |
| icinga_dependency_states_set |
| icinga_endpoint |
| icinga_endpoint_inheritance |
| icinga_flat_var |
| icinga_host |
| icinga_host_field |
| icinga_host_inheritance |
| icinga_host_resolved_var |
| icinga_host_service |
| icinga_host_service_blacklist |
| icinga_host_template_choice |
| icinga_host_var |
| icinga_hostgroup |
| icinga_hostgroup_host |
| icinga_hostgroup_host_resolved |
| icinga_hostgroup_inheritance |
| icinga_hostgroup_parent |
| icinga_notification |
| icinga_notification_field |
| icinga_notification_inheritance |
| icinga_notification_resolved_var |
| icinga_notification_states_set |
| icinga_notification_types_set |
| icinga_notification_user |
| icinga_notification_usergroup |
| icinga_notification_var |
| icinga_scheduled_downtime |
| icinga_scheduled_downtime_inheritance |
| icinga_scheduled_downtime_range |
| icinga_service |
| icinga_service_field |
| icinga_service_inheritance |
| icinga_service_resolved_var |
| icinga_service_set |
| icinga_service_set_inheritance |
| icinga_service_set_resolved_var |
| icinga_service_set_var |
| icinga_service_template_choice |
| icinga_service_var |
| icinga_servicegroup |
| icinga_servicegroup_inheritance |
| icinga_servicegroup_service |
| icinga_servicegroup_service_resolved |
| icinga_timeperiod |
| icinga_timeperiod_exclude |
| icinga_timeperiod_include |
| icinga_timeperiod_inheritance |
| icinga_timeperiod_range |
| icinga_user |
| icinga_user_field |
| icinga_user_inheritance |
| icinga_user_resolved_var |
| icinga_user_states_set |
| icinga_user_types_set |
| icinga_user_var |
| icinga_usergroup |
| icinga_usergroup_inheritance |
| icinga_usergroup_parent |
| icinga_usergroup_user |
| icinga_var |
| icinga_zone |
| icinga_zone_inheritance |
| import_row_modifier |
| import_row_modifier_setting |
| import_run |
| import_source |
| import_source_setting |
| imported_property |
| imported_row |
| imported_row_property |
| imported_rowset |
| imported_rowset_row |
| sync_property |
| sync_rule |
| sync_run |
+---------------------------------------+
102 rows in set (0.00 sec)
mysql> use icinga;
Database changed
mysql> show tables;
+----------------------------------------+
| Tables_in_icinga |
+----------------------------------------+
| director_activity_log |
| director_basket |
| director_basket_content |
| director_basket_snapshot |
| director_branch |
| director_branch_activity |
| director_daemon_info |
| director_datafield |
| director_datafield_category |
| director_datafield_setting |
| director_datalist |
| director_datalist_entry |
| director_deployment_log |
| director_generated_config |
| director_generated_file |
| director_job |
| director_job_setting |
| director_schema_migration |
| director_setting |
| icinga_acknowledgements |
| icinga_apiuser |
| icinga_command |
| icinga_command_argument |
| icinga_command_field |
| icinga_command_inheritance |
| icinga_command_resolved_var |
| icinga_command_var |
| icinga_commands |
| icinga_commenthistory |
| icinga_comments |
| icinga_configfiles |
| icinga_configfilevariables |
| icinga_conninfo |
| icinga_contact_addresses |
| icinga_contact_notificationcommands |
| icinga_contactgroup_members |
| icinga_contactgroups |
| icinga_contactnotificationmethods |
| icinga_contactnotifications |
| icinga_contacts |
| icinga_contactstatus |
| icinga_customvariables |
| icinga_customvariablestatus |
| icinga_dbversion |
| icinga_dependency |
| icinga_dependency_inheritance |
| icinga_dependency_states_set |
| icinga_downtimehistory |
| icinga_endpoint |
| icinga_endpoint_inheritance |
| icinga_endpoints |
| icinga_endpointstatus |
| icinga_eventhandlers |
| icinga_externalcommands |
| icinga_flappinghistory |
| icinga_flat_var |
| icinga_host |
| icinga_host_contactgroups |
| icinga_host_contacts |
| icinga_host_field |
| icinga_host_inheritance |
| icinga_host_parenthosts |
| icinga_host_resolved_var |
| icinga_host_service |
| icinga_host_service_blacklist |
| icinga_host_template_choice |
| icinga_host_var |
| icinga_hostchecks |
| icinga_hostdependencies |
| icinga_hostescalation_contactgroups |
| icinga_hostescalation_contacts |
| icinga_hostescalations |
| icinga_hostgroup |
| icinga_hostgroup_host |
| icinga_hostgroup_host_resolved |
| icinga_hostgroup_inheritance |
| icinga_hostgroup_members |
| icinga_hostgroup_parent |
| icinga_hostgroups |
| icinga_hosts |
| icinga_hoststatus |
| icinga_instances |
| icinga_logentries |
| icinga_notification |
| icinga_notification_field |
| icinga_notification_inheritance |
| icinga_notification_resolved_var |
| icinga_notification_states_set |
| icinga_notification_types_set |
| icinga_notification_user |
| icinga_notification_usergroup |
| icinga_notification_var |
| icinga_notifications |
| icinga_objects |
| icinga_processevents |
| icinga_programstatus |
| icinga_runtimevariables |
| icinga_scheduled_downtime |
| icinga_scheduled_downtime_inheritance |
| icinga_scheduled_downtime_range |
| icinga_scheduleddowntime |
| icinga_service |
| icinga_service_contactgroups |
| icinga_service_contacts |
| icinga_service_field |
| icinga_service_inheritance |
| icinga_service_resolved_var |
| icinga_service_set |
| icinga_service_set_inheritance |
| icinga_service_set_resolved_var |
| icinga_service_set_var |
| icinga_service_template_choice |
| icinga_service_var |
| icinga_servicechecks |
| icinga_servicedependencies |
| icinga_serviceescalation_contactgroups |
| icinga_serviceescalation_contacts |
| icinga_serviceescalations |
| icinga_servicegroup |
| icinga_servicegroup_inheritance |
| icinga_servicegroup_members |
| icinga_servicegroup_service |
| icinga_servicegroup_service_resolved |
| icinga_servicegroups |
| icinga_services |
| icinga_servicestatus |
| icinga_statehistory |
| icinga_systemcommands |
| icinga_timeperiod |
| icinga_timeperiod_exclude |
| icinga_timeperiod_include |
| icinga_timeperiod_inheritance |
| icinga_timeperiod_range |
| icinga_timeperiod_timeranges |
| icinga_timeperiods |
| icinga_user |
| icinga_user_field |
| icinga_user_inheritance |
| icinga_user_resolved_var |
| icinga_user_states_set |
| icinga_user_types_set |
| icinga_user_var |
| icinga_usergroup |
| icinga_usergroup_inheritance |
| icinga_usergroup_parent |
| icinga_usergroup_user |
| icinga_var |
| icinga_zone |
| icinga_zone_inheritance |
| icinga_zones |
| icinga_zonestatus |
| icingaweb_rememberme |
| import_row_modifier |
| import_row_modifier_setting |
| import_run |
| import_source |
| import_source_setting |
| imported_property |
| imported_row |
| imported_row_property |
| imported_rowset |
| imported_rowset_row |
| sync_property |
| sync_rule |
| sync_run |
+----------------------------------------+
165 rows in set (0.01 sec)
mysql> use icingausers;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+---------------------------------------+
| Tables_in_icingausers |
+---------------------------------------+
| director_activity_log |
| director_basket |
| director_basket_content |
| director_basket_snapshot |
| director_daemon_info |
| director_datafield |
| director_datafield_category |
| director_datalist |
| director_datalist_entry |
| director_deployment_log |
| director_generated_config |
| director_generated_config_file |
| director_generated_file |
| icinga_apiuser |
| icinga_command |
| icinga_command_argument |
| icinga_command_field |
| icinga_command_inheritance |
| icinga_command_resolved_var |
| icinga_command_var |
| icinga_dependency |
| icinga_dependency_inheritance |
| icinga_dependency_states_set |
| icinga_endpoint |
| icinga_endpoint_inheritance |
| icinga_flat_var |
| icinga_host |
| icinga_host_field |
| icinga_host_inheritance |
| icinga_host_resolved_var |
| icinga_host_service |
| icinga_host_service_blacklist |
| icinga_host_template_choice |
| icinga_host_var |
| icinga_hostgroup |
| icinga_hostgroup_host |
| icinga_hostgroup_host_resolved |
| icinga_hostgroup_inheritance |
| icinga_hostgroup_parent |
| icinga_notification |
| icinga_notification_field |
| icinga_notification_inheritance |
| icinga_notification_resolved_var |
| icinga_notification_states_set |
| icinga_notification_types_set |
| icinga_notification_user |
| icinga_notification_usergroup |
| icinga_notification_var |
| icinga_scheduled_downtime |
| icinga_scheduled_downtime_inheritance |
| icinga_scheduled_downtime_range |
| icinga_service |
| icinga_service_field |
| icinga_service_inheritance |
| icinga_service_resolved_var |
| icinga_service_set |
| icinga_service_set_inheritance |
| icinga_service_set_resolved_var |
| icinga_service_set_var |
| icinga_service_template_choice |
| icinga_service_var |
| icinga_servicegroup |
| icinga_servicegroup_inheritance |
| icinga_servicegroup_service |
| icinga_servicegroup_service_resolved |
| icinga_timeperiod |
| icinga_timeperiod_exclude |
| icinga_timeperiod_include |
| icinga_timeperiod_inheritance |
| icinga_timeperiod_range |
| icinga_user |
| icinga_user_field |
| icinga_user_inheritance |
| icinga_user_resolved_var |
| icinga_user_states_set |
| icinga_user_types_set |
| icinga_user_var |
| icinga_usergroup |
| icinga_usergroup_inheritance |
| icinga_usergroup_parent |
| icinga_usergroup_user |
| icinga_var |
| icinga_zone |
| icinga_zone_inheritance |
| icingaweb_group |
| icingaweb_group_membership |
| icingaweb_rememberme |
| icingaweb_user |
| icingaweb_user_preference |
| import_row_modifier |
| import_row_modifier_setting |
| import_run |
| import_source |
| import_source_setting |
| imported_property |
| imported_row |
| imported_row_property |
| imported_rowset |
| imported_rowset_row |
| sync_property |
| sync_rule |
| sync_run |
+---------------------------------------+
102 rows in set (0.01 sec)
well first of all, there are director tables in all of the databases which is very strange.
you icingaweb2 migrations should go to icingausers
mysql -u root -p icingausers < /usr/share/doc/icingaweb2/schema/mysql-upgrades/2.11.0.sql
Enter password:
ERROR 1146 (42S02) at line 1: Table 'icinga.icingaweb_group' doesn't exist
but keep in mind your production unit is very messed up
after that you need to find out which is the correct director database.
its most likely the one with your “production”-content in icinga_hosts
RobbieTheK
(Robbie The K)
December 2, 2022, 4:37am
16
Director is back and working after your suggestion! Now how do I future-proof this for my replacement?
icinga_hosts
does have:
| host_id | instance_id | config_type | host_object_id | alias | display_name | address | address6 | check_command_object_id | check_command_args | eventhandler_command_object_id | eventhandler_command_args | notification_timeperiod_object_id | check_timeperiod_object_id | failure_prediction_options | check_interval | retry_interval | max_check_attempts | first_notification_delay | notification_interval | notify_on_down | notify_on_unreachable | notify_on_recovery | notify_on_flapping | notify_on_downtime | stalk_on_up | stalk_on_down | stalk_on_unreachable | flap_detection_enabled | flap_detection_on_up | flap_detection_on_down | flap_detection_on_unreachable | low_flap_threshold | high_flap_threshold | process_performance_data | freshness_checks_enabled | freshness_threshold | passive_checks_enabled | event_handler_enabled | active_checks_enabled | retain_status_information | retain_nonstatus_information | notifications_enabled | obsess_over_host | failure_prediction_enabled | notes | notes_url | action_url | icon_image | icon_image_alt | vrml_image | statusmap_image | have_2d_coords | x_2d | y_2d | have_3d_coords | x_3d | y_3d | z_3d | config_h
And I can see the hostnames of the servers/devices we are monitoring.
I have no idea what you mean…
RobbieTheK
(Robbie The K)
December 2, 2022, 4:42am
18
Well I just meant what’s the best path forward now that it’s working again? Like what should I tell my replacement for future upgrades? Run the SQL file on the icingausers DB?
my personal opinion:
start from scratch or clean up the installation.
yes in your setup icingaweb2 migrations go to your db “icingausers”
your replacement can install icinga2 with director on a test server.
after that he or she will have the basic knowledge of how things should be
tables for director database → config data
tables for icinga_ido or icingadb → live and historic data of icinga2
tables for icingaweb2 → icingaweb2 users and settings
then you can backup the production server clean up the wrong tables.