Icinga / icingaweb2-module-cube

Drill-down view for Icinga web 2 based on custom variables
GNU General Public License v2.0
45 stars 12 forks source link

Cube and Director List fields #27

Closed mariuszkopowski closed 5 years ago

mariuszkopowski commented 6 years ago

Hi I have few fields based on Lists from director. When I'm trying to add more then one dimension I get an error

#0 /usr/share/icingaweb2/modules/cube/library/Cube/Ido/IdoHostStatusCubeRenderer.php(21): Icinga\Application\ApplicationBootstrap->Icinga\Application\{closure}(Integer, String, String, Integer, Array)
#1 /usr/share/icingaweb2/modules/cube/library/Cube/CubeRenderer.php(294): Icinga\Module\Cube\Ido\IdoHostStatusCubeRenderer->renderDimensionLabel(String, Object(stdClass))
#2 /usr/share/icingaweb2/modules/cube/library/Cube/CubeRenderer.php(219): Icinga\Module\Cube\CubeRenderer->beginDimension(String, Object(stdClass))
#3 /usr/share/icingaweb2/modules/cube/library/Cube/CubeRenderer.php(201): Icinga\Module\Cube\CubeRenderer->beginDimensionsUpFrom(String, Object(stdClass))
#4 /usr/share/icingaweb2/modules/cube/library/Cube/CubeRenderer.php(190): Icinga\Module\Cube\CubeRenderer->beginDimensionsForRow(Object(stdClass))
#5 /usr/share/icingaweb2/modules/cube/library/Cube/CubeRenderer.php(176): Icinga\Module\Cube\CubeRenderer->renderRow(Object(stdClass))
#6 /usr/share/icingaweb2/modules/cube/library/Cube/Cube.php(290): Icinga\Module\Cube\CubeRenderer->render(Object(Icinga\Web\View))
#7 zend.view:///usr/share/icingaweb2/modules/cube/application/views/scripts/index/index.phtml(18): Icinga\Module\Cube\Cube->render(Object(Icinga\Web\View))
#8 /usr/share/php/Icinga/Web/View.php(270): include(String)
#9 /usr/share/icingaweb2/library/vendor/Zend/View/Abstract.php(877): Icinga\Web\View->_run(String)
#10 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action/Helper/ViewRenderer.php(904): Zend_View_Abstract->render(NULL)
#11 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action/Helper/ViewRenderer.php(925): Zend_Controller_Action_Helper_ViewRenderer->renderScript(String, NULL)
#12 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action/Helper/ViewRenderer.php(964): Zend_Controller_Action_Helper_ViewRenderer->render()
#13 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action/HelperBroker.php(272): Zend_Controller_Action_Helper_ViewRenderer->postDispatch()
#14 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action.php(518): Zend_Controller_Action_HelperBroker->notifyPostDispatch()
#15 /usr/share/php/Icinga/Web/Controller/Dispatcher.php(76): Zend_Controller_Action->dispatch(String)
#16 /usr/share/icingaweb2/library/vendor/Zend/Controller/Front.php(937): Icinga\Web\Controller\Dispatcher->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
#17 /usr/share/php/Icinga/Application/Web.php(407): Zend_Controller_Front->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
#18 /usr/share/php/Icinga/Application/webrouter.php(104): Icinga\Application\Web->dispatch()
#19 /usr/share/icingaweb2/public/index.php(4): require_once(String)
#20 {main}

Environment:

zleinweber commented 6 years ago

I have this issue as well. I can add a single dimension without any problems. But if I try to add a second dimension I get the following:

`#0 /usr/share/icingaweb2/modules/cube/library/Cube/Ido/IdoHostStatusCubeRenderer.php(21): Icinga\Application\ApplicationBootstrap->Icinga\Application{closure}(Integer, String, String, Integer, Array)

1 /usr/share/icingaweb2/modules/cube/library/Cube/CubeRenderer.php(294): Icinga\Module\Cube\Ido\IdoHostStatusCubeRenderer->renderDimensionLabel(String, Object(stdClass))

2 /usr/share/icingaweb2/modules/cube/library/Cube/CubeRenderer.php(219): Icinga\Module\Cube\CubeRenderer->beginDimension(String, Object(stdClass))

3 /usr/share/icingaweb2/modules/cube/library/Cube/CubeRenderer.php(201): Icinga\Module\Cube\CubeRenderer->beginDimensionsUpFrom(String, Object(stdClass))

4 /usr/share/icingaweb2/modules/cube/library/Cube/CubeRenderer.php(190): Icinga\Module\Cube\CubeRenderer->beginDimensionsForRow(Object(stdClass))

5 /usr/share/icingaweb2/modules/cube/library/Cube/CubeRenderer.php(176): Icinga\Module\Cube\CubeRenderer->renderRow(Object(stdClass))

6 /usr/share/icingaweb2/modules/cube/library/Cube/Cube.php(290): Icinga\Module\Cube\CubeRenderer->render(Object(Icinga\Web\View))

7 zend.view:///usr/share/icingaweb2/modules/cube/application/views/scripts/index/index.phtml(18): Icinga\Module\Cube\Cube->render(Object(Icinga\Web\View))

8 /usr/share/php/Icinga/Web/View.php(270): include(String)

9 /usr/share/icingaweb2/library/vendor/Zend/View/Abstract.php(877): Icinga\Web\View->_run(String)

10 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action/Helper/ViewRenderer.php(904): Zend_View_Abstract->render(String)

11 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action/Helper/ViewRenderer.php(925): Zend_Controller_Action_Helper_ViewRenderer->renderScript(String, NULL)

12 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action/Helper/ViewRenderer.php(964): Zend_Controller_Action_Helper_ViewRenderer->render()

13 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action/HelperBroker.php(272): Zend_Controller_Action_Helper_ViewRenderer->postDispatch()

14 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action.php(518): Zend_Controller_Action_HelperBroker->notifyPostDispatch()

15 /usr/share/php/Icinga/Web/Controller/Dispatcher.php(76): Zend_Controller_Action->dispatch(String)

16 /usr/share/icingaweb2/library/vendor/Zend/Controller/Front.php(937): Icinga\Web\Controller\Dispatcher->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))

17 /usr/share/php/Icinga/Application/Web.php(407): Zend_Controller_Front->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))

18 /usr/share/php/Icinga/Application/webrouter.php(104): Icinga\Application\Web->dispatch()

19 /usr/share/icingaweb2/public/index.php(4): require_once(String)

20 {main}`

mariuszkopowski commented 6 years ago

I get also similiar Error when I have a data field that isn't from Data List but fill it out with defualt value in template e.g. I have a template called "Windows" and there I have a field called "App" in template I fill it out with "Unknown" then each host have some other value e.g. "VMWare", "Web" etc. Then I get error as above. But if I remove defualt value ("Unknown") everything works ok.

joostvdbroek93 commented 6 years ago

+1, I get the same error output

buzzdeee commented 6 years ago

what DB backend are you running? I've seen the same with PostgreSQL db backend, see #9 there someone reported he switched to MySQL and the problem disappeared.

joostvdbroek93 commented 6 years ago

I'm running PostgreSQL 10.4 so that might be the problem then. Thanks for pointing out @buzzdeee !

joostvdbroek93 commented 6 years ago

It works fine after running MySql instead of PostgreSQL 10.4. So, I can confirm that it has something to do with Cube + PostgreSQL. Even if PostgreSQL >= 9.5.

mariuszkopowski commented 6 years ago

Hi all I'm running postgres 9.6. Is there any way to migrate to MySQL without loosing data? Or even better is there any way to fix this?

nbuchwitz commented 6 years ago

@mariuszkopowski, no need for migration, please test with #29 which could fix your errors

nilmerg commented 5 years ago

Since the related PR is now merged >> Closed.