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