diff --git a/lib/icinga/exception/Exit-IcingaThrowException.psm1 b/lib/icinga/exception/Exit-IcingaThrowException.psm1 index 2e2ae8f..b7a1304 100644 --- a/lib/icinga/exception/Exit-IcingaThrowException.psm1 +++ b/lib/icinga/exception/Exit-IcingaThrowException.psm1 @@ -70,6 +70,8 @@ function Exit-IcingaThrowException() $ExceptionTypeString ); - Write-Host $OutputMessage; - exit $IcingaEnums.IcingaExitCode.Unknown; + if ($global:IcingaDaemonData.FrameworkRunningAsDaemon -eq $FALSE) { + Write-Host $OutputMessage; + exit $IcingaEnums.IcingaExitCode.Unknown; + } } diff --git a/lib/icinga/plugin/Write-IcingaPluginOutput.psm1 b/lib/icinga/plugin/Write-IcingaPluginOutput.psm1 index e698671..78b396c 100644 --- a/lib/icinga/plugin/Write-IcingaPluginOutput.psm1 +++ b/lib/icinga/plugin/Write-IcingaPluginOutput.psm1 @@ -4,5 +4,9 @@ function Write-IcingaPluginOutput() $Output ); + if ($global:IcingaDaemonData.FrameworkRunningAsDaemon -eq $FALSE) { Write-Host $Output; + } else { + $IcingaThreadContent['Scheduler']['PluginCache'] += $Output; + } } diff --git a/lib/icinga/plugin/Write-IcingaPluginPerfData.psm1 b/lib/icinga/plugin/Write-IcingaPluginPerfData.psm1 index 4cc86cf..bdc474e 100644 --- a/lib/icinga/plugin/Write-IcingaPluginPerfData.psm1 +++ b/lib/icinga/plugin/Write-IcingaPluginPerfData.psm1 @@ -6,8 +6,13 @@ function Write-IcingaPluginPerfData() ); $CheckResultCache = Get-IcingaCacheData -Space 'sc_daemon' -CacheStore 'checkresult' -KeyName $CheckCommand; + + if ($global:IcingaDaemonData.FrameworkRunningAsDaemon -eq $FALSE) { [string]$PerfDataOutput = (Get-IcingaPluginPerfDataContent -PerfData $PerformanceData -CheckResultCache $CheckResultCache); Write-Host ([string]::Format('| {0}', $PerfDataOutput)); + } else { + [void](Get-IcingaPluginPerfDataContent -PerfData $PerformanceData -CheckResultCache $CheckResultCache -AsObject $TRUE); + } } function Get-IcingaPluginPerfDataContent() @@ -40,6 +45,9 @@ function Get-IcingaPluginPerfDataContent() $compiledPerfData = (New-IcingaPerformanceDataEntry $data); + if ($AsObject) { + $global:IcingaThreadContent['Scheduler']['PluginPerfData'] += $compiledPerfData; + } $PerfDataOutput += $compiledPerfData; } }