diff --git a/check-services.php b/check-services.php
index b74ae170d8..55295a70f7 100755
--- a/check-services.php
+++ b/check-services.php
@@ -31,8 +31,16 @@ foreach (dbFetchRows('SELECT * FROM `devices` AS D, `services` AS S WHERE S.devi
include $checker_script;
}
else {
- $status = '2';
- $check = "Error : Script not found ($checker_script)";
+ $cmd = $config['nagios_plugins'] . "/check_" . $service['service_type'] . " -H " . ($service['service_ip'] ? $service['service_ip'] : $service['hostname']);
+ $cmd .= " ".$service['service_param'];
+ $check = shell_exec($cmd);
+ list($check, $time) = split("\|", $check);
+ if(stristr($check, "ok -")) {
+ $status = 1;
+ }
+ else {
+ $status = 0;
+ }
}
$update = array();
diff --git a/html/includes/print-service-add.inc.php b/html/includes/print-service-add.inc.php
index f8ab34e9ac..ac5b67759b 100644
--- a/html/includes/print-service-add.inc.php
+++ b/html/includes/print-service-add.inc.php
@@ -47,6 +47,7 @@ echo "
+ This may be required based on the service check.
diff --git a/html/includes/print-service-edit.inc.php b/html/includes/print-service-edit.inc.php
index d0ad23a569..7b5c1bafb5 100644
--- a/html/includes/print-service-edit.inc.php
+++ b/html/includes/print-service-edit.inc.php
@@ -26,6 +26,9 @@ if (isset($_POST['service']) && is_numeric($_POST['service'])) {
+
+ This may be required based on the service check.
+
diff --git a/html/includes/print-service.inc.php b/html/includes/print-service.inc.php
index e91535d79f..d16fb4a198 100644
--- a/html/includes/print-service.inc.php
+++ b/html/includes/print-service.inc.php
@@ -42,11 +42,11 @@ $popup .= "
";
+ ";
if ($device_id) {
if (!$samehost) {
- echo "".generate_device_link($device).' | ';
+ echo "".generate_device_link($device).' | ';
}
else {
echo ' | ';
@@ -54,14 +54,13 @@ if ($device_id) {
}
echo "
-
+ |
$status
|
-  |
-
+ |
$since
|
-
+ |
$message
|
";
diff --git a/html/pages/addsrv.inc.php b/html/pages/addsrv.inc.php
index 05a5c2eac9..8fe1459829 100644
--- a/html/pages/addsrv.inc.php
+++ b/html/pages/addsrv.inc.php
@@ -9,7 +9,7 @@ else {
$updated = '1';
// FIXME should call add_service (needs more parameters)
- $service_id = dbInsert(array('device_id' => $_POST['device'], 'service_ip' => $_POST['ip'], 'service_type' => $_POST['type'], 'service_desc' => $_POST['descr'], 'service_param' => $_POST['params'], 'service_ignore' => '0'), 'services');
+ $service_id = dbInsert(array('device_id' => $_POST['device'], 'service_ip' => $_POST['ip'], 'service_type' => $_POST['type'], 'service_desc' => $_POST['descr'], 'service_param' => $_POST['params'], 'service_ignore' => '0', 'service_status' => '0', 'service_checked' => '0', 'service_changed' => '0', 'service_message' => 'New check', 'service_disabled' => '0'), 'services');
if ($service_id) {
$message .= $message_break.'Service added ('.$service_id.')!';
@@ -18,10 +18,11 @@ else {
}
}
- if ($handle = opendir($config['install_dir'].'/includes/services/')) {
+ if ($handle = opendir($config['nagios_plugins'])) {
while (false !== ($file = readdir($handle))) {
- if ($file != '.' && $file != '..' && !strstr($file, '.')) {
- $servicesform .= "";
+ if ($file != '.' && $file != '..' && !strstr($file, '.') && strstr($file, 'check_')) {
+ list(,$check_name) = explode('_',$file,2);
+ $servicesform .= "";
}
}
diff --git a/html/pages/services.inc.php b/html/pages/services.inc.php
index 0e4d2edfc6..e908172f2d 100644
--- a/html/pages/services.inc.php
+++ b/html/pages/services.inc.php
@@ -8,7 +8,6 @@ echo "Services » ";
$menu_options = array(
'basic' => 'Basic',
- 'details' => 'Details',
);
$sql_param = array();
@@ -68,7 +67,6 @@ echo '
Device |
Service |
- Status |
Changed |
Message |
';