Icinga Director Base table or view not found: 1146 Table 'director.director_activity_log_remark

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

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?

is the database “icinga” your icinga2 or icingaweb2 database?

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                              |
+---------------------------------------+

It is a production server

that looks like a not upgraded director database.
not icinga2 not icingaweb2

OK what should I run?

call the person who installed that and ask him or her to fix that.

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        | 
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

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…

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.