When opening the Monitoring > Hosts > Hosts view to view all the available and configured hosts in Centreon 2.1.4 you will get a blank result. This happens because there is a coding error in the following file.
/usr/local/centreon/www/include/monitoring/status/Hosts/xml/hostXML.php on line 249
To correct it you need to add a else statement to the if, elseif validation that happens there. So open the file listed above using your fav. editor (vim in my case)
vim /usr/local/centreon/www/include/monitoring/status/Hosts/xml/hostXML.php
Version 2.1.4
Skip to line 249 typing ” :249 ” followed by an enter stroke.
On that line there should be something like;
if (($ndo["last_hard_state_change"] > 0) && ($ndo["last_hard_state_change"] >= $ndo["last_state_change"])) $hard_duration = Duration::toString(time() - $ndo["last_hard_state_change"]); else if ($ndo["last_hard_state_change"] > 0) $hard_duration = " N/A ";
Change it to this by adding the part starting from “else”.
if (($ndo["last_hard_state_change"] > 0) && ($ndo["last_hard_state_change"] >= $ndo["last_state_change"])) $hard_duration = Duration::toString(time() - $ndo["last_hard_state_change"]); else if ($ndo["last_hard_state_change"] > 0) $hard_duration = " N/A "; else $hard_duration = " unknown ";
Version 2.1.8
Goto rule 272 in the same file and locate this piece of code:
if (($ndo["last_hard_state_change"] > 0) && ($ndo["last_hard_state_change"] >= $ndo["last_state_change"])) $hard_duration = Duration::toString(time() - $ndo["last_hard_state_change"]); else if ($ndo["last_hard_state_change"] > 0) $hard_duration = " N/A ";
Add the following to make it work.
if (($ndo["last_hard_state_change"] > 0) && ($ndo["last_hard_state_change"] >= $ndo["last_state_change"])) $hard_duration = Duration::toString(time() - $ndo["last_hard_state_change"]); else if ($ndo["last_hard_state_change"] > 0) $hard_duration = " N/A "; else $hard_duration = "N/A";
This same rule is responsible for the following errors in your apache error_log.
PHP Notice: Undefined variable: hard_duration in /usr/local/centreon/www/include/monitoring/status/Hosts/xml/hostXML.php on line 271, referer: http://centreon.amis.nl/centreon/main.php?p=20102&o=h
This change should fix it for ya.
Grtz, Chris.
Tagged: 2.1.4, 271, Apache, centreon, Error, error_log, fix, hard_duration, Host, hosts, In, line, monitoring, not, notice, On, PHP, showing, Undefined, variable, Version, view
