Hello Sergei,
at first, I was missing the "obsess over services/hosts" as well. As a
workaround I wrote a little cronjob, which parses the status.dat and creates a
command-file from it. The script generates a
"PROCESS_HOST|SERVICE_CHECK_RESULT" for ALL host- and service-stati. You have
to filter on the hosts/services, you are interested in, transfer the
COMMAND_FILE to your Nagios 3.x-host and pipe it into the command-pipe. Be sure
that the feature "statusdata" is enabled (icinga2 feature list).
hth
Kai
---- cut here ----
#!/usr/bin/php
<?php
define("STATUS_FILE", "/var/cache/icinga2/status.dat");
define("COMMAND_FILE", "/YOUR/PATH/TO/status.upd");
if (file_exists(STATUS_FILE)) {
$status_file_handle = fopen(STATUS_FILE, "r");
if ($status_file_handle) {
$command_file_handle = fopen(COMMAND_FILE, "w");
if ($command_file_handle) {
while (!feof($status_file_handle)) {
$line = fgets($status_file_handle);
switch ($line) {
case "hoststatus {\n":
$hostName = '';
$status = 3;
$pluginOutput = '';
$performanceData = '';
$checkSource = '';
$lastCheck = '';
$line = fgets($status_file_handle);
while (!feof($status_file_handle) && trim($line)!= "}") {
list ($param, $value) = explode('=',trim($line),2);
switch ($param) {
case "host_name":
$hostName = $value;
break;
case "current_state":
$state = $value;
break;
case "plugin_output":
$pluginOutput = $value;
break;
case "performance_data":
$performanceData = $value;
break;
case "check_source":
$checkSource = $value;
break;
case "last_check":
$lastCheck = $value;
break;
}
$line = fgets($status_file_handle);
}
fwrite($command_file_handle,"[$lastCheck]
PROCESS_HOST_CHECK_RESULT;".$checkSource.'~'.$hostName.';'.$state.';'.$pluginOutput.'|'.$performanceData."\n");
break;
case "servicestatus {\n":
$hostName = '';
$serviceDescription = '';
$status = 3;
$pluginOutput = '';
$performanceData = '';
$checkSource = '';
$lastCheck = '';
$line = fgets($status_file_handle);
while (!feof($status_file_handle) && trim($line)!= "}") {
list ($param, $value) = explode('=',trim($line),2);
switch ($param) {
case "host_name":
$hostName = $value;
break;
case "service_description":
$serviceDescription = $value;
break;
case "current_state":
$state = $value;
break;
case "plugin_output":
$pluginOutput = $value;
break;
case "performance_data":
$performanceData = $value;
break;
case "check_source":
$checkSource = $value;
break;
case "last_check":
$lastCheck = $value;
break;
}
$line = fgets($status_file_handle);
}
fwrite($command_file_handle,"[$lastCheck]
PROCESS_SERVICE_CHECK_RESULT;".$checkSource.'~'.$hostName.';'.$serviceDescription.';'.$state.';'.$pluginOutput.'|'.$performanceData."\n");
break;
}
}
}
fclose($status_file_handle);
}
}
?>
>>> On 29.04.2015 at 06:49, Sergei Franco <[email protected]> wrote:
> Hello there,
>
> Is there a way to push passive results via nsca from Icinga 2 (which does
> active checking) to Nagios 3.x?
> It looks like the "obsess over services/hosts" and ochp/ocsp config items
> are missing from Icinga 2.
>
> The nagios machine (that receives the passive checks) *cannot* be
> "upgraded" to icinga2 so none of the distributed monitoring documentation
> applies....
>
> Regards.
>
>
> Sergei.
_______________________________________________
icinga-users mailing list
[email protected]
https://lists.icinga.org/mailman/listinfo/icinga-users