diff --git a/library/Icingadb/Redis/VolatileStateResults.php b/library/Icingadb/Redis/VolatileStateResults.php index 089b93ca6..c56db2721 100644 --- a/library/Icingadb/Redis/VolatileStateResults.php +++ b/library/Icingadb/Redis/VolatileStateResults.php @@ -7,6 +7,7 @@ use Icinga\Application\Benchmark; use Icinga\Module\Icingadb\Common\Auth; use Icinga\Module\Icingadb\Common\IcingaRedis; +use Icinga\Module\Icingadb\Model\DependencyNode; use Icinga\Module\Icingadb\Model\Host; use Icinga\Module\Icingadb\Model\Service; use ipl\Orm\Query; @@ -108,7 +109,19 @@ protected function applyRedisUpdates($rows) $states = []; $hostStates = []; foreach ($rows as $row) { - if ($type === null) { + if ($row instanceof DependencyNode) { + if ($row->redundancy_group_id !== null) { + continue; + } elseif ($row->service_id !== null) { + $type = 'service'; + $row = $row->service; + } else { + $type = 'host'; + $row = $row->host; + } + + $behaviors = $this->resolver->getBehaviors($row->state); + } elseif ($type === null) { $behaviors = $this->resolver->getBehaviors($row->state); switch (true) {