33 lines
960 B
PHP
33 lines
960 B
PHP
|
<?php
|
||
|
/* Icinga Web 2 | (c) 2018 Icinga Development Team | GPLv2+ */
|
||
|
|
||
|
namespace Icinga\Module\Monitoring\ProvidedHook;
|
||
|
|
||
|
use Icinga\Application\Hook\ApplicationStateHook;
|
||
|
use Icinga\Module\Monitoring\Backend\MonitoringBackend;
|
||
|
|
||
|
class ApplicationState extends ApplicationStateHook
|
||
|
{
|
||
|
public function collectMessages()
|
||
|
{
|
||
|
$backend = MonitoringBackend::instance();
|
||
|
|
||
|
$programStatus = $backend
|
||
|
->select()
|
||
|
->from(
|
||
|
'programstatus',
|
||
|
['is_currently_running', 'status_update_time']
|
||
|
)
|
||
|
->fetchRow();
|
||
|
|
||
|
if ($programStatus === false || ! (bool) $programStatus->is_currently_running) {
|
||
|
$message = sprintf(
|
||
|
mt('monitoring', "Monitoring backend '%s' is not running."),
|
||
|
$backend->getName()
|
||
|
);
|
||
|
|
||
|
$this->addError('monitoring/backend-down', $programStatus->status_update_time, $message);
|
||
|
}
|
||
|
}
|
||
|
}
|