Php error 'require_once(HTMLPurifier/Bootstrap.php): Failed to open stream' after update to icingaweb2 to version 2.12.1

I updatet icingaweb2 from 2.11.4 to 2.12.1, icinga-php-library from 0.12.0 to 0.13.1, icingadb from 1.1.0 to 1.1.1 icinga2 from 2.13.7 to 2.14.0. We use icingadb.
After the updates, we get the following error message in a web-modul (old modul eventdb with some adaptions to use icingadb):
require_once(HTMLPurifier/Bootstrap.php): Failed to open stream: No such file or directory

#0 /usr/share/icingaweb2/modules/eventdb/application/views/helpers/EventMessage.php(53): Icinga\Application\ApplicationBootstrap->Icinga\Application\{closure}()
#1 /usr/share/icingaweb2/modules/eventdb/application/views/helpers/EventMessage.php(53): require_once()
#2 /usr/share/icingaweb2/modules/eventdb/application/views/helpers/EventMessage.php(27): Zend_View_Helper_EventMessage->getPurifier()
#3 /usr/share/icinga-php/vendor/vendor/shardj/zf1-future/library/Zend/View/Abstract.php(363): Zend_View_Helper_EventMessage->eventMessage()
#4 /usr/share/php/Icinga/Web/View.php(251): Zend_View_Abstract->__call()
#5 /usr/share/icingaweb2/modules/eventdb/application/views/helpers/Column.php(40): Icinga\Web\View->__call()
#6 /usr/share/icinga-php/vendor/vendor/shardj/zf1-future/library/Zend/View/Abstract.php(363): Zend_View_Helper_Column->column()
#7 /usr/share/php/Icinga/Web/View.php(251): Zend_View_Abstract->__call()
#8 /usr/share/icingaweb2/modules/eventdb/application/views/scripts/events/index.phtml(76): Icinga\Web\View->__call()
#9 /usr/share/php/Icinga/Web/View.php(235): include(String)
#10 /usr/share/icinga-php/vendor/vendor/shardj/zf1-future/library/Zend/View/Abstract.php(886): Icinga\Web\View->_run()
#11 /usr/share/icinga-php/vendor/vendor/shardj/zf1-future/library/Zend/Controller/Action/Helper/ViewRenderer.php(910): Zend_View_Abstract->render()
#12 /usr/share/icinga-php/vendor/vendor/shardj/zf1-future/library/Zend/Controller/Action/Helper/ViewRenderer.php(931): Zend_Controller_Action_Helper_ViewRenderer->renderScript()
#13 /usr/share/icinga-php/vendor/vendor/shardj/zf1-future/library/Zend/Controller/Action/Helper/ViewRenderer.php(970): Zend_Controller_Action_Helper_ViewRenderer->render()
#14 /usr/share/icinga-php/vendor/vendor/shardj/zf1-future/library/Zend/Controller/Action/HelperBroker.php(277): Zend_Controller_Action_Helper_ViewRenderer->postDispatch()
#15 /usr/share/icinga-php/vendor/vendor/shardj/zf1-future/library/Zend/Controller/Action.php(527): Zend_Controller_Action_HelperBroker->notifyPostDispatch()
#16 /usr/share/php/Icinga/Web/Controller/Dispatcher.php(76): Zend_Controller_Action->dispatch()
#17 /usr/share/icinga-php/vendor/vendor/shardj/zf1-future/library/Zend/Controller/Front.php(954): Icinga\Web\Controller\Dispatcher->dispatch()
#18 /usr/share/php/Icinga/Application/Web.php(294): Zend_Controller_Front->dispatch()
#19 /usr/share/php/Icinga/Application/webrouter.php(105): Icinga\Application\Web->dispatch()
#20 /usr/share/icingaweb2/public/index.php(4): require_once(String)
#21 {main}

Any ideas how to fix this?
Thanks for any hints, Matthias

I think they moved something and your eventdb module requires an update.

Thank you for your replay. Could you please explain a bit more, what we have to change in the code of the web modul now? Sorry, I’m not a php-expert and until now, I found no solution. Maybe we have to change some includes, paths?

I think you should open a github issue for the eventdb module

I think, the project is dead and there is no official version supporting icingadb (I made some changes to the module to have an icingadb version), but it is still useful for us, as I know of no other good solution to monitor snmp-traps with icinga. So we still use eventdb and the corresponding icingaweb2 module.

is there a pull request with your changes or some fork on github?
otherwise it wouldn’t make much sense to look at this already outdated module…

Do you know trapdirector?

Hi Roland
Thank you for the tip. Yes, I know trapdirector but I did not yet test it. For me, it seems to be a dead project too. Further, I think you have to define which traps your interested in and ‘connect’ them to services in icinga.
With the eventdb you just send all traps to a DB and with the eventdb-module you have a GUI for the DB where you can filter and acknowledge traps. In our case, this is very convenient and I did not find another solution which is still developed further.

This one should be rather easy to fix. Just remove the corresponding require_once instructions. They shouldn’t need a replacement.

1 Like

Hi Johannes
Thanks a lot. This seems to work.
There are still some other issues about abstract classes, but they sould be solvable.