Merge pull request #1526 from laf/validate-pollers

Added ability to validate distributed pollers
This commit is contained in:
Daniel Preussker
2015-07-24 08:59:21 +00:00
+42 -1
View File
@@ -25,7 +25,8 @@ if (isset($options['h'])) {
Usage: ./validate.php [-m <module>] [-h]
-h This help section.
-m Any sub modules you want to run, comma separated:
- mail: this will test your email settings (uses default_mail option even if default_only is not set).
- mail: this will test your email settings (uses default_mail option even if default_only is not set).
- dist-poller: this will test for the install running as a distributed poller.
Example: ./validate.php -m mail.
@@ -155,6 +156,46 @@ foreach ($modules as $module) {
}
}//end if
break;
case 'dist-poller':
if ($config['distributed_poller'] !== true) {
print_fail('You have not enabled distributed_poller');
}
else {
if (empty($config['distributed_poller_memcached_host'])) {
print_fail('You have not configured $config[\'distributed_poller_memcached_host\']');
}
elseif (empty($config['distributed_poller_memcached_port'])) {
print_fail('You have not configured $config[\'distributed_poller_memcached_port\']');
}
else {
$connection = @fsockopen($config['distributed_poller_memcached_host'], $config['distributed_poller_memcached_port']);
if (!is_resource($connection)) {
print_fail('We could not get memcached stats, it is possible that we cannot connect to your memcached server, please check');
}
else {
fclose($connection);
print_ok('Connection to memcached is ok');
}
}
if (empty($config['rrdcached'])) {
print_fail('You have not configured $config[\'rrdcached\']');
}
elseif (empty($config['rrd_dir'])) {
print_fail('You have not configured $config[\'rrd_dir\']');
}
else {
list($host,$port) = explode(':',$config['rrdcached']);
$connection = @fsockopen($host, $port);
if (is_resource($connection)) {
fclose($connection);
print_ok('Connection to rrdcached is ok');
}
else {
print_fail('Cannot connect to rrdcached instance');
}
}
}
break;
}//end switch
}//end foreach