Hi Sergei, before I forget, you should not use ".'~'.$hostName.'" in the two fwrite-lines of the script. This is for our special environment only.
rgds Kai >>> On 29.04.2015 at 09:10, "Kai Nothdurft" <[email protected]> wrote: > 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.';'.$plugin > Output.'|'.$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.';'.$serviceDescrip > tion.';'.$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 > icinga‑[email protected] > https://lists.icinga.org/mailman/listinfo/icinga‑users _______________________________________________ icinga-users mailing list [email protected] https://lists.icinga.org/mailman/listinfo/icinga-users
