Example #1
0
} else {
    // If return status > 3, means invalid status, rewrite to unknown (3)
    if ($mydata['status'] > 3) {
        //print "Warning rewrote status value from ". $mydata['status'] ." to 3\n";
        $mydata['status'] = 3;
    }
}
$event = new Event();
$event->set_status($mydata['status']);
$event->set_info_msg($mydata['message']);
$event->set_script("Submitted Check");
if (is_numeric($mydata['check_id'])) {
    // if this is the case we have the check_id that makes live easy.
    $event->set_check_id($mydata['check_id']);
    $event->set_check_name($mydata['checkname']);
    $event->set_hostname($mydata['hostname']);
} else {
    // Then we need hostname with checkname and keys
    if (!isset($mydata['hostname']) || $mydata['hostname'] == '' || !isset($mydata['checkname']) || $mydata['checkname'] == '') {
        $msg = "Invalid request: Expecting either check_id or hostname AND checkname";
        header("HTTP/1.0 400 {$msg}");
        print $msg;
        exit;
    }
    //$event->set_check_id(null);
    $event->set_check_name($mydata['checkname']);
    $event->set_hostname($mydata['hostname']);
    $event->set_key1($mydata['key1']);
    $event->set_key2($mydata['key2']);
}
// Parse message data, to extract message and performance data
Example #2
0
$check = new Check($check_id);
// Start timer and exec check script
$time_start = microtime(true);
$script = "{$script_dir}/" . $check->get_parsed_check_script();
$check_result = exec_check($script);
// Now create a new Event object
// Store the info we know from Check object
// and check results
$event = new Event();
$event->set_status($check_result['status']);
$event->set_info_msg($check_result['message']);
$event->set_performance_data($check_result['perf_data']);
$event->set_check_id($check->get_check_id());
$event->set_script($script);
$event->set_check_name($check->get_name());
$event->set_hostname($check->get_hostname());
$event->set_key1($check->get_key1());
$event->set_key2($check->get_key2());
// Now  we can use handle_event() to figure out if this is a new
// or exitsing event. It will do all the updating for us
// and call notify() in the event class
$event->handle_event();
$time_end = microtime(true);
$time = $time_end - $time_start;
//print status line
print "{$script} => status: " . $event->get_status() . "  " . trim($event->get_info_msg());
if ($check_result['perf_data'] != "") {
    print " | " . $check_result['perf_data'];
}
print " -- ({$time} sec)\n";
// This function does the actual execution