From bb13e98ca5c78d1023203ca5e2d19e3749a5973a Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Mon, 25 Mar 2024 12:11:17 +0100 Subject: [PATCH] PluginCheckTask::ProcessFinishedHandler(): warn about exit codes outside 0..3 in the plugin output as well, in addition to the warning log. --- lib/methods/pluginchecktask.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/methods/pluginchecktask.cpp b/lib/methods/pluginchecktask.cpp index b4749fbfd9f..1a3df810528 100644 --- a/lib/methods/pluginchecktask.cpp +++ b/lib/methods/pluginchecktask.cpp @@ -10,6 +10,7 @@ #include "base/utility.hpp" #include "base/process.hpp" #include "base/convert.hpp" +#include using namespace icinga; @@ -66,15 +67,22 @@ void PluginCheckTask::ProcessFinishedHandler(const Checkable::Ptr& checkable, co Checkable::CurrentConcurrentChecks.fetch_sub(1); Checkable::DecreasePendingChecks(); + String output = pr.Output.Trim(); + if (pr.ExitStatus > 3) { Process::Arguments parguments = Process::PrepareCommand(commandLine); Log(LogWarning, "PluginCheckTask") << "Check command for object '" << checkable->GetName() << "' (PID: " << pr.PID << ", arguments: " << Process::PrettyPrintArguments(parguments) << ") terminated with exit code " << pr.ExitStatus << ", output: " << pr.Output; - } - String output = pr.Output.Trim(); + std::stringstream crOutput; + + crOutput << ""; + + output += crOutput.str(); + } std::pair co = PluginUtility::ParseCheckOutput(output); cr->SetCommand(commandLine);