monitoring/commands: Move toggle instance feature commands into a single command
refs #6593
This commit is contained in:
parent
5757a6f34b
commit
1247fdcad4
|
@ -1,22 +0,0 @@
|
||||||
<?php
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
|
|
||||||
namespace Icinga\Module\Monitoring\Command\Instance;
|
|
||||||
|
|
||||||
use Icinga\Module\Monitoring\Command\Common\ToggleFeature;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable/disable active host checks on an Icinga instance
|
|
||||||
*/
|
|
||||||
class ToggleActiveHostChecks extends ToggleFeature
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* (non-PHPDoc)
|
|
||||||
* @see \Icinga\Module\Monitoring\Command\IcingaCommand::getCommandString() For the method documentation.
|
|
||||||
*/
|
|
||||||
public function getCommandString()
|
|
||||||
{
|
|
||||||
return $this->enable === true ? 'START_EXECUTING_HOST_CHECKS' : 'STOP_EXECUTING_HOST_CHECKS';
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
<?php
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
|
|
||||||
namespace Icinga\Module\Monitoring\Command\Instance;
|
|
||||||
|
|
||||||
use Icinga\Module\Monitoring\Command\Common\ToggleFeature;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable/disable active service checks on an Icinga instance
|
|
||||||
*/
|
|
||||||
class ToggleActiveServiceChecks extends ToggleFeature
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* (non-PHPDoc)
|
|
||||||
* @see \Icinga\Module\Monitoring\Command\IcingaCommand::getCommandString() For the method documentation.
|
|
||||||
*/
|
|
||||||
public function getCommandString()
|
|
||||||
{
|
|
||||||
return $this->enable === true ? 'START_EXECUTING_SVC_CHECKS' : 'STOP_EXECUTING_SVC_CHECKS';
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
<?php
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
|
|
||||||
namespace Icinga\Module\Monitoring\Command\Instance;
|
|
||||||
|
|
||||||
use Icinga\Module\Monitoring\Command\Common\ToggleFeature;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable/disable host and service event handlers on an Icinga instance
|
|
||||||
*/
|
|
||||||
class ToggleEventHandlers extends ToggleFeature
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* (non-PHPDoc)
|
|
||||||
* @see \Icinga\Module\Monitoring\Command\IcingaCommand::getCommandString() For the method documentation.
|
|
||||||
*/
|
|
||||||
public function getCommandString()
|
|
||||||
{
|
|
||||||
return $this->enable === true ? 'ENABLE_EVENT_HANDLERS' : 'DISABLE_EVENT_HANDLERS';
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
<?php
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
|
|
||||||
namespace Icinga\Module\Monitoring\Command\Instance;
|
|
||||||
|
|
||||||
use Icinga\Module\Monitoring\Command\Common\ToggleFeature;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable/disable host and service flap detection on an Icinga instance
|
|
||||||
*/
|
|
||||||
class ToggleFlapDetection extends ToggleFeature
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* (non-PHPDoc)
|
|
||||||
* @see \Icinga\Module\Monitoring\Command\IcingaCommand::getCommandString() For the method documentation.
|
|
||||||
*/
|
|
||||||
public function getCommandString()
|
|
||||||
{
|
|
||||||
return $this->enable === true ? 'ENABLE_FLAP_DETECTION' : 'DISABLE_FLAP_DETECTION';
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -0,0 +1,123 @@
|
||||||
|
<?php
|
||||||
|
// {{{ICINGA_LICENSE_HEADER}}}
|
||||||
|
// {{{ICINGA_LICENSE_HEADER}}}
|
||||||
|
|
||||||
|
namespace Icinga\Module\Monitoring\Command\Instance;
|
||||||
|
|
||||||
|
use Icinga\Module\Monitoring\Command\IcingaCommand;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable or disable a feature of an Icinga instance
|
||||||
|
*/
|
||||||
|
class ToggleInstanceFeatureCommand extends IcingaCommand
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Feature for enabling or disabling active host checks on an Icinga instance
|
||||||
|
*/
|
||||||
|
const FEATURE_ACTIVE_HOST_CHECKS = 'active_host_checks_enabled';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Feature for enabling or disabling active service checks on an Icinga instance
|
||||||
|
*/
|
||||||
|
const FEATURE_ACTIVE_SERVICE_CHECKS = 'active_service_checks_enabled';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Feature for enabling or disabling host and service event handlers on an Icinga instance
|
||||||
|
*/
|
||||||
|
const FEATURE_EVENT_HANDLERS = 'event_handlers_enabled';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Feature for enabling or disabling host and service flap detection on an Icinga instance
|
||||||
|
*/
|
||||||
|
const FEATURE_FLAP_DETECTION = 'flap_detection_enabled';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Feature for enabling or disabling host and service notifications on an Icinga instance
|
||||||
|
*/
|
||||||
|
const FEATURE_NOTIFICATIONS = 'notifications_enabled';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Feature for enabling or disabling processing of host checks via the OCHP command on an Icinga instance
|
||||||
|
*/
|
||||||
|
const FEATURE_HOST_OBSESSING = 'obsess_over_hosts';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Feature for enabling or disabling processing of service checks via the OCHP command on an Icinga instance
|
||||||
|
*/
|
||||||
|
const FEATURE_SERVICE_OBSESSING = 'obsess_over_services';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Feature for enabling or disabling passive host checks on an Icinga instance
|
||||||
|
*/
|
||||||
|
const FEATURE_PASSIVE_HOST_CHECKS = 'passive_host_checks_enabled';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Feature for enabling or disabling passive service checks on an Icinga instance
|
||||||
|
*/
|
||||||
|
const FEATURE_PASSIVE_SERVICE_CHECKS = 'passive_service_checks_enabled';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Feature for enabling or disabling the processing of host and service performance data on an Icinga instance
|
||||||
|
*/
|
||||||
|
const FEATURE_PERFORMANCE_DATA = 'process_performance_data';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Feature that is to be enabled or disabled
|
||||||
|
*
|
||||||
|
* @var string
|
||||||
|
*/
|
||||||
|
protected $feature;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether the feature should be enabled or disabled
|
||||||
|
*
|
||||||
|
* @var bool
|
||||||
|
*/
|
||||||
|
protected $enabled;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the feature that is to be enabled or disabled
|
||||||
|
*
|
||||||
|
* @param string $feature
|
||||||
|
*
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function setFeature($feature)
|
||||||
|
{
|
||||||
|
$this->feature = (string) $feature;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the feature that is to be enabled or disabled
|
||||||
|
*
|
||||||
|
* @return string
|
||||||
|
*/
|
||||||
|
public function getFeature()
|
||||||
|
{
|
||||||
|
return $this->feature;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set whether the feature should be enabled or disabled
|
||||||
|
*
|
||||||
|
* @param bool $enabled
|
||||||
|
*
|
||||||
|
* @return $this
|
||||||
|
*/
|
||||||
|
public function setEnabled($enabled = true)
|
||||||
|
{
|
||||||
|
$this->enabled = (bool) $enabled;
|
||||||
|
return $this;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get whether the feature should be enabled or disabled
|
||||||
|
*
|
||||||
|
* @return bool
|
||||||
|
*/
|
||||||
|
public function getEnabled()
|
||||||
|
{
|
||||||
|
return $this->enabled;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,54 +0,0 @@
|
||||||
<?php
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
|
|
||||||
namespace Icinga\Module\Monitoring\Command\Instance;
|
|
||||||
|
|
||||||
use Icinga\Module\Monitoring\Command\Common\ToggleFeature;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable/disable host and service notifications on an Icinga instance
|
|
||||||
*/
|
|
||||||
class ToggleNotifications extends ToggleFeature
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* The time when notifications should be re-enabled after disabling
|
|
||||||
*
|
|
||||||
* @var int|null Unix timestamp
|
|
||||||
*/
|
|
||||||
protected $expireTime;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Disable notifications with optional expire time
|
|
||||||
*
|
|
||||||
* @param int|null $expireTime The Unix timestamp when notifications should be re-enabled after disabling
|
|
||||||
*
|
|
||||||
* @return $this
|
|
||||||
*/
|
|
||||||
public function disable($expireTime = null)
|
|
||||||
{
|
|
||||||
$this->expireTime = $expireTime !== null ? (int) $expireTime : null;
|
|
||||||
return parent::disable();
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* (non-PHPDoc)
|
|
||||||
* @see \Icinga\Module\Monitoring\Command\IcingaCommand::getCommandString() For the method documentation.
|
|
||||||
*/
|
|
||||||
public function getCommandString()
|
|
||||||
{
|
|
||||||
if ($this->enable === true) {
|
|
||||||
return 'ENABLE_NOTIFICATIONS';
|
|
||||||
}
|
|
||||||
if ($this->expireTime !== null) {
|
|
||||||
return sprintf(
|
|
||||||
'%s;%u;%u',
|
|
||||||
'DISABLE_NOTIFICATIONS_EXPIRE_TIME',
|
|
||||||
time(), // Schedule time. According to the Icinga documentation schedule time has no effect currently
|
|
||||||
// and should be set to the current timestamp.
|
|
||||||
$this->expireTime
|
|
||||||
);
|
|
||||||
}
|
|
||||||
return 'DISABLE_NOTIFICATIONS';
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
<?php
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
|
|
||||||
namespace Icinga\Module\Monitoring\Command\Instance;
|
|
||||||
|
|
||||||
use Icinga\Module\Monitoring\Command\Common\ToggleFeature;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable/disable processing of host checks via the OCHP command on an Icinga instance
|
|
||||||
*/
|
|
||||||
class ToggleObsessingOverHostChecks extends ToggleFeature
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* (non-PHPDoc)
|
|
||||||
* @see \Icinga\Module\Monitoring\Command\IcingaCommand::getCommandString() For the method documentation.
|
|
||||||
*/
|
|
||||||
public function getCommandString()
|
|
||||||
{
|
|
||||||
return $this->enable === true ? 'START_OBSESSING_OVER_HOST_CHECKS' : 'STOP_OBSESSING_OVER_HOST_CHECKS';
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
<?php
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
|
|
||||||
namespace Icinga\Module\Monitoring\Command\Instance;
|
|
||||||
|
|
||||||
use Icinga\Module\Monitoring\Command\Common\ToggleFeature;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable/disable processing of service checks via the OCHP command on an Icinga instance
|
|
||||||
*/
|
|
||||||
class ToggleObsessingOverServiceChecks extends ToggleFeature
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* (non-PHPDoc)
|
|
||||||
* @see \Icinga\Module\Monitoring\Command\IcingaCommand::getCommandString() For the method documentation.
|
|
||||||
*/
|
|
||||||
public function getCommandString()
|
|
||||||
{
|
|
||||||
return $this->enable === true ? 'START_OBSESSING_OVER_SVC_CHECKS' : 'STOP_OBSESSING_OVER_SVC_CHECKS';
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
<?php
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
|
|
||||||
namespace Icinga\Module\Monitoring\Command\Instance;
|
|
||||||
|
|
||||||
use Icinga\Module\Monitoring\Command\Common\ToggleFeature;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable/disable passive host checks on an Icinga instance
|
|
||||||
*/
|
|
||||||
class TogglePassiveHostChecks extends ToggleFeature
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* (non-PHPDoc)
|
|
||||||
* @see \Icinga\Module\Monitoring\Command\IcingaCommand::getCommandString() For the method documentation.
|
|
||||||
*/
|
|
||||||
public function getCommandString()
|
|
||||||
{
|
|
||||||
return $this->enable === true ? 'ENABLE_PASSIVE_HOST_CHECKS' : 'DISABLE_PASSIVE_HOST_CHECKS';
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
<?php
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
|
|
||||||
namespace Icinga\Module\Monitoring\Command\Instance;
|
|
||||||
|
|
||||||
use Icinga\Module\Monitoring\Command\Common\ToggleFeature;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable/disable passive service checks on an Icinga instance
|
|
||||||
*/
|
|
||||||
class TogglePassiveServiceChecks extends ToggleFeature
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* (non-PHPDoc)
|
|
||||||
* @see \Icinga\Module\Monitoring\Command\IcingaCommand::getCommandString() For the method documentation.
|
|
||||||
*/
|
|
||||||
public function getCommandString()
|
|
||||||
{
|
|
||||||
return $this->enable === true ? 'ENABLE_PASSIVE_SVC_CHECKS' : 'DISABLE_PASSIVE_SVC_CHECKS';
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,22 +0,0 @@
|
||||||
<?php
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
// {{{ICINGA_LICENSE_HEADER}}}
|
|
||||||
|
|
||||||
namespace Icinga\Module\Monitoring\Command\Instance;
|
|
||||||
|
|
||||||
use Icinga\Module\Monitoring\Command\Common\ToggleFeature;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Enable/disable the processing of host and service performance data on an Icinga instance
|
|
||||||
*/
|
|
||||||
class TogglePerformanceData extends ToggleFeature
|
|
||||||
{
|
|
||||||
/**
|
|
||||||
* (non-PHPDoc)
|
|
||||||
* @see \Icinga\Module\Monitoring\Command\IcingaCommand::getCommandString() For the method documentation.
|
|
||||||
*/
|
|
||||||
public function getCommandString()
|
|
||||||
{
|
|
||||||
return $this->enable === true ? 'ENABLE_PERFORMANCE_DATA' : 'DISABLE_PERFORMANCE_DATA';
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue