mirror of
https://github.com/pandorafms/pandorafms.git
synced 2025-07-28 08:14:38 +02:00
2011-07-14 Ramon Novoa <rnovoa@artica.es>
* modules/pandora_module.h, modules/pandora_module_factory.cc, modules/pandora_module.cc: Set additional module configuration parameters from the XML. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@4572 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
f05f9e36bd
commit
d320f55981
@ -1,3 +1,10 @@
|
|||||||
|
2011-07-14 Ramon Novoa <rnovoa@artica.es>
|
||||||
|
|
||||||
|
* modules/pandora_module.h,
|
||||||
|
modules/pandora_module_factory.cc,
|
||||||
|
modules/pandora_module.cc: Set additional module configuration
|
||||||
|
parameters from the XML.
|
||||||
|
|
||||||
2011-05-06 Vanessa Gil <vanessa.gil@artica.es>
|
2011-05-06 Vanessa Gil <vanessa.gil@artica.es>
|
||||||
|
|
||||||
* win32/pandora.cc: Fixed: Windows agent log and system time are unsynchronized.
|
* win32/pandora.cc: Fixed: Windows agent log and system time are unsynchronized.
|
||||||
|
@ -55,6 +55,12 @@ Pandora_Module::Pandora_Module (string name) {
|
|||||||
this->precondition_list = NULL;
|
this->precondition_list = NULL;
|
||||||
this->condition_list = NULL;
|
this->condition_list = NULL;
|
||||||
this->cron = NULL;
|
this->cron = NULL;
|
||||||
|
this->min_critical = "";
|
||||||
|
this->max_critical = "";
|
||||||
|
this->min_warning = "";
|
||||||
|
this->max_warning = "";
|
||||||
|
this->disabled = "";
|
||||||
|
this->min_ff_event = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -498,6 +504,48 @@ Pandora_Module::getXml () {
|
|||||||
module_xml += "]]></post_process>\n";
|
module_xml += "]]></post_process>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Min critical */
|
||||||
|
if (this->min_critical != "") {
|
||||||
|
module_xml += "\t<min_critical><![CDATA[";
|
||||||
|
module_xml += this->min_critical;
|
||||||
|
module_xml += "]]></min_critical>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Max critical */
|
||||||
|
if (this->max_critical != "") {
|
||||||
|
module_xml += "\t<max_critical><![CDATA[";
|
||||||
|
module_xml += this->max_critical;
|
||||||
|
module_xml += "]]></max_critical>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Min warning */
|
||||||
|
if (this->min_warning != "") {
|
||||||
|
module_xml += "\t<min_warning><![CDATA[";
|
||||||
|
module_xml += this->min_warning;
|
||||||
|
module_xml += "]]></min_warning>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Max warning */
|
||||||
|
if (this->max_warning != "") {
|
||||||
|
module_xml += "\t<max_warning><![CDATA[";
|
||||||
|
module_xml += this->max_warning;
|
||||||
|
module_xml += "]]></max_warning>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Disabled */
|
||||||
|
if (this->disabled != "") {
|
||||||
|
module_xml += "\t<disabled><![CDATA[";
|
||||||
|
module_xml += this->disabled;
|
||||||
|
module_xml += "]]></disabled>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Min ff event */
|
||||||
|
if (this->min_ff_event != "") {
|
||||||
|
module_xml += "\t<min_ff_event><![CDATA[";
|
||||||
|
module_xml += this->min_ff_event;
|
||||||
|
module_xml += "]]></min_ff_event>\n";
|
||||||
|
}
|
||||||
|
|
||||||
/* Write module data */
|
/* Write module data */
|
||||||
if (this->data_list && this->data_list->size () > 1) {
|
if (this->data_list && this->data_list->size () > 1) {
|
||||||
list<Pandora_Data *>::iterator iter;
|
list<Pandora_Data *>::iterator iter;
|
||||||
@ -584,6 +632,66 @@ Pandora_Module::setPostProcess (string value) {
|
|||||||
this->post_process = value;
|
this->post_process = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the min critical value for the module.
|
||||||
|
*
|
||||||
|
* @param value Min critical value .
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
Pandora_Module::setMinCritical (string value) {
|
||||||
|
this->min_critical = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the max critical value for the module.
|
||||||
|
*
|
||||||
|
* @param value Max critical value .
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
Pandora_Module::setMaxCritical (string value) {
|
||||||
|
this->max_critical = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the min warning value for the module.
|
||||||
|
*
|
||||||
|
* @param value Min warning value .
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
Pandora_Module::setMinWarning (string value) {
|
||||||
|
this->min_warning = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the max warning value for the module.
|
||||||
|
*
|
||||||
|
* @param value Max warning value .
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
Pandora_Module::setMaxWarning (string value) {
|
||||||
|
this->max_warning = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the disabled value for the module.
|
||||||
|
*
|
||||||
|
* @param value Disabled value .
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
Pandora_Module::setDisabled (string value) {
|
||||||
|
this->disabled = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the min ff event value for the module.
|
||||||
|
*
|
||||||
|
* @param value Min ff event value .
|
||||||
|
*/
|
||||||
|
void
|
||||||
|
Pandora_Module::setMinFFEvent (string value) {
|
||||||
|
this->min_ff_event = value;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set the async flag to the module.
|
* Set the async flag to the module.
|
||||||
*
|
*
|
||||||
|
@ -170,7 +170,8 @@ namespace Pandora_Modules {
|
|||||||
int module_timeout;
|
int module_timeout;
|
||||||
int executions;
|
int executions;
|
||||||
int max, min;
|
int max, min;
|
||||||
string post_process;
|
string min_critical, max_critical, min_warning, max_warning;
|
||||||
|
string post_process, disabled, min_ff_event;
|
||||||
bool has_limits, has_min, has_max;
|
bool has_limits, has_min, has_max;
|
||||||
Module_Type module_type;
|
Module_Type module_type;
|
||||||
string module_kind_str;
|
string module_kind_str;
|
||||||
@ -257,6 +258,13 @@ namespace Pandora_Modules {
|
|||||||
void setMax (int value);
|
void setMax (int value);
|
||||||
void setMin (int value);
|
void setMin (int value);
|
||||||
void setPostProcess (string value);
|
void setPostProcess (string value);
|
||||||
|
void setMinCritical (string value);
|
||||||
|
void setMaxCritical (string value);
|
||||||
|
void setMinWarning (string value);
|
||||||
|
void setMaxWarning (string value);
|
||||||
|
void setDisabled (string value);
|
||||||
|
void setMinFFEvent (string value);
|
||||||
|
|
||||||
void setAsync (bool async);
|
void setAsync (bool async);
|
||||||
void setSave (string save);
|
void setSave (string save);
|
||||||
|
|
||||||
|
@ -59,6 +59,12 @@ using namespace Pandora_Strutils;
|
|||||||
#define TOKEN_MAX ("module_max ")
|
#define TOKEN_MAX ("module_max ")
|
||||||
#define TOKEN_MIN ("module_min ")
|
#define TOKEN_MIN ("module_min ")
|
||||||
#define TOKEN_POST_PROCESS ("module_postprocess ")
|
#define TOKEN_POST_PROCESS ("module_postprocess ")
|
||||||
|
#define TOKEN_MIN_CRITICAL ("module_min_critical ")
|
||||||
|
#define TOKEN_MAX_CRITICAL ("module_max_critical ")
|
||||||
|
#define TOKEN_MIN_WARNING ("module_min_warning ")
|
||||||
|
#define TOKEN_MAX_WARNING ("module_max_warning ")
|
||||||
|
#define TOKEN_DISABLED ("module_disabled ")
|
||||||
|
#define TOKEN_MIN_FF_EVENT ("module_min_ff_event ")
|
||||||
#define TOKEN_DESCRIPTION ("module_description ")
|
#define TOKEN_DESCRIPTION ("module_description ")
|
||||||
#define TOKEN_ODBC_QUERY ("module_odbc_query ")
|
#define TOKEN_ODBC_QUERY ("module_odbc_query ")
|
||||||
#define TOKEN_LOGEVENT ("module_logevent")
|
#define TOKEN_LOGEVENT ("module_logevent")
|
||||||
@ -130,6 +136,8 @@ Pandora_Module_Factory::getModuleFromDefinition (string definition) {
|
|||||||
string module_port, module_timeout, module_regexp;
|
string module_port, module_timeout, module_regexp;
|
||||||
string module_plugin, module_save, module_condition, module_precondition;
|
string module_plugin, module_save, module_condition, module_precondition;
|
||||||
string module_crontab, module_cron_interval, module_post_process;
|
string module_crontab, module_cron_interval, module_post_process;
|
||||||
|
string module_min_critical, module_max_critical, module_min_warning, module_max_warning;
|
||||||
|
string module_disabled, module_min_ff_event;
|
||||||
Pandora_Module *module;
|
Pandora_Module *module;
|
||||||
bool numeric;
|
bool numeric;
|
||||||
Module_Type type;
|
Module_Type type;
|
||||||
@ -176,6 +184,12 @@ Pandora_Module_Factory::getModuleFromDefinition (string definition) {
|
|||||||
module_cron_interval = "";
|
module_cron_interval = "";
|
||||||
module_post_process = "";
|
module_post_process = "";
|
||||||
module_precondition = "";
|
module_precondition = "";
|
||||||
|
module_min_critical = "";
|
||||||
|
module_max_critical = "";
|
||||||
|
module_min_warning = "";
|
||||||
|
module_max_warning = "";
|
||||||
|
module_disabled = "";
|
||||||
|
module_min_ff_event = "";
|
||||||
|
|
||||||
stringtok (tokens, definition, "\n");
|
stringtok (tokens, definition, "\n");
|
||||||
|
|
||||||
@ -243,6 +257,24 @@ Pandora_Module_Factory::getModuleFromDefinition (string definition) {
|
|||||||
if (module_post_process == "") {
|
if (module_post_process == "") {
|
||||||
module_post_process = parseLine (line, TOKEN_POST_PROCESS);
|
module_post_process = parseLine (line, TOKEN_POST_PROCESS);
|
||||||
}
|
}
|
||||||
|
if (module_min_critical == "") {
|
||||||
|
module_post_process = parseLine (line, TOKEN_MIN_CRITICAL);
|
||||||
|
}
|
||||||
|
if (module_max_critical == "") {
|
||||||
|
module_post_process = parseLine (line, TOKEN_MAX_CRITICAL);
|
||||||
|
}
|
||||||
|
if (module_min_warning == "") {
|
||||||
|
module_post_process = parseLine (line, TOKEN_MIN_WARNING);
|
||||||
|
}
|
||||||
|
if (module_max_warning == "") {
|
||||||
|
module_post_process = parseLine (line, TOKEN_MAX_WARNING);
|
||||||
|
}
|
||||||
|
if (module_disabled == "") {
|
||||||
|
module_post_process = parseLine (line, TOKEN_DISABLED);
|
||||||
|
}
|
||||||
|
if (module_min_ff_event == "") {
|
||||||
|
module_post_process = parseLine (line, TOKEN_MIN_FF_EVENT);
|
||||||
|
}
|
||||||
if (module_description == "") {
|
if (module_description == "") {
|
||||||
module_description = parseLine (line, TOKEN_DESCRIPTION);
|
module_description = parseLine (line, TOKEN_DESCRIPTION);
|
||||||
}
|
}
|
||||||
@ -541,5 +573,29 @@ Pandora_Module_Factory::getModuleFromDefinition (string definition) {
|
|||||||
module->setPostProcess (module_post_process);
|
module->setPostProcess (module_post_process);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (module_min_critical != "") {
|
||||||
|
module->setMinCritical (module_min_critical);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (module_max_critical != "") {
|
||||||
|
module->setMaxCritical (module_max_critical);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (module_min_warning != "") {
|
||||||
|
module->setMinWarning (module_min_warning);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (module_max_warning != "") {
|
||||||
|
module->setMaxWarning (module_max_warning);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (module_disabled != "") {
|
||||||
|
module->setDisabled (module_disabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (module_min_ff_event != "") {
|
||||||
|
module->setMinFFEvent (module_min_ff_event);
|
||||||
|
}
|
||||||
|
|
||||||
return module;
|
return module;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user