Icingadb-web error when enabled

I have been working on getting icingadb and icingadb-web installed to see how it is and have most everything ready, however I am seeing a ‘fatal error’ when I enable the icingadb-web module in icingaweb2. I have not been able to perform any configuration on the module yet due to the error below:

Fatal error
: Uncaught ErrorException: Uncaught Icinga\Exception\ProgrammingError: Cannot find renderer “HostProblemsBadge” for navigation item “Hosts” in /usr/share/php/Icinga/Web/Navigation/NavigationItem.php:794 Stack trace: #0 /usr/share/php/Icinga/Web/Navigation/NavigationItem.php(818): Icinga\Web\Navigation\NavigationItem->createRenderer(‘HostProblemsBad…’) #1 /usr/share/php/Icinga/Web/Navigation/NavigationItem.php(678): Icinga\Web\Navigation\NavigationItem->setRenderer(‘HostProblemsBad…’) #2 /usr/share/php/Icinga/Web/Navigation/NavigationItem.php(159): Icinga\Web\Navigation\NavigationItem->setProperties(Array) #3 /usr/share/php/Icinga/Web/Navigation/Navigation.php(139): Icinga\Web\Navigation\NavigationItem->__construct(‘Hosts’, Array) #4 /usr/share/php/Icinga/Web/Navigation/Navigation.php(207): Icinga\Web\Navigation\Navigation->createItem(‘Hosts’, Array) #5 /usr/share/php/Icinga/Web/Navigation/Navigation.php(570): Icinga\Web\Navigation\Navigation->addItem(‘Hosts’, Array) #6 /usr/share/php/Icinga/Web/Navigation/N in
/usr/share/icingaweb2/library/vendor/Zend/Controller/Plugin/Broker.php
on line
259

I verified that both icingadb and icingadb-redis services are running and the redis php module is installed.

'# php-fpm -m | grep redis
redis

My system is RHEL 8.3 with PHP 7.3 and mariadb 10.3 installed. I’m hoping this isn’t due to me running RHEL 8 instead of 7 as that rebuild would be quite painful, but everything else has worked up until this point without issue.

I was able to at least get into the configuration by disabling permissions to icingadb-web for a single user with icingaweb2 config permissions. This allowed me to enable the module without erroring out the webUI. However, when I open the configuration, I am greeted with this error message:

Uncaught Error: Class ‘Icinga\Module\Icingadb\Web\Controller’ not found in /usr/share/icingaweb2/modules/icingadb-web/application/controllers/ConfigController.php:24
Stack trace:
#0 /usr/share/icingaweb2/library/vendor/Zend/Controller/Dispatcher/Standard.php(352): include_once()
#1 /usr/share/icingaweb2/library/vendor/Zend/Controller/Dispatcher/Standard.php(271): Zend_Controller_Dispatcher_Standard->loadClass(‘ConfigControlle…’)
#2 /usr/share/php/Icinga/Web/Controller/Dispatcher.php(56): Zend_Controller_Dispatcher_Standard->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
#3 /usr/share/icingaweb2/library/vendor/Zend/Controller/Front.php(937): Icinga\Web\Controller\Dispatcher->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
#4 /usr/share/php/Icinga/Application/Web.php(300): Zend_Controller_Front->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
#5 /usr/share/php/Icinga/Application/webrouter.php(99): Icinga\Application\Web->dispatch()
#6 /usr/share/icingaweb

Not sure where to go from here on the issue.

Hi,

how did you name the module’s installation directory? This needs to be icingadb, not icingadb-web or icingaweb2-module-icingadb.

This was it. I was creating the install directory and installing the module via puppet and I guess I just didn’t put much thought into this. I created the directory as the module’s full name instead of just ‘icingadb’. When looking back at this, I do remember questioning myself as to what it would be. This allowed me to finish up the install, though I do have a few issues that need to be fixed that are probably due to me breaking something while trying to fix this problem.
If anybody is using the icingaweb2 puppet module, this is configuration that I got to work:

  icingadb:
    ensure: present
    module: icingadb
    install_method: git
    git_repository: https://github.com/Icinga/icingadb-web
    git_revision: v1.0.0-rc1
    settings:
      icingadb:
        target: "/etc/icingaweb2/modules/icingadb/config.ini"
        settings:
          resource: icingaweb2-icingadb
      redis1:
        target: "/etc/icingaweb2/modules/icingadb/config.ini"
        settings:
          host: localhost