- Timestamp:
- 01/03/11 08:21:00 (2 years ago)
- Branches:
- master, 0.4.0, 0.4.1, 0.4.2
- Children:
- e6792f3
- Parents:
- f7663c9
- Location:
- modules
- Files:
-
- 11 added
- 1 deleted
- 27 edited
-
CheckDisk/CMakeLists.txt (modified) (1 diff)
-
CheckEventLog/CMakeLists.txt (modified) (1 diff)
-
CheckEventLog/CheckEventLog.cpp (modified) (10 diffs)
-
CheckExternalScripts/CMakeLists.txt (modified) (1 diff)
-
CheckHelpers/CMakeLists.txt (modified) (1 diff)
-
CheckHelpers/CheckHelpers.cpp (modified) (4 diffs)
-
CheckHelpers/CheckHelpers.h (modified) (1 diff)
-
CheckNSCP/CMakeLists.txt (added)
-
CheckNSCP/CheckNSCP.cpp (added)
-
CheckNSCP/CheckNSCP.def (added)
-
CheckNSCP/CheckNSCP.h (added)
-
CheckNSCP/module.cmake (added)
-
CheckNSCP/stdafx.cpp (added)
-
CheckNSCP/stdafx.h (added)
-
CheckSystem/CMakeLists.txt (modified) (1 diff)
-
CheckSystem/CheckSystem.cpp (modified) (3 diffs)
-
CheckTaskSched/CMakeLists.txt (added)
-
CheckTaskSched/CheckTaskSched.cpp (modified) (6 diffs)
-
CheckTaskSched/CheckTaskSched.def (modified) (2 diffs)
-
CheckTaskSched/CheckTaskSched.h (modified) (4 diffs)
-
CheckTaskSched/Jamfile (deleted)
-
CheckTaskSched/module.cmake (added)
-
CheckTaskSched/stdafx.h (modified) (1 diff)
-
CheckWMI/CMakeLists.txt (added)
-
CheckWMI/CheckWMI.cpp (modified) (9 diffs)
-
CheckWMI/CheckWMI.def (modified) (2 diffs)
-
CheckWMI/CheckWMI.h (modified) (3 diffs)
-
CheckWMI/module.cmake (added)
-
CheckWMI/stdafx.h (modified) (1 diff)
-
FileLogger/CMakeLists.txt (modified) (1 diff)
-
FileLogger/FileLogger.cpp (modified) (3 diffs)
-
FileLogger/FileLogger.h (modified) (2 diffs)
-
NRPEClient/CMakeLists.txt (modified) (1 diff)
-
NRPEClient/NRPEClient.cpp (modified) (5 diffs)
-
NRPEClient/NRPEClient.h (modified) (1 diff)
-
NRPEServer/CMakeLists.txt (modified) (1 diff)
-
NRPEServer/handler_impl.hpp (modified) (1 diff)
-
NSCAAgent/CMakeLists.txt (modified) (1 diff)
-
Scheduler/CMakeLists.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
modules/CheckDisk/CMakeLists.txt
rf7663c9 r1ecd26f 30 30 version.lib 31 31 ) 32 INCLUDE(${BUILD_CMAKE_FOLDER}/module.cmake) -
modules/CheckEventLog/CMakeLists.txt
r497b779 r1ecd26f 45 45 version.lib 46 46 ) 47 INCLUDE(${BUILD_CMAKE_FOLDER}/module.cmake) -
modules/CheckEventLog/CheckEventLog.cpp
rc015acc r1ecd26f 166 166 error_type errors; 167 167 static const parsers::where::value_type type_custom_severity = parsers::where::type_custom_int_1; 168 static const parsers::where::value_type type_custom_type = parsers::where::type_custom_int_2; 168 169 EventLogRecord *record; 169 170 type_obj() : record(NULL) { … … 173 174 (_T("id"), (type_int)) 174 175 (_T("source"), (type_string)) 175 (_T("type"), (type_ int))176 (_T("type"), (type_custom_type)) 176 177 (_T("severity"), (type_custom_severity)) 177 178 (_T("message"), (type_string)) … … 192 193 bool can_convert(parsers::where::value_type from, parsers::where::value_type to) { 193 194 if ((from == parsers::where::type_string)&&(to == type_custom_severity)) 195 return true; 196 if ((from == parsers::where::type_string)&&(to == type_custom_type)) 194 197 return true; 195 198 return false; … … 260 263 if (to == type_custom_severity) 261 264 return true; 265 if (to == type_custom_type) 266 return true; 262 267 return false; 263 268 } … … 266 271 if (to == type_custom_severity) 267 272 ret = &type_obj::fun_convert_severity; 273 if (to == type_custom_type) 274 ret = &type_obj::fun_convert_type; 268 275 return ret; 269 276 } … … 271 278 parsers::where::expression_ast<type_obj> fun_convert_severity(parsers::where::value_type target_type, parsers::where::expression_ast<type_obj> const& subject) { 272 279 return parsers::where::expression_ast<type_obj>(parsers::where::int_value(convert_severity(subject.get_string(*this)))); 280 } 281 parsers::where::expression_ast<type_obj> fun_convert_type(parsers::where::value_type target_type, parsers::where::expression_ast<type_obj> const& subject) { 282 return parsers::where::expression_ast<type_obj>(parsers::where::int_value(convert_type(subject.get_string(*this)))); 273 283 } 274 284 int convert_severity(std::wstring str) { … … 284 294 return strEx::stoi(str); 285 295 } 286 296 int convert_type(std::wstring str) { 297 if (str == _T("error")) 298 return EVENTLOG_ERROR_TYPE; 299 if (str == _T("warning")) 300 return EVENTLOG_WARNING_TYPE; 301 if (str == _T("info")) 302 return EVENTLOG_INFORMATION_TYPE; 303 if (str == _T("auditSuccess")) 304 return EVENTLOG_AUDIT_SUCCESS; 305 if (str == _T("auditFailure")) 306 return EVENTLOG_AUDIT_FAILURE; 307 return strEx::stoi(str); 308 } 287 309 288 310 std::wstring get_error() { … … 494 516 } 495 517 518 519 496 520 std::wstring find_eventlog_name(std::wstring name) { 497 521 try { … … 571 595 typedef checkHolders::CheckContainer<checkHolders::MaxMinBoundsULongInteger> EventLogQuery1Container; 572 596 typedef checkHolders::CheckContainer<checkHolders::ExactBoundsULongInteger> EventLogQuery2Container; 573 597 574 598 NSCAPI::nagiosReturn returnCode = NSCAPI::returnOK; 575 599 … … 750 774 DWORD err = GetLastError(); 751 775 if (err == ERROR_INSUFFICIENT_BUFFER) { 752 message = _T("EvenlogBuffer is too small change the value of ") + setting_keys::event_log::BUFFER_SIZE_PATH + _T("=") + strEx::itos(dwNeeded+1) + _T(": ") + error::lookup::last_error(err);753 NSC_LOG_ERROR_STD(message);754 CloseEventLog(hLog);755 return NSCAPI::returnUNKNOWN;776 if (!buffer_error_reported) { 777 NSC_LOG_ERROR_STD(_T("EvenlogBuffer is too small change the value of ") + setting_keys::event_log::BUFFER_SIZE_PATH + _T("=") + strEx::itos(dwNeeded+1) + _T(": ") + error::lookup::last_error(err)); 778 buffer_error_reported = true; 779 } 756 780 } else if (err == ERROR_HANDLE_EOF) { 757 781 break; -
modules/CheckExternalScripts/CMakeLists.txt
r86632db r1ecd26f 32 32 ${NSCP_DEF_PLUGIN_LIB} 33 33 ) 34 35 INCLUDE(${BUILD_CMAKE_FOLDER}/module.cmake) -
modules/CheckHelpers/CMakeLists.txt
r60375ed r1ecd26f 33 33 ${NSCP_DEF_PLUGIN_LIB} 34 34 ) 35 36 37 #INSTALL(FILES ${PROJECT_SOURCE_DIR}/cmake/FindWt.cmake DESTINATION 38 # ${CMAKE_INSTALL_PREFIX}/${WT_CMAKE_FINDER_INSTALL_DIR} ) 39 40 41 35 INCLUDE(${BUILD_CMAKE_FOLDER}/module.cmake) -
modules/CheckHelpers/CheckHelpers.cpp
r5e12ba6 r1ecd26f 24 24 #include <time.h> 25 25 #include <utils.h> 26 #include <vector> 27 #include <program_options_ex.hpp> 28 #include <boost/program_options.hpp> 29 #include <boost/thread/thread.hpp> 26 30 27 31 CheckHelpers gCheckHelpers; … … 31 35 CheckHelpers::~CheckHelpers() { 32 36 } 37 33 38 34 39 bool CheckHelpers::loadModule() { … … 115 120 } else if (command == _T("checkmultiple")) { 116 121 return checkMultiple(arguments, message, perf); 122 } else if (command == _T("Negate")) { 123 return negate(arguments, message, perf); 117 124 } 118 125 return NSCAPI::returnIgnored; … … 157 164 } 158 165 166 NSCAPI::nagiosReturn CheckHelpers::negate(std::list<std::wstring> arguments, std::wstring &msg, std::wstring &perf) 167 { 168 NSCAPI::nagiosReturn returnCode = NSCAPI::returnOK; 169 if (arguments.empty()) { 170 msg = _T("Missing argument(s)."); 171 return NSCAPI::returnCRIT; 172 } 173 174 std::wstring command; 175 NSCAPI::nagiosReturn OK = NSCAPI::returnOK, WARN = NSCAPI::returnWARN, CRIT = NSCAPI::returnCRIT, UNKNOWN = NSCAPI::returnUNKNOWN; 176 std::vector<std::wstring> cmd_args; 177 178 //#define USE_BOOST 179 180 try { 181 182 183 boost::program_options::options_description desc("Allowed options"); 184 desc.add_options() 185 ("help,h", "Show this help message.") 186 187 ("ok,o", boost::program_options::wvalue<std::wstring>(), "The state to return instead of OK") 188 ("warning,w", boost::program_options::wvalue<std::wstring>(), "The state to return instead of WARNING") 189 ("critical,c", boost::program_options::wvalue<std::wstring>(), "The state to return instead of CRITICAL") 190 ("unknown,u", boost::program_options::wvalue<std::wstring>(), "The state to return instead of UNKNOWN") 191 192 ("command,q", boost::program_options::wvalue<std::wstring>(&command), "Wrapped command to execute") 193 ("arguments,a", boost::program_options::wvalue<std::vector<std::wstring> >(&cmd_args), "List of arguments (for wrapped command)") 194 ; 195 196 boost::program_options::positional_options_description p; 197 p.add("arguments", -1); 198 199 std::vector<std::wstring> arg_list(arguments.begin(), arguments.end()); 200 201 boost::program_options::variables_map vm; 202 boost::program_options::store(boost::program_options::basic_command_line_parser<wchar_t>(arg_list).options(desc).positional(p).run(), vm); 203 boost::program_options::notify(vm); 204 205 if (vm.count("help")) { 206 std::stringstream ss; 207 desc.print(ss); 208 msg = strEx::string_to_wstring(ss.str()); 209 return NSCAPI::returnUNKNOWN; 210 } 211 212 if (vm.count("ok")) 213 OK = nscapi::plugin_helper::translateReturn(vm["ok"].as<std::wstring>()); 214 if (vm.count("warning")) 215 WARN = nscapi::plugin_helper::translateReturn(vm["warning"].as<std::wstring>()); 216 if (vm.count("critical")) 217 CRIT = nscapi::plugin_helper::translateReturn(vm["critical"].as<std::wstring>()); 218 if (vm.count("unknown")) 219 UNKNOWN = nscapi::plugin_helper::translateReturn(vm["unknown"].as<std::wstring>()); 220 221 } catch (std::exception &e) { 222 msg = _T("Could not parse command: ") + strEx::string_to_wstring(e.what()); 223 return NSCAPI::returnCRIT; 224 } catch (...) { 225 msg = _T("Could not parse command: <UNKNOWN EXCEPTION>"); 226 return NSCAPI::returnCRIT; 227 } 228 std::list<std::wstring> cmd_args_l(cmd_args.begin(), cmd_args.end()); 229 230 NSCAPI::nagiosReturn tRet = GET_CORE()->InjectSimpleCommand(command, cmd_args_l, msg, perf); 231 switch (tRet) { 232 case NSCAPI::returnOK: 233 return OK; 234 case NSCAPI::returnCRIT: 235 return CRIT; 236 case NSCAPI::returnWARN: 237 return WARN; 238 case NSCAPI::returnUNKNOWN: 239 return UNKNOWN; 240 default: 241 return UNKNOWN; 242 } 243 } 244 245 246 class worker { 247 public: 248 void proc(std::wstring command, std::list<std::wstring> arguments) { 249 code = GET_CORE()->InjectSimpleCommand(command, arguments, msg, perf); 250 } 251 std::wstring msg; 252 std::wstring perf; 253 NSCAPI::nagiosReturn code; 254 255 }; 256 257 NSCAPI::nagiosReturn CheckHelpers::timeout(std::list<std::wstring> arguments, std::wstring &msg, std::wstring &perf) 258 { 259 NSCAPI::nagiosReturn returnCode = NSCAPI::returnOK; 260 if (arguments.empty()) { 261 msg = _T("Missing argument(s)."); 262 return NSCAPI::returnCRIT; 263 } 264 265 std::wstring command; 266 NSCAPI::nagiosReturn retCode = NSCAPI::returnUNKNOWN; 267 std::vector<std::wstring> cmd_args; 268 unsigned long timeout = 30; 269 270 try { 271 272 boost::program_options::options_description desc("Allowed options"); 273 desc.add_options() 274 ("help,h", "Show this help message.") 275 276 ("timeout,t", boost::program_options::value<unsigned long>(&timeout), "The timeout value") 277 278 ("command,q", boost::program_options::wvalue<std::wstring>(&command), "Wrapped command to execute") 279 ("arguments,a", boost::program_options::wvalue<std::vector<std::wstring> >(&cmd_args), "List of arguments (for wrapped command)") 280 ; 281 282 boost::program_options::positional_options_description p; 283 p.add("arguments", -1); 284 285 std::vector<std::wstring> arg_list(arguments.begin(), arguments.end()); 286 287 boost::program_options::variables_map vm; 288 boost::program_options::store(boost::program_options::basic_command_line_parser<wchar_t>(arg_list).options(desc).positional(p).run(), vm); 289 boost::program_options::notify(vm); 290 291 if (vm.count("help")) { 292 std::stringstream ss; 293 desc.print(ss); 294 msg = strEx::string_to_wstring(ss.str()); 295 return NSCAPI::returnUNKNOWN; 296 } 297 298 if (vm.count("return")) 299 retCode = nscapi::plugin_helper::translateReturn(vm["return"].as<std::wstring>()); 300 301 } catch (std::exception &e) { 302 msg = _T("Could not parse command: ") + strEx::string_to_wstring(e.what()); 303 return NSCAPI::returnCRIT; 304 } catch (...) { 305 msg = _T("Could not parse command: <UNKNOWN EXCEPTION>"); 306 return NSCAPI::returnCRIT; 307 } 308 std::list<std::wstring> cmd_args_l(cmd_args.begin(), cmd_args.end()); 309 310 worker obj; 311 boost::shared_ptr<boost::thread> t = boost::shared_ptr<boost::thread>(new boost::thread(boost::bind(&worker::proc, obj, command, cmd_args_l))); 312 313 if (t->timed_join(boost::posix_time::seconds(timeout))) { 314 msg = obj.msg; 315 perf = obj.perf; 316 return obj.code; 317 } 318 t->detach(); 319 msg = _T("Thread failed to return within given timeout"); 320 return retCode; 321 } 159 322 160 323 NSC_WRAP_DLL(); -
modules/CheckHelpers/CheckHelpers.h
r5e12ba6 r1ecd26f 54 54 NSCAPI::nagiosReturn checkSimpleStatus(NSCAPI::nagiosReturn status, const std::list<std::wstring> arguments, std::wstring &message, std::wstring &perf); 55 55 NSCAPI::nagiosReturn checkSimpleStatus(NSCAPI::nagiosReturn status, const unsigned int argLen, TCHAR **char_args, std::wstring &msg, std::wstring &perf); 56 NSCAPI::nagiosReturn timeout(std::list<std::wstring> arguments, std::wstring &msg, std::wstring &perf); 57 NSCAPI::nagiosReturn negate(std::list<std::wstring> arguments, std::wstring &msg, std::wstring &perf); 56 58 }; -
modules/CheckSystem/CMakeLists.txt
r294b37b r1ecd26f 1 1 CMAKE_MINIMUM_REQUIRED(VERSION 2.6) 2 2 3 IF(WIN32) 4 SET(TARGET CheckSystem) 5 6 PROJECT(${TARGET}) 3 SET(TARGET CheckSystem) 4 5 PROJECT(${TARGET}) 7 6 8 SET(SRCS9 stdafx.cpp10 "${TARGET}.cpp"11 "PDHCollector.cpp"12 ${NSCP_DEF_PLUGIN_CPP}13 14 ${NSCP_INCLUDEDIR}/pdh/basic_impl.cpp15 ${NSCP_INCLUDEDIR}/pdh/core.cpp7 SET(SRCS 8 stdafx.cpp 9 "${TARGET}.cpp" 10 "PDHCollector.cpp" 11 ${NSCP_DEF_PLUGIN_CPP} 12 13 ${NSCP_INCLUDEDIR}/pdh/basic_impl.cpp 14 ${NSCP_INCLUDEDIR}/pdh/core.cpp 16 15 17 ${NSCP_INCLUDEDIR}/EnumProcess.cpp18 ${NSCP_INCLUDEDIR}/EnumNtSrv.cpp19 ${NSCP_INCLUDEDIR}/sysinfo.cpp20 21 )16 ${NSCP_INCLUDEDIR}/EnumProcess.cpp 17 ${NSCP_INCLUDEDIR}/EnumNtSrv.cpp 18 ${NSCP_INCLUDEDIR}/sysinfo.cpp 19 20 ) 22 21 23 ADD_DEFINITIONS(${NSCP_GLOBAL_DEFINES})22 ADD_DEFINITIONS(${NSCP_GLOBAL_DEFINES}) 24 23 25 SET(SRCS ${SRCS}26 stdafx.h27 "${TARGET}.h"28 "${TARGET}.def"29 "PDHCollector.h"24 SET(SRCS ${SRCS} 25 stdafx.h 26 "${TARGET}.h" 27 "${TARGET}.def" 28 "PDHCollector.h" 30 29 31 ${NSCP_INCLUDEDIR}/EnumProcess.h32 ${NSCP_INCLUDEDIR}/EnumNtSrv.h33 ${NSCP_INCLUDEDIR}/sysinfo.h30 ${NSCP_INCLUDEDIR}/EnumProcess.h 31 ${NSCP_INCLUDEDIR}/EnumNtSrv.h 32 ${NSCP_INCLUDEDIR}/sysinfo.h 34 33 35 ${NSCP_INCLUDEDIR}/pdh/basic_impl.hpp36 ${NSCP_INCLUDEDIR}/pdh/collectors.hpp37 ${NSCP_INCLUDEDIR}/pdh/core.hpp38 ${NSCP_INCLUDEDIR}/pdh/counters.hpp39 ${NSCP_INCLUDEDIR}/pdh/enumerations.hpp40 ${NSCP_INCLUDEDIR}/pdh/query.hpp41 ${NSCP_INCLUDEDIR}/pdh/resolver.hpp42 ${NSCP_INCLUDEDIR}/pdh/thread_safe_impl.hpp43 44 ${NSCP_DEF_PLUGIN_HPP}45 )34 ${NSCP_INCLUDEDIR}/pdh/basic_impl.hpp 35 ${NSCP_INCLUDEDIR}/pdh/collectors.hpp 36 ${NSCP_INCLUDEDIR}/pdh/core.hpp 37 ${NSCP_INCLUDEDIR}/pdh/counters.hpp 38 ${NSCP_INCLUDEDIR}/pdh/enumerations.hpp 39 ${NSCP_INCLUDEDIR}/pdh/query.hpp 40 ${NSCP_INCLUDEDIR}/pdh/resolver.hpp 41 ${NSCP_INCLUDEDIR}/pdh/thread_safe_impl.hpp 42 43 ${NSCP_DEF_PLUGIN_HPP} 44 ) 46 45 47 add_library(${TARGET} MODULE ${SRCS})46 add_library(${TARGET} MODULE ${SRCS}) 48 47 49 target_link_libraries(${TARGET}50 ${Boost_FILESYSTEM_LIBRARY}51 ${NSCP_DEF_PLUGIN_LIB}52 )53 ENDIF(WIN32)48 target_link_libraries(${TARGET} 49 ${Boost_FILESYSTEM_LIBRARY} 50 ${NSCP_DEF_PLUGIN_LIB} 51 ) 52 INCLUDE(${BUILD_CMAKE_FOLDER}/module.cmake) -
modules/CheckSystem/CheckSystem.cpp
rc015acc r1ecd26f 843 843 typedef struct NSPROCDATA__ { 844 844 unsigned int count; 845 unsigned int hung_count; 845 846 CEnumProcess::CProcessEntry entry; 846 847 std::wstring key; 847 848 848 NSPROCDATA__() : count(0) {}849 NSPROCDATA__(const NSPROCDATA__ &other) : count(other.count), entry(other.entry), key(other.key) {}849 NSPROCDATA__() : count(0), hung_count(0) {} 850 NSPROCDATA__(const NSPROCDATA__ &other) : count(other.count), hung_count(other.hung_count), entry(other.entry), key(other.key) {} 850 851 } NSPROCDATA; 851 852 typedef std::map<std::wstring,NSPROCDATA,strEx::StrICmp> NSPROCLST; … … 895 896 ret[key].entry = (*entry); 896 897 ret[key].count = 1; 898 ret[key].hung_count = (*entry).hung?1:0; 897 899 ret[key].key = key; 898 } else 900 } else { 901 if ((*entry).hung) 902 (*it).second.hung_count++; 899 903 (*it).second.count++; 904 } 900 905 } 901 906 return ret; … … 1030 1035 checkHolders::MaxMinStateValueType<int, checkHolders::state_type> value; 1031 1036 if (bFound) { 1032 value.count = (*proc).second.count; 1033 value.state = checkHolders::state_started; 1037 if ((*proc).second.hung_count > 0) { 1038 NSC_LOG_ERROR_STD(_T("Hung proc: ") + strEx::itos((*proc).second.hung_count)); 1039 value.count = (*proc).second.count; 1040 value.state = checkHolders::state_hung; 1041 } else { 1042 value.count = (*proc).second.count; 1043 value.state = checkHolders::state_started; 1044 } 1034 1045 } else { 1035 1046 value.count = 0; -
modules/CheckTaskSched/CheckTaskSched.cpp
r739db5a r1ecd26f 30 30 CheckTaskSched gCheckTaskSched; 31 31 32 BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) 33 { 34 NSCModuleWrapper::wrapDllMain(hModule, ul_reason_for_call); 35 return TRUE; 32 bool CheckTaskSched::loadModule() { 33 return false; 36 34 } 37 38 bool CheckTaskSched::loadModule(NSCAPI::moduleLoadMode mode) { 35 bool CheckTaskSched::loadModuleEx(std::wstring alias, NSCAPI::moduleLoadMode mode) { 39 36 try { 40 NSCModuleHelper::registerCommand(_T("CheckTaskSchedValue"), _T("Run a WMI query and check the resulting value (the values of each row determin the state)."));41 NSCModuleHelper::registerCommand(_T("CheckTaskSched"), _T("Run a WMI query and check the resulting rows (the number of hits determine state)."));37 get_core()->registerCommand(_T("CheckTaskSchedValue"), _T("Run a WMI query and check the resulting value (the values of each row determin the state).")); 38 get_core()->registerCommand(_T("CheckTaskSched"), _T("Run a WMI query and check the resulting rows (the number of hits determine state).")); 42 39 43 40 SETTINGS_REG_PATH(task_scheduler::SECTION); 44 41 SETTINGS_REG_KEY_S(task_scheduler::SYNTAX); 45 } catch ( NSCModuleHelper::NSCMHExcpetion &e) {42 } catch (nscapi::nscapi_exception &e) { 46 43 NSC_LOG_ERROR_STD(_T("Failed to register command: ") + e.msg_); 47 44 } catch (...) { … … 78 75 79 76 80 NSCAPI::nagiosReturn CheckTaskSched::TaskSchedule( const unsigned int argLen, TCHAR **char_args, std::wstring &message, std::wstring &perf) {77 NSCAPI::nagiosReturn CheckTaskSched::TaskSchedule(std::list<std::wstring> arguments, std::wstring &message, std::wstring &perf) { 81 78 typedef checkHolders::CheckContainer<checkHolders::MaxMinBounds<checkHolders::NumericBounds<int, checkHolders::int_handler> > > WMIContainer; 82 79 … … 84 81 typedef filters::chained_filter<TaskSched::wmi_filter,TaskSched::result> filter_chain; 85 82 filter_chain chain; 86 std::list<std::wstring> args = arrayBuffer::arrayBuffer2list(argLen, char_args); 87 if (args.empty()) { 83 if (arguments.empty()) { 88 84 message = _T("Missing argument(s)."); 89 85 return NSCAPI::returnCRIT; … … 96 92 WMIContainer result_query; 97 93 try { 98 MAP_OPTIONS_BEGIN(arg s)94 MAP_OPTIONS_BEGIN(arguments) 99 95 MAP_OPTIONS_STR2INT(_T("truncate"), truncate) 100 96 MAP_OPTIONS_STR(_T("Alias"), alias) … … 164 160 } 165 161 166 NSCAPI::nagiosReturn CheckTaskSched::handleCommand(const strEx:: blindstr command, const unsigned int argLen, TCHAR **char_args, std::wstring &msg, std::wstring &perf) {162 NSCAPI::nagiosReturn CheckTaskSched::handleCommand(const strEx::wci_string command, std::list<std::wstring> arguments, std::wstring &message, std::wstring &perf) { 167 163 if (command == _T("CheckTaskSched")) 168 return TaskSchedule(arg Len, char_args, msg, perf);164 return TaskSchedule(arguments, message, perf); 169 165 return NSCAPI::returnIgnored; 170 166 } … … 191 187 192 188 189 NSC_WRAP_DLL(); 193 190 NSC_WRAPPERS_MAIN_DEF(gCheckTaskSched); 194 191 NSC_WRAPPERS_IGNORE_MSG_DEF(); 195 192 NSC_WRAPPERS_HANDLE_CMD_DEF(gCheckTaskSched); 196 NSC_WRAPPERS_CLI_DEF(gCheckTaskSched);193 //NSC_WRAPPERS_CLI_DEF(gCheckTaskSched); -
modules/CheckTaskSched/CheckTaskSched.def
r367bf20 r1ecd26f 4 4 NSModuleHelperInit 5 5 NSLoadModule 6 NSLoadModuleEx 6 7 NSGetModuleName 7 8 NSGetModuleVersion … … 12 13 NSUnloadModule 13 14 NSGetModuleDescription 14 NSCommandLineExec 15 15 NSDeleteBuffer -
modules/CheckTaskSched/CheckTaskSched.h
r739db5a r1ecd26f 28 28 #include "TaskSched.h" 29 29 30 class CheckTaskSched {30 class CheckTaskSched : public nscapi::impl::SimpleCommand, public nscapi::impl::simple_plugin { 31 31 private: 32 32 std::wstring syntax; … … 34 34 public: 35 35 // Module calls 36 bool loadModule(NSCAPI::moduleLoadMode mode); 36 bool loadModule(); 37 bool loadModuleEx(std::wstring alias, NSCAPI::moduleLoadMode mode); 37 38 bool unloadModule(); 38 39 … … 43 44 return _T("CheckTaskSched can check various file and disk related things.\nThe current version has commands to check Size of hard drives and directories."); 44 45 } 45 NSCModuleWrapper::module_version getModuleVersion() {46 NSCModuleWrapper::module_version version = {0, 0, 1 };46 nscapi::plugin_wrapper::module_version getModuleVersion() { 47 nscapi::plugin_wrapper::module_version version = {0, 0, 1 }; 47 48 return version; 48 49 } … … 50 51 bool hasCommandHandler(); 51 52 bool hasMessageHandler(); 52 NSCAPI::nagiosReturn handleCommand(const strEx:: blindstr command, const unsigned int argLen, TCHAR **char_args, std::wstring &message, std::wstring &perf);53 NSCAPI::nagiosReturn handleCommand(const strEx::wci_string command, std::list<std::wstring> arguments, std::wstring &message, std::wstring &perf); 53 54 int CheckTaskSched::commandLineExec(const TCHAR* command,const unsigned int argLen,TCHAR** args); 54 55 55 56 // Check commands 56 NSCAPI::nagiosReturn TaskSchedule( const unsigned int argLen, TCHAR **char_args, std::wstring &message, std::wstring &perf);57 NSCAPI::nagiosReturn TaskSchedule(std::list<std::wstring> arguments, std::wstring &message, std::wstring &perf); 57 58 58 59 -
modules/CheckTaskSched/stdafx.h
r7f9c823 r1ecd26f 34 34 35 35 #include <NSCAPI.h> 36 #include < NSCHelper.h>37 #include <nsc _module_wrapper.hpp>36 #include <nscapi/plugin.hpp> 37 #include <nscapi/nscapi_plugin_wrapper.hpp> 38 38 #include <checkHelpers.hpp> 39 39 #include <filter_framework.hpp> -
modules/CheckWMI/CheckWMI.cpp
r5da0459 r1ecd26f 30 30 CheckWMI gCheckWMI; 31 31 32 BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved)33 {34 NSCModuleWrapper::wrapDllMain(hModule, ul_reason_for_call);35 return TRUE;36 }37 38 32 CheckWMI::CheckWMI() { 39 33 } … … 42 36 43 37 44 bool CheckWMI::loadModule(NSCAPI::moduleLoadMode mode) { 45 try { 46 NSCModuleHelper::registerCommand(_T("CheckWMIValue"), _T("Run a WMI query and check the resulting value (the values of each row determin the state).")); 47 NSCModuleHelper::registerCommand(_T("CheckWMI"), _T("Run a WMI query and check the resulting rows (the number of hits determine state).")); 48 } catch (NSCModuleHelper::NSCMHExcpetion &e) { 38 bool CheckWMI::loadModule() { 39 return false; 40 } 41 bool CheckWMI::loadModuleEx(std::wstring alias, NSCAPI::moduleLoadMode mode) { 42 try { 43 get_core()->registerCommand(_T("CheckWMIValue"), _T("Run a WMI query and check the resulting value (the values of each row determin the state).")); 44 get_core()->registerCommand(_T("CheckWMI"), _T("Run a WMI query and check the resulting rows (the number of hits determine state).")); 45 } catch (nscapi::nscapi_exception &e) { 49 46 NSC_LOG_ERROR_STD(_T("Failed to register command: ") + e.msg_); 50 47 } catch (...) { … … 79 76 MAP_CHAINED_FILTER(value, numeric) 80 77 81 NSCAPI::nagiosReturn CheckWMI::CheckSimpleWMI( const unsigned int argLen, TCHAR **char_args, std::wstring &message, std::wstring &perf) {78 NSCAPI::nagiosReturn CheckWMI::CheckSimpleWMI(std::list<std::wstring> arguments, std::wstring &message, std::wstring &perf) { 82 79 typedef checkHolders::CheckContainer<checkHolders::MaxMinBounds<checkHolders::NumericBounds<int, checkHolders::int_handler> > > WMIContainer; 83 80 … … 85 82 typedef filters::chained_filter<WMIQuery::wmi_filter,WMIQuery::wmi_row> filter_chain; 86 83 filter_chain chain; 87 std::list<std::wstring> args = arrayBuffer::arrayBuffer2list(argLen, char_args); 88 if (args.empty()) { 84 if (arguments.empty()) { 89 85 message = _T("Missing argument(s)."); 90 86 return NSCAPI::returnCRIT; … … 99 95 WMIContainer result_query; 100 96 try { 101 MAP_OPTIONS_BEGIN(arg s)97 MAP_OPTIONS_BEGIN(arguments) 102 98 MAP_OPTIONS_STR(_T("Query"), query) 103 99 MAP_OPTIONS_STR2INT(_T("truncate"), truncate) … … 169 165 } 170 166 171 NSCAPI::nagiosReturn CheckWMI::CheckSimpleWMIValue( const unsigned int argLen, TCHAR **char_args, std::wstring &message, std::wstring &perf) {167 NSCAPI::nagiosReturn CheckWMI::CheckSimpleWMIValue(std::list<std::wstring> arguments, std::wstring &message, std::wstring &perf) { 172 168 typedef checkHolders::CheckContainer<checkHolders::MaxMinBounds<checkHolders::NumericBounds<long long, checkHolders::int64_handler> > > WMIContainer; 173 std::list<std::wstring> stl_args = arrayBuffer::arrayBuffer2list(argLen, char_args); 174 if (stl_args.empty()) { 169 if (arguments.empty()) { 175 170 message = _T("ERROR: Missing argument exception."); 176 171 return NSCAPI::returnUNKNOWN; … … 188 183 // MaxWarnNumeric:ID=>5 189 184 try { 190 MAP_OPTIONS_BEGIN( stl_args)185 MAP_OPTIONS_BEGIN(arguments) 191 186 MAP_OPTIONS_SHOWALL(tmpObject) 192 187 MAP_OPTIONS_NUMERIC_ALL(tmpObject, _T("")) … … 269 264 270 265 271 NSCAPI::nagiosReturn CheckWMI::handleCommand(const strEx:: blindstr command, const unsigned int argLen, TCHAR **char_args, std::wstring &msg, std::wstring &perf) {266 NSCAPI::nagiosReturn CheckWMI::handleCommand(const strEx::wci_string command, std::list<std::wstring> arguments, std::wstring &message, std::wstring &perf) { 272 267 if (command == _T("CheckWMI")) { 273 return CheckSimpleWMI(arg Len, char_args, msg, perf);268 return CheckSimpleWMI(arguments, message, perf); 274 269 } else if (command == _T("CheckWMIValue")) { 275 return CheckSimpleWMIValue(arg Len, char_args, msg, perf);270 return CheckSimpleWMIValue(arguments, message, perf); 276 271 } 277 272 return NSCAPI::returnIgnored; … … 340 335 341 336 337 NSC_WRAP_DLL(); 342 338 NSC_WRAPPERS_MAIN_DEF(gCheckWMI); 343 339 NSC_WRAPPERS_IGNORE_MSG_DEF(); 344 340 NSC_WRAPPERS_HANDLE_CMD_DEF(gCheckWMI); 345 NSC_WRAPPERS_CLI_DEF(gCheckWMI);341 //NSC_WRAPPERS_CLI_DEF(gCheckWMI); -
modules/CheckWMI/CheckWMI.def
r22d2739 r1ecd26f 4 4 NSModuleHelperInit 5 5 NSLoadModule 6 NSLoadModuleEx 6 7 NSGetModuleName 7 8 NSGetModuleVersion … … 12 13 NSUnloadModule 13 14 NSGetModuleDescription 14 NSCommandLineExec 15 15 NSDeleteBuffer -
modules/CheckWMI/CheckWMI.h
r5da0459 r1ecd26f 28 28 #include "WMIQuery.h" 29 29 30 class CheckWMI {30 class CheckWMI : public nscapi::impl::SimpleCommand, public nscapi::impl::simple_plugin { 31 31 public: 32 32 CheckWMI(); 33 33 virtual ~CheckWMI(); 34 34 // Module calls 35 bool loadModule(NSCAPI::moduleLoadMode mode); 35 bool loadModule(); 36 bool loadModuleEx(std::wstring alias, NSCAPI::moduleLoadMode mode); 36 37 bool unloadModule(); 37 38 … … 42 43 return _T("CheckWMI can check various file and disk related things.\nThe current version has commands to check Size of hard drives and directories."); 43 44 } 44 NSCModuleWrapper::module_version getModuleVersion() {45 NSCModuleWrapper::module_version version = {0, 0, 1 };45 nscapi::plugin_wrapper::module_version getModuleVersion() { 46 nscapi::plugin_wrapper::module_version version = {0, 0, 1 }; 46 47 return version; 47 48 } … … 49 50 bool hasCommandHandler(); 50 51 bool hasMessageHandler(); 51 NSCAPI::nagiosReturn handleCommand(const strEx:: blindstr command, const unsigned int argLen, TCHAR **char_args, std::wstring &message, std::wstring &perf);52 NSCAPI::nagiosReturn handleCommand(const strEx::wci_string command, std::list<std::wstring> arguments, std::wstring &message, std::wstring &perf); 52 53 int CheckWMI::commandLineExec(const TCHAR* command,const unsigned int argLen,TCHAR** args); 53 54 54 55 // Check commands 55 NSCAPI::nagiosReturn CheckSimpleWMI( const unsigned int argLen, TCHAR **char_args, std::wstring &message, std::wstring &perf);56 NSCAPI::nagiosReturn CheckSimpleWMIValue( const unsigned int argLen, TCHAR **char_args, std::wstring &message, std::wstring &perf);56 NSCAPI::nagiosReturn CheckSimpleWMI(std::list<std::wstring> arguments, std::wstring &message, std::wstring &perf); 57 NSCAPI::nagiosReturn CheckSimpleWMIValue(std::list<std::wstring> arguments, std::wstring &message, std::wstring &perf); 57 58 58 59 -
modules/CheckWMI/stdafx.h
r7f9c823 r1ecd26f 34 34 35 35 #include <NSCAPI.h> 36 #include < NSCHelper.h>37 #include <nsc _module_wrapper.hpp>36 #include <nscapi/plugin.hpp> 37 #include <nscapi/nscapi_plugin_wrapper.hpp> 38 38 #include <checkHelpers.hpp> 39 39 #include <filter_framework.hpp> -
modules/FileLogger/CMakeLists.txt
rc0d7e82 r1ecd26f 30 30 ${NSCP_DEF_PLUGIN_LIB} 31 31 ) 32 INCLUDE(${BUILD_CMAKE_FOLDER}/module.cmake) -
modules/FileLogger/FileLogger.cpp
rf7663c9 r1ecd26f 136 136 NSC_LOG_MESSAGE_STD(_T("Using logmask: ") + nscapi::logging::to_string(log_mask_)); 137 137 init_ = true; 138 std:: wstring hello = _T("Starting to log for: ") + GET_CORE()->getApplicationName() + _T(" - ") + GET_CORE()->getApplicationVersionString();139 handleMessage(NSCAPI::log, __FILE W__, __LINE__, hello.c_str());140 NSC_LOG_MESSAGE_STD(_T("Log path is: ") + to_wstring(file_));138 std::string hello = "Starting to log for: " + to_string(GET_CORE()->getApplicationName()) + " - " + to_string(GET_CORE()->getApplicationVersionString()); 139 handleMessage(NSCAPI::log, __FILE__, __LINE__, hello); 140 handleMessage(NSCAPI::log, __FILE__, __LINE__, "Log path is: " + file_); 141 141 return true; 142 142 } … … 173 173 */ 174 174 175 void FileLogger::handleMessage(int msgType, const wchar_t* file, int line, const TCHAR*message) {175 void FileLogger::handleMessage(int msgType, const std::string file, int line, std::string message) { 176 176 if (!init_) { 177 std::wcout << _T("Discarding: ") << message<< std::endl;177 std::wcout << _T("Discarding: ") << to_wstring(message) << std::endl; 178 178 return; 179 179 } … … 183 183 std::ofstream stream(file_.c_str(), std::ios::out|std::ios::app|std::ios::ate); 184 184 if (!stream) { 185 std::wcout << _T("File could not be opened, Discarding: ") << message<< std::endl;185 std::wcout << _T("File could not be opened, Discarding: ") << to_wstring(message) << std::endl; 186 186 } 187 187 stream << to_string(get_formated_date()) 188 188 << (": ") << to_string(nscapi::plugin_helper::translateMessageType(msgType)) 189 << (":") << to_string(std::wstring(file))190 <<(":") << to_string(line)191 << (": ") << to_string(std::wstring(message))<< std::endl;189 << (":") << file 190 <<(":") << line 191 << (": ") << message << std::endl; 192 192 } 193 193 -
modules/FileLogger/FileLogger.h
r5e12ba6 r1ecd26f 23 23 NSC_WRAPPERS_MAIN(); 24 24 25 class FileLogger : public nscapi::impl::simple_plugin {25 class FileLogger : public nscapi::impl::simple_plugin, public nscapi::impl::simple_log_handler { 26 26 private: 27 27 std::string file_; … … 55 55 bool hasCommandHandler(); 56 56 bool hasMessageHandler(); 57 void handleMessage(int msgType, const wchar_t* file, int line, const TCHAR*message);57 void handleMessage(int msgType, const std::string file, int line, std::string message); 58 58 int handleCommand(TCHAR* command, TCHAR **argument, TCHAR *returnBuffer, int returnBufferLen); 59 59 //void writeEntry(std::wstring line); -
modules/NRPEClient/CMakeLists.txt
r294b37b r1ecd26f 36 36 ${OPENSSL_LIBRARIES} 37 37 ) 38 39 40 #INSTALL(FILES ${PROJECT_SOURCE_DIR}/cmake/FindWt.cmake DESTINATION 41 # ${CMAKE_INSTALL_PREFIX}/${WT_CMAKE_FINDER_INSTALL_DIR} ) 42 38 INCLUDE(${BUILD_CMAKE_FOLDER}/module.cmake) -
modules/NRPEClient/NRPEClient.cpp
r497b779 r1ecd26f 31 31 #include <nrpe/client/socket.hpp> 32 32 33 namespace sh = nscapi::settings_helper; 33 34 34 35 NRPEClient gNRPEClient; … … 45 46 46 47 bool NRPEClient::loadModuleEx(std::wstring alias, NSCAPI::moduleLoadMode mode) { 47 std::list<std::wstring> commands; 48 buffer_length_ = SETTINGS_GET_INT(nrpe::PAYLOAD_LENGTH); 49 try { 50 SETTINGS_REG_PATH(nrpe::CH_SECTION); 51 commands = GET_CORE()->getSettingsSection(setting_keys::nrpe::CH_SECTION_PATH); 52 } catch (nscapi::nscapi_exception &e) { 53 NSC_LOG_ERROR_STD(_T("Failed to register command: ") + e.msg_); 54 } catch (...) { 55 NSC_LOG_ERROR_STD(_T("Failed to register command.")); 56 } 48 std::map<std::wstring,std::wstring> commands; 49 50 try { 51 52 //"/settings/NRPE/client/handlers" 53 sh::settings_registry settings(nscapi::plugin_singleton->get_core()); 54 settings.set_alias(_T("NRPE"), alias, _T("client")); 55 56 settings.alias().add_path_to_settings() 57 (_T("EXTERNAL SCRIPT SECTION"), _T("Section for external scripts configuration options (CheckExternalScripts).")) 58 59 (_T("handlers"), sh::fun_values_path(boost::bind(&NRPEClient::addCommand, this, _1, _2)), 60 _T("CLIENT HANDLER SECTION"), _T("")) 61 62 ; 63 64 settings.alias().add_key_to_settings() 65 66 (_T("payload length"), sh::uint_key(&buffer_length_, 1024), 67 _T("PAYLOAD LENGTH"), _T("Length of payload to/from the NRPE agent. This is a hard specific value so you have to \"configure\" (read recompile) your NRPE agent to use the same value for it to work.")) 68 69 ; 70 71 72 settings.register_all(); 73 settings.notify(); 74 75 } catch (...) { 76 NSC_LOG_ERROR_STD(_T("Exception caught: <UNKNOWN EXCEPTION>")); 77 return false; 78 } 79 return true; 57 80 58 81 boost::filesystem::wpath p = GET_CORE()->getBasePath() + std::wstring(_T("/security/nrpe_dh_512.pem")); … … 64 87 } 65 88 66 67 for (std::list<std::wstring>::const_iterator it = commands.begin(); it != commands.end(); ++it) {68 NSC_DEBUG_MSG_STD(*it);69 std::wstring s = GET_CORE()->getSettingsString(setting_keys::nrpe::CH_SECTION_PATH, (*it), _T(""));70 if (s.empty()) {71 NSC_LOG_ERROR_STD(_T("Invalid NRPE-client entry: ") + (*it));72 } else {73 addCommand((*it).c_str(), s);74 }75 }76 89 return true; 77 90 } … … 91 104 92 105 93 void NRPEClient::addCommand(st rEx::blindstrkey, std::wstring args) {106 void NRPEClient::addCommand(std::wstring key, std::wstring args) { 94 107 try { 95 108 … … 119 132 120 133 NSC_DEBUG_MSG_STD(_T("Added NRPE Client: ") + key.c_str() + _T(" = ") + command_data.toString()); 121 commands[key ] = command_data;134 commands[key.c_str()] = command_data; 122 135 123 136 GET_CORE()->registerCommand(key.c_str(), command_data.toString()); -
modules/NRPEClient/NRPEClient.h
r497b779 r1ecd26f 133 133 134 134 private: 135 void addCommand(st rEx::blindstrkey, std::wstring args);135 void addCommand(std::wstring key, std::wstring args); 136 136 137 137 }; -
modules/NRPEServer/CMakeLists.txt
r294b37b r1ecd26f 50 50 ${OPENSSL_LIBRARIES} 51 51 ) 52 53 54 #INSTALL(FILES ${PROJECT_SOURCE_DIR}/cmake/FindWt.cmake DESTINATION 55 # ${CMAKE_INSTALL_PREFIX}/${WT_CMAKE_FINDER_INSTALL_DIR} ) 56 52 INCLUDE(${BUILD_CMAKE_FOLDER}/module.cmake) -
modules/NRPEServer/handler_impl.hpp
r497b779 r1ecd26f 36 36 } 37 37 38 void log_debug(std:: wstring file, int line, std::wstring msg) {38 void log_debug(std::string file, int line, std::wstring msg) { 39 39 GET_CORE()->Message(NSCAPI::debug, file, line, msg); 40 40 } 41 void log_error(std:: wstring file, int line, std::wstring msg) {41 void log_error(std::string file, int line, std::wstring msg) { 42 42 GET_CORE()->Message(NSCAPI::error, file, line, msg); 43 43 } -
modules/NSCAAgent/CMakeLists.txt
r86632db r1ecd26f 45 45 ${EXTRA_LIBS} 46 46 ) 47 INCLUDE(${BUILD_CMAKE_FOLDER}/module.cmake) -
modules/Scheduler/CMakeLists.txt
r3080680 r1ecd26f 32 32 ${NSCP_DEF_PLUGIN_LIB} 33 33 ) 34 INCLUDE(${BUILD_CMAKE_FOLDER}/module.cmake)
Note: See TracChangeset
for help on using the changeset viewer.








