mirror of
				https://github.com/Icinga/icinga2.git
				synced 2025-11-03 21:25:56 +01:00 
			
		
		
		
	
							parent
							
								
									8c4765c607
								
							
						
					
					
						commit
						bf2e3cb091
					
				@ -304,9 +304,15 @@ void ExternalCommandProcessor::ProcessHostCheckResult(double time, const std::ve
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	int exitStatus = Convert::ToDouble(arguments[1]);
 | 
						int exitStatus = Convert::ToDouble(arguments[1]);
 | 
				
			||||||
	CheckResult::Ptr result = make_shared<CheckResult>();
 | 
						CheckResult::Ptr result = make_shared<CheckResult>();
 | 
				
			||||||
	std::pair<String, Value> co = PluginUtility::ParseCheckOutput(arguments[2]);
 | 
						std::pair<String, String> co = PluginUtility::ParseCheckOutput(arguments[2]);
 | 
				
			||||||
	result->SetOutput(co.first);
 | 
						result->SetOutput(co.first);
 | 
				
			||||||
	result->SetPerformanceData(co.second);
 | 
					
 | 
				
			||||||
 | 
						Value perfdata = co.second;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (host->GetEnablePerfdata())
 | 
				
			||||||
 | 
							perfdata = PluginUtility::ParsePerfdata(perfdata);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						result->SetPerformanceData(perfdata);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ServiceState state;
 | 
						ServiceState state;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -350,9 +356,15 @@ void ExternalCommandProcessor::ProcessServiceCheckResult(double time, const std:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	int exitStatus = Convert::ToDouble(arguments[2]);
 | 
						int exitStatus = Convert::ToDouble(arguments[2]);
 | 
				
			||||||
	CheckResult::Ptr result = make_shared<CheckResult>();
 | 
						CheckResult::Ptr result = make_shared<CheckResult>();
 | 
				
			||||||
	std::pair<String, Value> co = PluginUtility::ParseCheckOutput(arguments[3]);
 | 
						std::pair<String, String> co = PluginUtility::ParseCheckOutput(arguments[3]);
 | 
				
			||||||
	result->SetOutput(co.first);
 | 
						result->SetOutput(co.first);
 | 
				
			||||||
	result->SetPerformanceData(co.second);
 | 
					
 | 
				
			||||||
 | 
						Value perfdata = co.second;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (service->GetEnablePerfdata())
 | 
				
			||||||
 | 
							perfdata = PluginUtility::ParsePerfdata(perfdata);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						result->SetPerformanceData(perfdata);
 | 
				
			||||||
	result->SetState(PluginUtility::ExitStatusToState(exitStatus));
 | 
						result->SetState(PluginUtility::ExitStatusToState(exitStatus));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	result->SetScheduleStart(time);
 | 
						result->SetScheduleStart(time);
 | 
				
			||||||
 | 
				
			|||||||
@ -189,7 +189,7 @@ ServiceState PluginUtility::ExitStatusToState(int exitStatus)
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
std::pair<String, Value> PluginUtility::ParseCheckOutput(const String& output)
 | 
					std::pair<String, String> PluginUtility::ParseCheckOutput(const String& output)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	String text;
 | 
						String text;
 | 
				
			||||||
	String perfdata;
 | 
						String perfdata;
 | 
				
			||||||
@ -217,7 +217,7 @@ std::pair<String, Value> PluginUtility::ParseCheckOutput(const String& output)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	boost::algorithm::trim(perfdata);
 | 
						boost::algorithm::trim(perfdata);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return std::make_pair(text, ParsePerfdata(perfdata));
 | 
						return std::make_pair(text, perfdata);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Value PluginUtility::ParsePerfdata(const String& perfdata)
 | 
					Value PluginUtility::ParsePerfdata(const String& perfdata)
 | 
				
			||||||
 | 
				
			|||||||
@ -44,7 +44,7 @@ public:
 | 
				
			|||||||
	    const boost::function<void(const Value& commandLine, const ProcessResult&)>& callback = boost::function<void(const Value& commandLine, const ProcessResult&)>());
 | 
						    const boost::function<void(const Value& commandLine, const ProcessResult&)>& callback = boost::function<void(const Value& commandLine, const ProcessResult&)>());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	static ServiceState ExitStatusToState(int exitStatus);
 | 
						static ServiceState ExitStatusToState(int exitStatus);
 | 
				
			||||||
	static std::pair<String, Value> ParseCheckOutput(const String& output);
 | 
						static std::pair<String, String> ParseCheckOutput(const String& output);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	static Value ParsePerfdata(const String& perfdata);
 | 
						static Value ParsePerfdata(const String& perfdata);
 | 
				
			||||||
	static String FormatPerfdata(const Value& perfdata);
 | 
						static String FormatPerfdata(const Value& perfdata);
 | 
				
			||||||
 | 
				
			|||||||
@ -65,10 +65,16 @@ void PluginCheckTask::ProcessFinishedHandler(const Checkable::Ptr& checkable, co
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	String output = pr.Output;
 | 
						String output = pr.Output;
 | 
				
			||||||
	output.Trim();
 | 
						output.Trim();
 | 
				
			||||||
	std::pair<String, Value> co = PluginUtility::ParseCheckOutput(output);
 | 
						std::pair<String, String> co = PluginUtility::ParseCheckOutput(output);
 | 
				
			||||||
	cr->SetCommand(commandLine);
 | 
						cr->SetCommand(commandLine);
 | 
				
			||||||
	cr->SetOutput(co.first);
 | 
						cr->SetOutput(co.first);
 | 
				
			||||||
	cr->SetPerformanceData(co.second);
 | 
					
 | 
				
			||||||
 | 
						Value perfdata = co.second;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						if (checkable->GetEnablePerfdata())
 | 
				
			||||||
 | 
							perfdata = PluginUtility::ParsePerfdata(perfdata);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						cr->SetPerformanceData(perfdata);
 | 
				
			||||||
	cr->SetState(PluginUtility::ExitStatusToState(pr.ExitStatus));
 | 
						cr->SetState(PluginUtility::ExitStatusToState(pr.ExitStatus));
 | 
				
			||||||
	cr->SetExitStatus(pr.ExitStatus);
 | 
						cr->SetExitStatus(pr.ExitStatus);
 | 
				
			||||||
	cr->SetExecutionStart(pr.ExecutionStart);
 | 
						cr->SetExecutionStart(pr.ExecutionStart);
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user