diff --git a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql index 5023faadbf..3b19f5a57a 100644 --- a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql +++ b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.mysql.sql @@ -1,3 +1,989 @@ +-- --------------------------------------------------------------------- +-- If user was open +-- --------------------------------------------------------------------- + +-- ----------------------------------------------------- +-- Table `tlocal_component` +-- ----------------------------------------------------- +-- tlocal_component is a repository of local modules for +-- physical agents on Windows / Unix physical agents +CREATE TABLE IF NOT EXISTS `tlocal_component` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` text NOT NULL, + `data` mediumtext NOT NULL, + `description` varchar(1024) default NULL, + `id_os` int(10) unsigned default '0', + `os_version` varchar(100) default '', + `id_network_component_group` int(10) unsigned NOT NULL default 0, + `type` smallint(6) NOT NULL default '6', + `max` bigint(20) NOT NULL default '0', + `min` bigint(20) NOT NULL default '0', + `module_interval` mediumint(8) unsigned NOT NULL default '0', + `id_module_group` tinyint(4) unsigned NOT NULL default '0', + `history_data` tinyint(1) unsigned default '1', + `min_warning` double(18,2) default 0, + `max_warning` double(18,2) default 0, + `str_warning` text, + `min_critical` double(18,2) default 0, + `max_critical` double(18,2) default 0, + `str_critical` text, + `min_ff_event` int(4) unsigned default '0', + `post_process` double(24,15) default 0, + `unit` text, + `wizard_level` enum('basic','advanced','nowizard') default 'nowizard', + `macros` text, + `critical_instructions` text NOT NULL default '', + `warning_instructions` text NOT NULL default '', + `unknown_instructions` text NOT NULL default '', + `critical_inverse` tinyint(1) unsigned default '0', + `warning_inverse` tinyint(1) unsigned default '0', + `id_category` int(10) default 0, + `tags` text NOT NULL default '', + `disabled_types_event` TEXT NOT NULL DEFAULT '', + `min_ff_event_normal` int(4) unsigned default '0', + `min_ff_event_warning` int(4) unsigned default '0', + `min_ff_event_critical` int(4) unsigned default '0', + `each_ff` tinyint(1) unsigned default '0', + `ff_timeout` int(4) unsigned default '0', + `dynamic_interval` int(4) unsigned default '0', + `dynamic_max` int(4) default '0', + `dynamic_min` int(4) default '0', + `dynamic_next` bigint(20) NOT NULL default '0', + `dynamic_two_tailed` tinyint(1) unsigned default '0', + `prediction_sample_window` int(10) default 0, + `prediction_samples` int(4) default 0, + `prediction_threshold` int(4) default 0, + PRIMARY KEY (`id`), + FOREIGN KEY (`id_network_component_group`) REFERENCES tnetwork_component_group(`id_sg`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tpolicy_modules` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tpolicy_modules` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_policy` int(10) unsigned NOT NULL default '0', + `configuration_data` mediumtext NOT NULL, + `id_tipo_modulo` smallint(5) NOT NULL default '0', + `description` varchar(1024) NOT NULL default '', + `name` varchar(200) NOT NULL default '', + `unit` text default '', + `max` bigint(20) default '0', + `min` bigint(20) default '0', + `module_interval` int(4) unsigned default '0', + `tcp_port` int(4) unsigned default '0', + `tcp_send` text default '', + `tcp_rcv` text default '', + `snmp_community` varchar(100) default '', + `snmp_oid` varchar(255) default '0', + `id_module_group` int(4) unsigned default '0', + `flag` tinyint(1) unsigned default '1', + `id_module` int(10) default '0', + `disabled` tinyint(1) unsigned NOT NULL default '0', + `id_export` smallint(4) unsigned default '0', + `plugin_user` text default '', + `plugin_pass` text default '', + `plugin_parameter` text, + `id_plugin` int(10) default '0', + `post_process` double(24,15) default NULL, + `prediction_module` bigint(14) default '0', + `max_timeout` int(4) unsigned default '0', + `max_retries` int(4) unsigned default '0', + `custom_id` varchar(255) default '', + `history_data` tinyint(1) unsigned default '1', + `min_warning` double(18,2) default 0, + `max_warning` double(18,2) default 0, + `str_warning` text default '', + `min_critical` double(18,2) default 0, + `max_critical` double(18,2) default 0, + `str_critical` text default '', + `min_ff_event` int(4) unsigned default '0', + `custom_string_1` text default '', + `custom_string_2` text default '', + `custom_string_3` text default '', + `custom_integer_1` int(10) default 0, + `custom_integer_2` int(10) default 0, + `pending_delete` tinyint(1) default '0', + `critical_instructions` text NOT NULL default '', + `warning_instructions` text NOT NULL default '', + `unknown_instructions` text NOT NULL default '', + `critical_inverse` tinyint(1) unsigned default '0', + `warning_inverse` tinyint(1) unsigned default '0', + `id_category` int(10) default 0, + `module_ff_interval` int(4) unsigned default '0', + `quiet` tinyint(1) NOT NULL default '0', + `cron_interval` varchar(100) default '', + `macros` text, + `disabled_types_event` TEXT NOT NULL default '', + `module_macros` TEXT NOT NULL default '', + `min_ff_event_normal` int(4) unsigned default '0', + `min_ff_event_warning` int(4) unsigned default '0', + `min_ff_event_critical` int(4) unsigned default '0', + `each_ff` tinyint(1) unsigned default '0', + `ff_timeout` int(4) unsigned default '0', + `dynamic_interval` int(4) unsigned default '0', + `dynamic_max` int(4) default '0', + `dynamic_min` int(4) default '0', + `dynamic_next` bigint(20) NOT NULL default '0', + `dynamic_two_tailed` tinyint(1) unsigned default '0', + `prediction_sample_window` int(10) default 0, + `prediction_samples` int(4) default 0, + `prediction_threshold` int(4) default 0, + PRIMARY KEY (`id`), + KEY `main_idx` (`id_policy`), + UNIQUE (`id_policy`, `name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tpolicies` +-- --------------------------------------------------------------------- +-- 'status' could be 0 (without changes, updated), 1 (needy update only database) or 2 (needy update database and conf files) +CREATE TABLE IF NOT EXISTS `tpolicies` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` text NOT NULL default '', + `description` varchar(255) NOT NULL default '', + `id_group` int(10) unsigned default '0', + `status` int(10) unsigned NOT NULL default 0, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tpolicy_alerts` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tpolicy_alerts` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_policy` int(10) unsigned NOT NULL default '0', + `id_policy_module` int(10) unsigned default '0', + `id_alert_template` int(10) unsigned default '0', + `name_extern_module` TEXT NOT NULL default '', + `disabled` tinyint(1) default '0', + `standby` tinyint(1) default '0', + `pending_delete` tinyint(1) default '0', + PRIMARY KEY (`id`), + FOREIGN KEY (`id_alert_template`) REFERENCES talert_templates(`id`) + ON DELETE CASCADE ON UPDATE CASCADE, + FOREIGN KEY (`id_policy`) REFERENCES tpolicies(`id`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tpolicy_agents` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tpolicy_agents` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_policy` int(10) unsigned default '0', + `id_agent` int(10) unsigned default '0', + `policy_applied` tinyint(1) unsigned default '0', + `pending_delete` tinyint(1) unsigned default '0', + `last_apply_utimestamp` int(10) unsigned NOT NULL default 0, + PRIMARY KEY (`id`), + UNIQUE (`id_policy`, `id_agent`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tdashboard` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tdashboard` ( + `id` int(20) unsigned NOT NULL auto_increment, + `name` varchar(60) NOT NULL default '', + `id_user` varchar(60) NOT NULL default '', + `id_group` int(10) NOT NULL default 0, + `active` tinyint(1) NOT NULL default 0, + `cells` int(10) unsigned default 0, + PRIMARY KEY (`id`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `twidget` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `twidget` ( + `id` int(20) unsigned NOT NULL auto_increment, + `class_name` varchar(60) NOT NULL default '', + `unique_name` varchar(60) NOT NULL default '', + `description` text NOT NULL default '', + `options` text NOT NULL default '', + `page` varchar(120) NOT NULL default '', + PRIMARY KEY (`id`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `twidget_dashboard` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `twidget_dashboard` ( + `id` int(20) unsigned NOT NULL auto_increment, + `options` LONGTEXT NOT NULL default '', + `order` int(3) NOT NULL default 0, + `id_dashboard` int(20) unsigned NOT NULL default 0, + `id_widget` int(20) unsigned NOT NULL default 0, + `prop_width` float(5,3) NOT NULL default 0.32, + `prop_height` float(5,3) NOT NULL default 0.32, + PRIMARY KEY (`id`), + FOREIGN KEY (`id_dashboard`) REFERENCES tdashboard(`id`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tmodule_inventory` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tmodule_inventory` ( + `id_module_inventory` int(10) NOT NULL auto_increment, + `id_os` int(10) unsigned default NULL, + `name` text default '', + `description` text default '', + `interpreter` varchar(100) default '', + `data_format` text default '', + `code` BLOB NOT NULL, + `block_mode` int(3) NOT NULL default 0, + PRIMARY KEY (`id_module_inventory`), + FOREIGN KEY (`id_os`) REFERENCES tconfig_os(`id_os`) + ON UPDATE CASCADE ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tagent_module_inventory` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tagent_module_inventory` ( + `id_agent_module_inventory` int(10) NOT NULL auto_increment, + `id_agente` int(10) unsigned NOT NULL, + `id_module_inventory` int(10) NOT NULL, + `target` varchar(100) default '', + `interval` int(10) unsigned NOT NULL default '3600', + `username` varchar(100) default '', + `password` varchar(100) default '', + `data` MEDIUMBLOB NOT NULL, + `timestamp` datetime default '1970-01-01 00:00:00', + `utimestamp` bigint(20) default '0', + `flag` tinyint(1) unsigned default '1', + `id_policy_module_inventory` int(10) NOT NULL default '0', + PRIMARY KEY (`id_agent_module_inventory`), + FOREIGN KEY (`id_agente`) REFERENCES tagente(`id_agente`) + ON UPDATE CASCADE ON DELETE CASCADE, + FOREIGN KEY (`id_module_inventory`) REFERENCES tmodule_inventory(`id_module_inventory`) + ON UPDATE CASCADE ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tpolicy_modules_inventory` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tpolicy_modules_inventory` ( + `id` int(10) NOT NULL auto_increment, + `id_policy` int(10) unsigned NOT NULL, + `id_module_inventory` int(10) NOT NULL, + `interval` int(10) unsigned NOT NULL default '3600', + `username` varchar(100) default '', + `password` varchar(100) default '', + `pending_delete` tinyint(1) default '0', + PRIMARY KEY (`id`), + FOREIGN KEY (`id_policy`) REFERENCES tpolicies(`id`) + ON UPDATE CASCADE ON DELETE CASCADE, + FOREIGN KEY (`id_module_inventory`) REFERENCES tmodule_inventory(`id_module_inventory`) + ON UPDATE CASCADE ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tagente_datos_inventory` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tagente_datos_inventory` ( + `id_agent_module_inventory` int(10) NOT NULL, + `data` MEDIUMBLOB NOT NULL, + `utimestamp` bigint(20) default '0', + `timestamp` datetime default '1970-01-01 00:00:00', + KEY `idx_id_agent_module` (`id_agent_module_inventory`), + KEY `idx_utimestamp` USING BTREE (`utimestamp`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `ttrap_custom_values` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `ttrap_custom_values` ( + `id` int(10) NOT NULL auto_increment, + `oid` varchar(255) NOT NULL default '', + `custom_oid` varchar(255) NOT NULL default '', + `text` varchar(255) default '', + `description` varchar(255) default '', + `severity` tinyint(4) unsigned NOT NULL default '2', + CONSTRAINT oid_custom_oid UNIQUE(oid, custom_oid), + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tmetaconsole_setup` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tmetaconsole_setup` ( + `id` int(10) NOT NULL auto_increment primary key, + `server_name` text default '', + `server_url` text default '', + `dbuser` text default '', + `dbpass` text default '', + `dbhost` text default '', + `dbport` text default '', + `dbname` text default '', + `auth_token` text default '', + `id_group` int(10) unsigned NOT NULL default 0, + `api_password` text NOT NULL, + `disabled` tinyint(1) unsigned NOT NULL default '0', + `last_event_replication` bigint(20) default '0' +) ENGINE=InnoDB +COMMENT = 'Table to store metaconsole sources' +DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tprofile_view` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tprofile_view` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_profile` int(10) unsigned NOT NULL default 0, + `sec` text default '', + `sec2` text default '', + `sec3` text default '', + PRIMARY KEY (`id`) +) ENGINE=InnoDB +COMMENT = 'Table to define by each profile defined in Pandora, to which sec/page has access independently of its ACL (for showing in the console or not). By default have access to all pages allowed by ACL, if forbidden here, then pages are not shown.' +DEFAULT CHARSET=utf8; + + +-- --------------------------------------------------------------------- +-- Table `tservice` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tservice` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` varchar(100) NOT NULL default '', + `description` text NOT NULL default '', + `id_group` int(10) unsigned NOT NULL default 0, + `critical` float(20,3) NOT NULL default 0, + `warning` float(20,3) NOT NULL default 0, + `service_interval` float(20,3) NOT NULL default 0, + `service_value` float(20,3) NOT NULL default 0, + `status` tinyint(3) NOT NULL default -1, + `utimestamp` int(10) unsigned NOT NULL default 0, + `auto_calculate` tinyint(1) unsigned NOT NULL default 1, + `id_agent_module` int(10) unsigned NOT NULL default 0, + `sla_interval` float(20,3) NOT NULL default 0, + `sla_id_module` int(10) unsigned NOT NULL default 0, + `sla_value_id_module` int(10) unsigned NOT NULL default 0, + `sla_limit` float(20,3) NOT NULL default 100, + `id_template_alert_warning` int(10) unsigned NOT NULL default 0, + `id_template_alert_critical` int(10) unsigned NOT NULL default 0, + `id_template_alert_unknown` int(10) unsigned NOT NULL default 0, + `id_template_alert_critical_sla` int(10) unsigned NOT NULL default 0, + PRIMARY KEY (`id`) +) ENGINE=InnoDB +COMMENT = 'Table to define services to monitor' +DEFAULT CHARSET=utf8; + + +-- --------------------------------------------------------------------- +-- Table `tservice_element` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tservice_element` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_service` int(10) unsigned NOT NULL, + `weight_ok` float(20,3) NOT NULL default 0, + `weight_warning` float(20,3) NOT NULL default 0, + `weight_critical` float(20,3) NOT NULL default 0, + `weight_unknown` float(20,3) NOT NULL default 0, + `description` text NOT NULL default '', + `id_agente_modulo` int(10) unsigned NOT NULL default 0, + `id_agent` int(10) unsigned NOT NULL default 0, + `id_service_child` int(10) unsigned NOT NULL default 0, + `id_server_meta` int(10) unsigned NOT NULL default 0, + PRIMARY KEY (`id`) +) ENGINE=InnoDB +COMMENT = 'Table to define the modules and the weights of the modules that define a service' +DEFAULT CHARSET=utf8; + + +-- --------------------------------------------------------------------- +-- Table `tcollection` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tcollection` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` varchar(100) NOT NULL default '', + `short_name` varchar(100) NOT NULL default '', + `id_group` int(10) unsigned NOT NULL default 0, + `description` mediumtext, + `status` int(4) unsigned NOT NULL default '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +-- status: 0 - Not apply +-- status: 1 - Applied + +-- --------------------------------------------------------------------- +-- Table `tpolicy_collections` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tpolicy_collections` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_policy` int(10) unsigned NOT NULL default '0', + `id_collection` int(10) unsigned default '0', + `pending_delete` tinyint(1) default '0', + PRIMARY KEY (`id`), + FOREIGN KEY (`id_policy`) REFERENCES `tpolicies` (`id`) + ON DELETE CASCADE ON UPDATE CASCADE, + FOREIGN KEY (`id_collection`) REFERENCES `tcollection` (`id`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tpolicy_alerts_actions` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tpolicy_alerts_actions` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_policy_alert` int(10) unsigned NOT NULL, + `id_alert_action` int(10) unsigned NOT NULL, + `fires_min` int(3) unsigned default 0, + `fires_max` int(3) unsigned default 0, + PRIMARY KEY (`id`), + FOREIGN KEY (`id_policy_alert`) REFERENCES `tpolicy_alerts` (`id`) + ON DELETE CASCADE ON UPDATE CASCADE, + FOREIGN KEY (`id_alert_action`) REFERENCES `talert_actions` (`id`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tpolicy_plugins` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tpolicy_plugins` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_policy` int(10) unsigned default '0', + `plugin_exec` TEXT, + `pending_delete` tinyint(1) default '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tsesion_extended` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tsesion_extended` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_sesion` int(10) unsigned NOT NULL, + `extended_info` TEXT default '', + `hash` varchar(255) default '', + PRIMARY KEY (`id`), + KEY idx_session (id_sesion) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tskin` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tskin` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` TEXT NOT NULL DEFAULT '', + `relative_path` TEXT NOT NULL DEFAULT '', + `description` text NOT NULL DEFAULT '', + `disabled` tinyint(2) NOT NULL default '0', + PRIMARY KEY (id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tpolicy_queue` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tpolicy_queue` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_policy` int(10) unsigned NOT NULL default '0', + `id_agent` int(10) unsigned NOT NULL default '0', + `operation` varchar(15) default '', + `progress` int(10) unsigned NOT NULL default '0', + `end_utimestamp` int(10) unsigned NOT NULL default 0, + `priority` int(10) unsigned NOT NULL default '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tevent_rule` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tevent_rule` ( + `id_event_rule` int(10) unsigned NOT NULL auto_increment, + `id_event_alert` int(10) unsigned NOT NULL, + `operation` enum('NOP', 'AND','OR','XOR','NAND','NOR','NXOR'), + `order` int(10) unsigned default '0', + `window` int(10) NOT NULL default '0', + `count` int(4) NOT NULL default '1', + `agent` text default '', + `id_usuario` varchar(100) NOT NULL default '', + `id_grupo` mediumint(4) NOT NULL default '0', + `evento` text NOT NULL default '', + `event_type` enum('','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal') default 'unknown', + `module` text default '', + `alert` text default '', + `criticity` int(4) unsigned NOT NULL default '0', + `user_comment` text NOT NULL, + `id_tag` integer(10) unsigned NOT NULL default '0', + `name` text default '', + PRIMARY KEY (`id_event_rule`), + KEY `idx_id_event_alert` (`id_event_alert`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tevent_alert` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tevent_alert` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` text default '', + `description` mediumtext, + `order` int(10) unsigned default 0, + `mode` enum('PASS','DROP'), + `field1` text NOT NULL default '', + `field2` text NOT NULL default '', + `field3` text NOT NULL default '', + `field4` text NOT NULL default '', + `field5` text NOT NULL default '', + `field6` text NOT NULL default '', + `field7` text NOT NULL default '', + `field8` text NOT NULL default '', + `field9` text NOT NULL default '', + `field10` text NOT NULL default '', + `time_threshold` int(10) NOT NULL default '0', + `max_alerts` int(4) unsigned NOT NULL default '1', + `min_alerts` int(4) unsigned NOT NULL default '0', + `time_from` time default '00:00:00', + `time_to` time default '00:00:00', + `monday` tinyint(1) default 1, + `tuesday` tinyint(1) default 1, + `wednesday` tinyint(1) default 1, + `thursday` tinyint(1) default 1, + `friday` tinyint(1) default 1, + `saturday` tinyint(1) default 1, + `sunday` tinyint(1) default 1, + `recovery_notify` tinyint(1) default '0', + `field2_recovery` text NOT NULL default '', + `field3_recovery` text NOT NULL, + `id_group` mediumint(8) unsigned NULL default 0, + `internal_counter` int(4) default '0', + `last_fired` bigint(20) NOT NULL default '0', + `last_reference` bigint(20) NOT NULL default '0', + `times_fired` int(3) NOT NULL default '0', + `disabled` tinyint(1) default '0', + `standby` tinyint(1) default '0', + `priority` tinyint(4) default '0', + `force_execution` tinyint(1) default '0', + `group_by` enum ('','id_agente','id_agentmodule','id_alert_am','id_grupo') default '', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tevent_alert_action` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tevent_alert_action` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_event_alert` int(10) unsigned NOT NULL, + `id_alert_action` int(10) unsigned NOT NULL, + `fires_min` int(3) unsigned default 0, + `fires_max` int(3) unsigned default 0, + `module_action_threshold` int(10) NOT NULL default '0', + `last_execution` bigint(20) NOT NULL default '0', + PRIMARY KEY (`id`), + FOREIGN KEY (`id_event_alert`) REFERENCES tevent_alert(`id`) + ON DELETE CASCADE ON UPDATE CASCADE, + FOREIGN KEY (`id_alert_action`) REFERENCES talert_actions(`id`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +-- ----------------------------------------------------- +-- Table `tmodule_synth` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tmodule_synth` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_agent_module_source` int(10) unsigned NOT NULL DEFAULT 0, + `id_agent_module_target` int(10) unsigned NOT NULL DEFAULT 0, + `fixed_value` float NOT NULL DEFAULT 0, + `operation` enum ('ADD', 'SUB', 'DIV', 'MUL', 'AVG', 'NOP') NOT NULL DEFAULT 'NOP', + `order` int(11) NOT NULL DEFAULT '0', + FOREIGN KEY (`id_agent_module_target`) REFERENCES tagente_modulo(`id_agente_modulo`) + ON DELETE CASCADE ON UPDATE CASCADE, + PRIMARY KEY (id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_enterprise` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tnetworkmap_enterprise` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` varchar(500) default '', + `id_group` int(10) unsigned NOT NULL default 0, + `options` text default '', + PRIMARY KEY (id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_enterprise_nodes` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tnetworkmap_enterprise_nodes` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_networkmap_enterprise` int(10) unsigned NOT NULL, + `x` int(10) default 0, + `y` int(10) default 0, + `z` int(10) default 0, + `id_agent` int(10) default 0, + `id_module` int(10) default 0, + `id_agent_module` int(10) default 0, + `parent` int(10) default 0, + `options` text default '', + `deleted` int(10) default 0, + `state` varchar(150) NOT NULL default '', + PRIMARY KEY (id), + FOREIGN KEY (`id_networkmap_enterprise`) REFERENCES tnetworkmap_enterprise(`id`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_ent_rel_nodes` (Before `tnetworkmap_enterprise_relation_nodes`) +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tnetworkmap_ent_rel_nodes` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_networkmap_enterprise` int(10) unsigned NOT NULL, + `parent` int(10) default 0, + `parent_type` varchar(30) default 'node', + `child` int(10) default 0, + `child_type` varchar(30) default 'node', + `deleted` int(10) default 0, + PRIMARY KEY (id, id_networkmap_enterprise), + FOREIGN KEY (`id_networkmap_enterprise`) REFERENCES tnetworkmap_enterprise(`id`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `treport_template` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `treport_template` ( + `id_report` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `id_user` varchar(100) NOT NULL default '', + `name` varchar(150) NOT NULL default '', + `description` TEXT NOT NULL, + `private` tinyint(1) UNSIGNED NOT NULL default 0, + `id_group` mediumint(8) unsigned NULL default NULL, + `custom_logo` varchar(200) default NULL, + `header` MEDIUMTEXT default NULL, + `first_page` MEDIUMTEXT default NULL, + `footer` MEDIUMTEXT default NULL, + `custom_font` varchar(200) default NULL, + `metaconsole` tinyint(1) DEFAULT 0, + PRIMARY KEY(`id_report`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `treport_content_template` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `treport_content_template` ( + `id_rc` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `id_report` INTEGER UNSIGNED NOT NULL default 0, + `id_gs` INTEGER UNSIGNED NULL default NULL, + `text_agent_module` text, + `type` varchar(30) default 'simple_graph', + `period` int(11) NOT NULL default 0, + `order` int (11) NOT NULL default 0, + `description` mediumtext, + `text_agent` text, + `text` TEXT, + `external_source` Text, + `treport_custom_sql_id` INTEGER UNSIGNED default 0, + `header_definition` TinyText default NULL, + `column_separator` TinyText default NULL, + `line_separator` TinyText default NULL, + `time_from` time default '00:00:00', + `time_to` time default '00:00:00', + `monday` tinyint(1) default 1, + `tuesday` tinyint(1) default 1, + `wednesday` tinyint(1) default 1, + `thursday` tinyint(1) default 1, + `friday` tinyint(1) default 1, + `saturday` tinyint(1) default 1, + `sunday` tinyint(1) default 1, + `only_display_wrong` tinyint (1) unsigned default 0 not null, + `top_n` INT NOT NULL default 0, + `top_n_value` INT NOT NULL default 10, + `exception_condition` INT NOT NULL default 0, + `exception_condition_value` DOUBLE (18,6) NOT NULL default 0, + `show_resume` INT NOT NULL default 0, + `order_uptodown` INT NOT NULL default 0, + `show_graph` INT NOT NULL default 0, + `group_by_agent` INT NOT NULL default 0, + `style` TEXT NOT NULL, + `id_group` INT (10) unsigned NOT NULL DEFAULT 0, + `id_module_group` INT (10) unsigned NOT NULL DEFAULT 0, + `server_name` text, + `exact_match` tinyint(1) default 0, + `module_names` TEXT, + `module_free_text` TEXT, + `each_agent` tinyint(1) default 1, + PRIMARY KEY(`id_rc`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `treport_content_sla_com_temp` (treport_content_sla_combined_template) +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `treport_content_sla_com_temp` ( + `id` INTEGER UNSIGNED NOT NULL auto_increment, + `id_report_content` INTEGER UNSIGNED NOT NULL, + `text_agent` text, + `text_agent_module` text, + `sla_max` double(18,2) NOT NULL default 0, + `sla_min` double(18,2) NOT NULL default 0, + `sla_limit` double(18,2) NOT NULL default 0, + `server_name` text, + `exact_match` tinyint(1) default 0, + PRIMARY KEY(`id`), + FOREIGN KEY (`id_report_content`) REFERENCES treport_content_template(`id_rc`) + ON UPDATE CASCADE ON DELETE CASCADE +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `treport_content_item_temp` (treport_content_item_template) +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `treport_content_item_temp` ( + `id` INTEGER UNSIGNED NOT NULL auto_increment, + `id_report_content` INTEGER UNSIGNED NOT NULL, + `text_agent` text, + `text_agent_module` text, + `server_name` text, + `exact_match` tinyint(1) default 0, + `operation` text, + PRIMARY KEY(`id`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tgraph_template` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tgraph_template` ( + `id_graph_template` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `id_user` TEXT NOT NULL, + `name` TEXT NOT NULL, + `description` TEXT NOT NULL, + `period` int(11) NOT NULL default '0', + `width` smallint(5) UNSIGNED NOT NULL DEFAULT 0, + `height` smallint(5) UNSIGNED NOT NULL DEFAULT 0, + `private` tinyint(1) UNSIGNED NOT NULL default 0, + `events` tinyint(1) UNSIGNED NOT NULL default 0, + `stacked` tinyint(1) UNSIGNED NOT NULL default 0, + `id_group` mediumint(8) unsigned NULL default 0, + PRIMARY KEY(`id_graph_template`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tgraph_source_template` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tgraph_source_template` ( + `id_gs_template` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `id_template` int(11) NOT NULL default 0, + `agent` TEXT, + `module` TEXT, + `weight` FLOAT(5,3) NOT NULL DEFAULT 2, + `exact_match` tinyint(1) default 0, + PRIMARY KEY(`id_gs_template`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_event` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tmetaconsole_event` ( + `id_evento` bigint(20) unsigned NOT NULL auto_increment, + `id_source_event` bigint(20) unsigned NOT NULL, + `id_agente` int(10) NOT NULL default '0', + `agent_name` varchar(600) BINARY NOT NULL default '', + `id_usuario` varchar(100) NOT NULL default '0', + `id_grupo` mediumint(4) NOT NULL default '0', + `group_name` varchar(100) NOT NULL default '', + `estado` tinyint(3) unsigned NOT NULL default '0', + `timestamp` datetime NOT NULL default '1970-01-01 00:00:00', + `evento` text NOT NULL, + `utimestamp` bigint(20) NOT NULL default '0', + `event_type` enum('going_unknown','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal', 'configuration_change') default 'unknown', + `id_agentmodule` int(10) NOT NULL default '0', + `module_name` varchar(600) NOT NULL, + `id_alert_am` int(10) NOT NULL default '0', + `alert_template_name` text, + `criticity` int(4) unsigned NOT NULL default '0', + `user_comment` text NOT NULL, + `tags` text NOT NULL, + `source` tinytext NOT NULL, + `id_extra` tinytext NOT NULL, + `critical_instructions` text NOT NULL default '', + `warning_instructions` text NOT NULL default '', + `unknown_instructions` text NOT NULL default '', + `owner_user` VARCHAR(100) NOT NULL DEFAULT '', + `ack_utimestamp` BIGINT(20) NOT NULL DEFAULT '0', + `server_id` int(10) NOT NULL, + `custom_data` TEXT NOT NULL DEFAULT '', + PRIMARY KEY (`id_evento`), + KEY `idx_agente` (`id_agente`), + KEY `idx_agentmodule` (`id_agentmodule`), + KEY `idx_utimestamp` USING BTREE (`utimestamp`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +-- Criticity: 0 - Maintance (grey) +-- Criticity: 1 - Informational (blue) +-- Criticity: 2 - Normal (green) (status 0) +-- Criticity: 3 - Warning (yellow) (status 2) +-- Criticity: 4 - Critical (red) (status 1) +-- Criticity: 5 - Minor +-- Criticity: 6 - Major + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_event_history` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tmetaconsole_event_history` ( + `id_evento` bigint(20) unsigned NOT NULL auto_increment, + `id_source_event` bigint(20) unsigned NOT NULL, + `id_agente` int(10) NOT NULL default '0', + `agent_name` varchar(600) BINARY NOT NULL default '', + `id_usuario` varchar(100) NOT NULL default '0', + `id_grupo` mediumint(4) NOT NULL default '0', + `group_name` varchar(100) NOT NULL default '', + `estado` tinyint(3) unsigned NOT NULL default '0', + `timestamp` datetime NOT NULL default '1970-01-01 00:00:00', + `evento` text NOT NULL, + `utimestamp` bigint(20) NOT NULL default '0', + `event_type` enum('going_unknown','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal', 'configuration_change') default 'unknown', + `id_agentmodule` int(10) NOT NULL default '0', + `module_name` varchar(600) NOT NULL, + `id_alert_am` int(10) NOT NULL default '0', + `alert_template_name` text, + `criticity` int(4) unsigned NOT NULL default '0', + `user_comment` text NOT NULL, + `tags` text NOT NULL, + `source` tinytext NOT NULL, + `id_extra` tinytext NOT NULL, + `critical_instructions` text NOT NULL default '', + `warning_instructions` text NOT NULL default '', + `unknown_instructions` text NOT NULL default '', + `owner_user` VARCHAR(100) NOT NULL DEFAULT '', + `ack_utimestamp` BIGINT(20) NOT NULL DEFAULT '0', + `server_id` int(10) NOT NULL, + `custom_data` TEXT NOT NULL DEFAULT '', + PRIMARY KEY (`id_evento`), + KEY `idx_agente` (`id_agente`), + KEY `idx_agentmodule` (`id_agentmodule`), + KEY `idx_utimestamp` USING BTREE (`utimestamp`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +-- Criticity: 0 - Maintance (grey) +-- Criticity: 1 - Informational (blue) +-- Criticity: 2 - Normal (green) (status 0) +-- Criticity: 3 - Warning (yellow) (status 2) +-- Criticity: 4 - Critical (red) (status 1) +-- Criticity: 5 - Minor +-- Criticity: 6 - Major + +-- --------------------------------------------------------------------- +-- Table `textension_translate_string` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `textension_translate_string` ( + `id` int(10) unsigned NOT NULL auto_increment, + `lang` VARCHAR(10) NOT NULL , + `string` TEXT NOT NULL DEFAULT '' , + `translation` TEXT NOT NULL DEFAULT '', + PRIMARY KEY (`id`), + KEY `lang_index` (`lang`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tagent_module_log` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tagent_module_log` ( + `id_agent_module_log` int(10) NOT NULL AUTO_INCREMENT, + `id_agent` int(10) unsigned NOT NULL, + `source` text NOT NULL, + `timestamp` datetime DEFAULT '1970-01-01 00:00:00', + `utimestamp` bigint(20) DEFAULT '0', + PRIMARY KEY (`id_agent_module_log`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tevent_custom_field` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tevent_custom_field` ( + `id_group` mediumint(4) unsigned NOT NULL, + `value` text NOT NULL, + PRIMARY KEY (`id_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_agent` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tmetaconsole_agent` ( + `id_agente` int(10) unsigned NOT NULL auto_increment, + `id_tagente` int(10) unsigned NOT NULL, + `id_tmetaconsole_setup` int(10) NOT NULL, + `nombre` varchar(600) BINARY NOT NULL default '', + `direccion` varchar(100) default NULL, + `comentarios` varchar(255) default '', + `id_grupo` int(10) unsigned NOT NULL default '0', + `ultimo_contacto` datetime NOT NULL default '1970-01-01 00:00:00', + `modo` tinyint(1) NOT NULL default '0', + `intervalo` int(11) unsigned NOT NULL default '300', + `id_os` int(10) unsigned default '0', + `os_version` varchar(100) default '', + `agent_version` varchar(100) default '', + `ultimo_contacto_remoto` datetime default '1970-01-01 00:00:00', + `disabled` tinyint(2) NOT NULL default '0', + `remote` tinyint(1) NOT NULL default '0', + `id_parent` int(10) unsigned default '0', + `custom_id` varchar(255) default '', + `server_name` varchar(100) default '', + `cascade_protection` tinyint(2) NOT NULL default '0', + `cascade_protection_module` int(10) unsigned default '0', + `timezone_offset` TINYINT(2) NULL DEFAULT '0' COMMENT 'number of hours of diference with the server timezone' , + `icon_path` VARCHAR(127) NULL DEFAULT NULL COMMENT 'path in the server to the image of the icon representing the agent' , + `update_gis_data` TINYINT(1) NOT NULL DEFAULT '1' COMMENT 'set it to one to update the position data (altitude, longitude, latitude) when getting information from the agent or to 0 to keep the last value and do not update it' , + `url_address` mediumtext NULL, + `quiet` tinyint(1) NOT NULL default '0', + `normal_count` bigint(20) NOT NULL default '0', + `warning_count` bigint(20) NOT NULL default '0', + `critical_count` bigint(20) NOT NULL default '0', + `unknown_count` bigint(20) NOT NULL default '0', + `notinit_count` bigint(20) NOT NULL default '0', + `total_count` bigint(20) NOT NULL default '0', + `fired_count` bigint(20) NOT NULL default '0', + `update_module_count` tinyint(1) NOT NULL default '0', + `update_alert_count` tinyint(1) NOT NULL default '0', + `transactional_agent` tinyint(1) NOT NULL default '0', + `alias` varchar(600) BINARY NOT NULL default '', + PRIMARY KEY (`id_agente`), + KEY `nombre` (`nombre`(255)), + KEY `direccion` (`direccion`), + KEY `disabled` (`disabled`), + KEY `id_grupo` (`id_grupo`), + FOREIGN KEY (`id_tmetaconsole_setup`) REFERENCES tmetaconsole_setup(`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `ttransaction` +-- --------------------------------------------------------------------- +create table IF NOT EXISTS `ttransaction` ( + `transaction_id` int unsigned NOT NULL auto_increment, + `agent_id` int(10) unsigned NOT NULL, + `group_id` int(10) unsigned NOT NULL default '0', + `description` text, + `name` varchar(250) NOT NULL, + `loop_interval` int unsigned NOT NULL default 40, + `ready` int unsigned NOT NULL default 0, + `running` int unsigned NOT NULL default 0, + PRIMARY KEY (`transaction_id`) +) engine=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tphase` +-- --------------------------------------------------------------------- +create table IF NOT EXISTS `tphase`( + `phase_id` int unsigned not null auto_increment, + `transaction_id` int unsigned not null, + `agent_id` int(10) unsigned not null, + `name` varchar(250) not null, + `idx` int unsigned not null, + `dependencies` text, + `enables` text, + `launch` text, + `retries` int unsigned default null, + `timeout` int unsigned default null, + PRIMARY KEY (`phase_id`,`transaction_id`) +) engine=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- MIGRATION +-- --------------------------------------------------------------------- + -- --------------------------------------------------------------------- -- Table `titem` -- --------------------------------------------------------------------- @@ -265,3 +1251,29 @@ UPDATE treport_custom_sql SET `sql` = 'select (select tagente.alia WHERE id = 2; UPDATE treport_custom_sql SET `sql` = 'select t1.alias as agent_name, t2.nombre as module_name, (select talert_templates.name from talert_templates where talert_templates.id = t3.id_alert_template) as template, (select group_concat(t02.name) from talert_template_module_actions as t01 inner join talert_actions as t02 on t01.id_alert_action = t02.id where t01.id_alert_template_module = t3.id group by t01.id_alert_template_module) as actions from tagente as t1 inner join tagente_modulo as t2 on t1.id_agente = t2.id_agente inner join talert_template_modules as t3 on t2.id_agente_modulo = t3.id_agent_module order by agent_name, module_name;' WHERE id = 3; + +-- --------------------------------------------------------------------- +-- Table `tlocal_component` +-- --------------------------------------------------------------------- +ALTER TABLE tlocal_component ADD COLUMN `dynamic_next` bigint(20) NOT NULL default '0'; +ALTER TABLE tlocal_component ADD COLUMN `dynamic_two_tailed` tinyint(1) unsigned default '0'; + +-- --------------------------------------------------------------------- +-- Table `tpolicy_module` +-- --------------------------------------------------------------------- +ALTER TABLE tpolicy_modules ADD COLUMN `dynamic_next` bigint(20) NOT NULL default '0'; +ALTER TABLE tpolicy_modules ADD COLUMN `dynamic_two_tailed` tinyint(1) unsigned default '0'; + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_agent` +-- --------------------------------------------------------------------- +ALTER TABLE tmetaconsole_agent ADD COLUMN `remote` tinyint(1) NOT NULL default '0'; +ALTER TABLE tmetaconsole_agent ADD COLUMN `cascade_protection_module` int(10) default '0'; +ALTER TABLE tmetaconsole_agent ADD COLUMN `transactional_agent` tinyint(1) NOT NULL default '0'; +ALTER TABLE tmetaconsole_agent ADD COLUMN `alias` VARCHAR(600) not null DEFAULT ''; + +UPDATE `tmetaconsole_agent` SET tmetaconsole_agent.alias = tmetaconsole_agent.nombre; +-- --------------------------------------------------------------------- +-- Table `twidget_dashboard` +-- --------------------------------------------------------------------- +ALTER TABLE twidget_dashboard MODIFY options LONGTEXT NOT NULL default ""; \ No newline at end of file diff --git a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.oracle.sql b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.oracle.sql index 482c58b3fc..133526ea2d 100644 --- a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.oracle.sql +++ b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.oracle.sql @@ -1,3 +1,1060 @@ +-- ----------------------------------------------------- +-- Table "tlocal_component" +-- ----------------------------------------------------- +-- tlocal_component is a repository of local modules for +-- physical agents on Windows / Unix physical agents +CREATE TABLE tlocal_component ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + name CLOB NOT NULL, + data CLOB NOT NULL, + description VARCHAR2(1024) default NULL, + id_os NUMBER(10, 0) default 0 NOT NULL, + os_version VARCHAR2(100) default '', + id_network_component_group NUMBER(10, 0) default 0 NOT NULL REFERENCES tnetwork_component_group(id_sg) ON DELETE CASCADE, + type NUMBER(6, 0) default 6 NOT NULL, + max NUMBER(19, 0) default 0 NOT NULL, + min NUMBER(19, 0) default 0 NOT NULL, + module_interval NUMBER(10, 0) default 0 NULL, + id_module_group NUMBER(10, 0) default 0 NOT NULL, + history_data NUMBER(5, 0) default 1 NOT NULL, + min_warning DOUBLE PRECISION default 0 NOT NULL, + max_warning DOUBLE PRECISION default 0 NOT NULL, + str_warning CLOB default '', + min_critical DOUBLE PRECISION default 0 NOT NULL, + max_critical DOUBLE PRECISION default 0 NOT NULL, + str_critical CLOB default '', + min_ff_event NUMBER(10, 0) default 0 NOT NULL, + post_process DOUBLE PRECISION default 0 NOT NULL, + unit CLOB default '', + wizard_level VARCHAR2(100) default 'nowizard' NOT NULL, + macros CLOB default '', + critical_instructions VARCHAR2(255) default '', + warning_instructions VARCHAR2(255) default '', + unknown_instructions VARCHAR2(255) default '', + critical_inverse NUMBER(1, 0) default 0 NOT NULL, + warning_inverse NUMBER(1, 0) default 0 NOT NULL, + id_category NUMBER(10, 0) default 0 NOT NULL, + tags CLOB default '', + disabled_types_event CLOB default '', + min_ff_event_normal INTEGER default 0, + min_ff_event_warning INTEGER default 0, + min_ff_event_critical INTEGER default 0, + each_ff NUMBER(1, 0) default 0, + ff_timeout INTEGER default 0, + dynamic_interval INTEGER default 0, + dynamic_max INTEGER default 0, + dynamic_min INTEGER default 0, + dynamic_next INTEGER default 0 NOT NULL, + dynamic_two_tailed NUMBER(1, 0) default 0, + prediction_sample_window INTEGER default 0, + prediction_samples INTEGER default 0, + prediction_threshold INTEGER default 0, + CONSTRAINT t_local_component_wizard_cons CHECK (wizard_level IN ('basic','advanced','nowizard')) +); + +CREATE SEQUENCE tlocal_component_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tlocal_component_inc BEFORE INSERT ON tlocal_component REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tlocal_component_s.nextval INTO :NEW.ID FROM dual; END tlocal_component_inc;; +-- on update trigger +CREATE OR REPLACE TRIGGER tlocal_component_update AFTER UPDATE OF ID_SG ON tnetwork_component_group FOR EACH ROW BEGIN UPDATE tlocal_component SET ID_NETWORK_COMPONENT_GROUP = :NEW.ID_SG WHERE ID_NETWORK_COMPONENT_GROUP = :OLD.ID_SG; END;; + + +-- ----------------------------------------------------- +-- Table "tpolicy_modules" +-- ----------------------------------------------------- +CREATE TABLE tpolicy_modules ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_policy NUMBER(10, 0) default 0 NOT NULL, + configuration_data CLOB default '', + id_tipo_modulo NUMBER(5, 0) default 0 NOT NULL, + description VARCHAR2(1024) default '', + name VARCHAR2(200) default '' NOT NULL, + unit CLOB default '', + max NUMBER(19, 0) default 0 NOT NULL, + min NUMBER(19, 0) default 0 NOT NULL, + module_interval NUMBER(10, 0) default 0 NOT NULL, + tcp_port NUMBER(10, 0) default 0 NOT NULL, + tcp_send CLOB default '', + tcp_rcv CLOB default '', + snmp_community VARCHAR2(100) default '', + snmp_oid VARCHAR2(255) default '0', + id_module_group NUMBER(10, 0) default 0 NOT NULL, + flag NUMBER(5, 0) default 0 NOT NULL, + id_module NUMBER(10, 0) default 0 NOT NULL, + disabled NUMBER(5, 0) default 0 NOT NULL, + id_export NUMBER(5, 0) default 0 NOT NULL, + plugin_user CLOB default '', + plugin_pass CLOB default '', + plugin_parameter CLOB, + id_plugin NUMBER(10, 0) default 0 NOT NULL, + post_process BINARY_DOUBLE default NULL, + prediction_module NUMBER(19, 0) default 0 NOT NULL, + max_timeout NUMBER(10, 0) default 0 NOT NULL, + max_retries NUMBER(10, 0) default 0 NOT NULL, + custom_id VARCHAR2(255) default '', + history_data NUMBER(5, 0) default 1 NOT NULL, + min_warning BINARY_DOUBLE default 0, + max_warning BINARY_DOUBLE default 0, + str_warning CLOB default '', + min_critical BINARY_DOUBLE default 0, + max_critical BINARY_DOUBLE default 0, + str_critical CLOB default '', + min_ff_event NUMBER(10, 0) default 0 NOT NULL, + custom_string_1 CLOB default '', + custom_string_2 CLOB default '', + custom_string_3 CLOB default '', + custom_integer_1 NUMBER(10, 0) default 0 NOT NULL, + custom_integer_2 NUMBER(10, 0) default 0 NOT NULL, + pending_delete NUMBER(5, 0) default 0 NOT NULL, + critical_instructions CLOB default '', + warning_instructions CLOB default '', + unknown_instructions CLOB default '', + critical_inverse NUMBER(1, 0) default 0 NOT NULL, + warning_inverse NUMBER(1, 0) default 0 NOT NULL, + id_category NUMBER(10, 0) default 0 NOT NULL, + module_ff_interval NUMBER(19, 0) default 0 NOT NULL, + quiet NUMBER(5, 0) default 0 NOT NULL, + cron_interval VARCHAR2(100) DEFAULT '', + macros CLOB default '', + disabled_types_event CLOB default '', + module_macros CLOB default '', + min_ff_event_normal INTEGER default 0, + min_ff_event_warning INTEGER default 0, + min_ff_event_critical INTEGER default 0, + each_ff NUMBER(1, 0) default 0, + ff_timeout INTEGER default 0, + dynamic_interval INTEGER default 0, + dynamic_max INTEGER default 0, + dynamic_min INTEGER default 0, + dynamic_next INTEGER NOT NULL default 0, + dynamic_two_tailed INTEGER default 0, + prediction_sample_window INTEGER default 0, + prediction_samples INTEGER default 0, + prediction_threshold INTEGER default 0 +); +CREATE UNIQUE INDEX tpolicy_modules_id_pol_na_idx ON tpolicy_modules(id_policy, name); +CREATE INDEX tpolicy_modules_id_policy_idx ON tpolicy_modules(id_policy); + +CREATE SEQUENCE tpolicy_modules_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicy_modules_inc BEFORE INSERT ON tpolicy_modules REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicy_modules_s.nextval INTO :NEW.ID FROM dual; END tpolicy_modules_inc;; + + +-- ----------------------------------------------------- +-- Table "tpolicies" +-- ----------------------------------------------------- +-- 'status' could be 0 (without changes, updated), 1 (needy update only database) or 2 (needy update database and conf files) +CREATE TABLE tpolicies ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + name VARCHAR2(255) NOT NULL, + description VARCHAR2(255) default '', + id_group NUMBER(10, 0) default 0 NOT NULL, + status NUMBER(10, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tpolicies_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicies_inc BEFORE INSERT ON tpolicies REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicies_s.nextval INTO :NEW.ID FROM dual; END tpolicies_inc;; + + +-- ----------------------------------------------------- +-- Table "tpolicy_alerts" +-- ----------------------------------------------------- +CREATE TABLE tpolicy_alerts ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_policy NUMBER(10, 0) default 0 NOT NULL REFERENCES tpolicies(id) ON DELETE CASCADE, + id_policy_module NUMBER(10, 0) default 0 NOT NULL, + id_alert_template NUMBER(10, 0) default 0 NOT NULL REFERENCES talert_templates(id) ON DELETE CASCADE, + name_extern_module VARCHAR2(300) default '', + disabled NUMBER(5, 0) default 0 NOT NULL, + standby NUMBER(5, 0) default 0 NOT NULL, + pending_delete NUMBER(5, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tpolicy_alerts_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicy_alerts_inc BEFORE INSERT ON tpolicy_alerts REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicy_alerts_s.nextval INTO :NEW.ID FROM dual; END tpolicy_alerts_inc;; +-- on update trigger +CREATE OR REPLACE TRIGGER tpolicy_alerts_update AFTER UPDATE OF ID ON tpolicies FOR EACH ROW BEGIN UPDATE tpolicy_alerts SET ID_POLICY = :NEW.ID WHERE ID_POLICY = :OLD.ID; END;; +-- on update trigger 1 +CREATE OR REPLACE TRIGGER tpolicy_alerts_update1 AFTER UPDATE OF ID ON talert_templates FOR EACH ROW BEGIN UPDATE tpolicy_alerts SET ID_ALERT_TEMPLATE = :NEW.ID WHERE ID_ALERT_TEMPLATE = :OLD.ID; END;; + + +-- ----------------------------------------------------- +-- Table "tpolicy_agents" +-- ----------------------------------------------------- +CREATE TABLE tpolicy_agents ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_policy NUMBER(10, 0) default 0 NOT NULL, + id_agent NUMBER(10, 0) default 0 NOT NULL, + policy_applied NUMBER(5, 0) default 0 NOT NULL, + pending_delete NUMBER(5, 0) default 0 NOT NULL, + last_apply_utimestamp NUMBER(10, 0) default 0 NOT NULL +); +CREATE UNIQUE INDEX tpolicy_agents_id_po_id_ag_idx ON tpolicy_agents(id_policy, id_agent); + +CREATE SEQUENCE tpolicy_agents_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicy_agents_inc BEFORE INSERT ON tpolicy_agents REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicy_agents_s.nextval INTO :NEW.ID FROM dual; END tpolicy_agents_inc;; + + +-- ----------------------------------------------------- +-- Table "tdashboard" +-- ----------------------------------------------------- +CREATE TABLE tdashboard ( + id NUMBER(19, 0) NOT NULL PRIMARY KEY, + name VARCHAR2(60) default '' NOT NULL, + id_user VARCHAR2(60) default '' NOT NULL, + id_group NUMBER(10, 0) default 0 NOT NULL, + active NUMBER(5, 0) default 0 NOT NULL, + cells CLOB default '' +); + +CREATE SEQUENCE tdashboard_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tdashboard_inc BEFORE INSERT ON tdashboard REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tdashboard_s.nextval INTO :NEW.ID FROM dual; END tdashboard_inc;; + + +-- ----------------------------------------------------- +-- Table "twidget" +-- ----------------------------------------------------- +CREATE TABLE twidget ( + id NUMBER(19, 0) NOT NULL PRIMARY KEY, + class_name VARCHAR2(60) default '' NOT NULL, + unique_name VARCHAR2(60) default '' NOT NULL, + description CLOB default '' NOT NULL, + options CLOB default '' NOT NULL, + page VARCHAR2(120) default '' NOT NULL +); + +CREATE SEQUENCE twidget_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER twidget_inc BEFORE INSERT ON twidget REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT twidget_s.nextval INTO :NEW.ID FROM dual; END twidget_inc;; + + +-- ----------------------------------------------------- +-- Table "twidget_dashboard" +-- ----------------------------------------------------- +CREATE TABLE twidget_dashboard ( + id NUMBER(19, 0) NOT NULL PRIMARY KEY, + options CLOB default '', + "order" NUMBER(10, 0) default 0 NOT NULL, + id_dashboard NUMBER(19, 0) default 0 NOT NULL REFERENCES tdashboard(id) ON DELETE CASCADE, + id_widget NUMBER(19, 0) default 0 NOT NULL, + prop_width DOUBLE PRECISION default 0.32 NOT NULL, + prop_height DOUBLE PRECISION default 0.32 NOT NULL +); + +CREATE SEQUENCE twidget_dashboard_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER twidget_dashboard_inc BEFORE INSERT ON twidget_dashboard REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT twidget_dashboard_s.nextval INTO :NEW.ID FROM dual; END twidget_dashboard_inc;; +-- on update trigger +CREATE OR REPLACE TRIGGER twidget_dashboard_update AFTER UPDATE OF ID ON tdashboard FOR EACH ROW BEGIN UPDATE twidget_dashboard SET ID_DASHBOARD = :NEW.ID WHERE ID_DASHBOARD = :OLD.ID; END;; +-- on update trigger 1 +CREATE OR REPLACE TRIGGER twidget_dashboard_update1 AFTER UPDATE OF ID ON twidget FOR EACH ROW BEGIN UPDATE twidget_dashboard SET ID_WIDGET = :NEW.ID WHERE ID_WIDGET = :OLD.ID; END;; + + +-- ----------------------------------------------------- +-- Table "tmodule_inventory" +-- ----------------------------------------------------- +CREATE TABLE tmodule_inventory ( + id_module_inventory NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_os NUMBER(10, 0) default NULL REFERENCES tconfig_os(id_os) ON DELETE CASCADE, + name VARCHAR2(100) default '', + description VARCHAR2(100) default '', + interpreter VARCHAR2(100) default '', + data_format VARCHAR2(100) default '', + code CLOB default '', + block_mode NUMBER(3, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tmodule_inventory_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tmodule_inventory_inc BEFORE INSERT ON tmodule_inventory REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tmodule_inventory_s.nextval INTO :NEW.ID_MODULE_INVENTORY FROM dual; END tmodule_inventory_inc;; + + +-- ----------------------------------------------------- +-- Table "tagente_datos_inventory" +-- ----------------------------------------------------- +CREATE TABLE tagente_datos_inventory ( + id_agent_module_inventory NUMBER (10, 0) NOT NULL, + data CLOB default '', + utimestamp NUMBER(10, 0) default 0 NOT NULL, + timestamp TIMESTAMP default NULL +); +CREATE INDEX tagente_datos_inventory_id ON tagente_datos_inventory(id_agent_module_inventory); +CREATE INDEX tagente_datos_inventory_ut ON tagente_datos_inventory(utimestamp); + +-- This sequence will not work with the 'insert_id' procedure + +-- on update trigger +CREATE OR REPLACE TRIGGER tmodule_inventory_update AFTER UPDATE OF ID_OS ON tconfig_os FOR EACH ROW BEGIN UPDATE tmodule_inventory SET ID_OS = :NEW.ID_OS WHERE ID_OS = :OLD.ID_OS; END;; + + +-- ----------------------------------------------------- +-- Table "tagent_module_inventory" +-- ----------------------------------------------------- +CREATE TABLE tagent_module_inventory ( + id_agent_module_inventory NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_agente NUMBER(10, 0) NOT NULL REFERENCES tagente(id_agente) ON DELETE CASCADE, + id_module_inventory NUMBER(10, 0) NOT NULL REFERENCES tmodule_inventory(id_module_inventory) ON DELETE CASCADE, + target VARCHAR2(100) default '', + "interval" NUMBER(10, 0) default 3600 NOT NULL, + username VARCHAR2(100) default '', + password VARCHAR2(100) default '', + data CLOB default '', + timestamp TIMESTAMP default NULL, + utimestamp NUMBER(19, 0) default 0 NOT NULL, + flag NUMBER(5, 0) default 1 NOT NULL, + id_policy_module_inventory NUMBER(10, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tagent_module_inventory_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tagent_module_inventory_inc BEFORE INSERT ON tagent_module_inventory REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tagent_module_inventory_s.nextval INTO :NEW.ID_AGENT_MODULE_INVENTORY FROM dual; END tagent_module_inventory_inc;; +-- on update trigger +CREATE OR REPLACE TRIGGER tagent_module_inventory_update AFTER UPDATE OF ID_AGENTE ON tagente FOR EACH ROW BEGIN UPDATE tagent_module_inventory SET ID_AGENTE = :NEW.ID_AGENTE WHERE ID_AGENTE = :OLD.ID_AGENTE; END;; +-- on update trigger 1 +CREATE OR REPLACE TRIGGER tagent_module_inventor_update1 AFTER UPDATE OF ID_MODULE_INVENTORY ON tmodule_inventory FOR EACH ROW BEGIN UPDATE tagent_module_inventory SET ID_MODULE_INVENTORY = :NEW.ID_MODULE_INVENTORY WHERE ID_MODULE_INVENTORY = :OLD.ID_MODULE_INVENTORY; END;; + + +-- ----------------------------------------------------- +-- Table "ttrap_custom_values" +-- ----------------------------------------------------- +CREATE TABLE ttrap_custom_values ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + oid VARCHAR2(255) default '' NOT NULL, + custom_oid VARCHAR2(255) default '' NOT NULL, + text VARCHAR2(255) default '', + description VARCHAR2(255) default '', + severity NUMBER(10, 0) default 2 NOT NULL, + CONSTRAINT oid_custom_oid UNIQUE(oid, custom_oid) +); + +CREATE SEQUENCE ttrap_custom_values_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER ttrap_custom_values_inc BEFORE INSERT ON ttrap_custom_values REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT ttrap_custom_values_s.nextval INTO :NEW.ID FROM dual; END ttrap_custom_values_inc;; + + +-- ----------------------------------------------------- +-- Table "tmetaconsole_setup" +-- ----------------------------------------------------- +--Table to store metaconsole sources +CREATE TABLE tmetaconsole_setup ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + server_name VARCHAR2(1000) default '', + server_url CLOB default '', + dbuser CLOB default '', + dbpass CLOB default '', + dbhost CLOB default '', + dbport CLOB default '', + dbname CLOB default '', + auth_token CLOB default '', + id_group NUMBER(10, 0) default 0 NOT NULL, + api_password CLOB default '', + disabled NUMBER(10, 0) default 0, + last_event_replication NUMBER(19, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tmetaconsole_setup_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tmetaconsole_setup_inc BEFORE INSERT ON tmetaconsole_setup REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tmetaconsole_setup_s.nextval INTO :NEW.ID FROM dual; END tmetaconsole_setup_inc;; + + +-- ----------------------------------------------------- +-- Table "tprofile_view" +-- ----------------------------------------------------- +--Table to define by each profile defined in Pandora, to which sec/page has access independently of its ACL (for showing in the console or not). By default have access to all pages allowed by ACL, if forbidden here, then pages are not shown. +CREATE TABLE tprofile_view ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_profile NUMBER(10, 0) default 0 NOT NULL, + sec CLOB default '', + sec2 CLOB default '', + sec3 CLOB default '' +); + +CREATE SEQUENCE tprofile_view_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tprofile_view_inc BEFORE INSERT ON tprofile_view REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tprofile_view_s.nextval INTO :NEW.ID FROM dual; END tprofile_view_inc;; + + +-- ----------------------------------------------------- +-- Table "tservice" +-- ----------------------------------------------------- +--Table to define services to monitor +CREATE TABLE tservice ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + name VARCHAR2(100) default '' NOT NULL, + description CLOB default '' NOT NULL, + id_group NUMBER(10, 0) default 0 NOT NULL, + critical BINARY_DOUBLE default 0 NOT NULL, + warning BINARY_DOUBLE default 0 NOT NULL, + service_interval BINARY_DOUBLE default 0 NOT NULL, + service_value BINARY_DOUBLE default 0 NOT NULL, + status NUMBER(10, 0) default -1 NOT NULL, + utimestamp NUMBER(10, 0) default 0 NOT NULL, + auto_calculate NUMBER(10, 0) default 1 NOT NULL, + id_agent_module NUMBER(10, 0) default 0 NOT NULL, + sla_interval DOUBLE PRECISION default 0 NOT NULL, + sla_id_module NUMBER(10, 0) default 0 NOT NULL, + sla_value_id_module NUMBER(10, 0) default 0 NOT NULL, + sla_limit DOUBLE PRECISION default 100 NOT NULL, + id_template_alert_warning NUMBER(10, 0) default 0 NOT NULL, + id_template_alert_critical NUMBER(10, 0) default 0 NOT NULL, + id_template_alert_unknown NUMBER(10, 0) default 0 NOT NULL, + id_template_alert_critical_sla NUMBER(10, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tservice_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tservice_inc BEFORE INSERT ON tservice REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tservice_s.nextval INTO :NEW.ID FROM dual; END tservice_inc;; + + +-- ----------------------------------------------------- +-- Table "tservice_element" +-- ----------------------------------------------------- +--Table to define the modules and the weights of the modules that define a service +CREATE TABLE tservice_element ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_service NUMBER(10, 0) NOT NULL, + weight_ok BINARY_DOUBLE default 0 NOT NULL, + weight_warning BINARY_DOUBLE default 0 NOT NULL, + weight_critical DOUBLE PRECISION default 0 NOT NULL, + weight_unknown DOUBLE PRECISION default 0 NOT NULL, + description CLOB default '', + id_agente_modulo NUMBER(10, 0) default 0 NOT NULL, + id_agent NUMBER(10, 0) default 0 NOT NULL, + id_service_child NUMBER(10, 0) default 0 NOT NULL, + id_server_meta NUMBER(10, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tservice_element_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tservice_element_inc BEFORE INSERT ON tservice_element REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tservice_element_s.nextval INTO :NEW.ID FROM dual; END tservice_element_inc;; + + +-- ----------------------------------------------------- +-- Table "tcollection" +-- ----------------------------------------------------- +CREATE TABLE tcollection ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + name VARCHAR2(100) default '' NOT NULL, + short_name VARCHAR2(100) default '' NOT NULL, + id_group NUMBER(10, 0) default 0 NOT NULL, + description CLOB, + status NUMBER(10, 0) default 0 NOT NULL +); +-- status: 0 - Not apply +-- status: 1 - Applied + +CREATE SEQUENCE tcollection_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tcollection_inc BEFORE INSERT ON tcollection REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tcollection_s.nextval INTO :NEW.ID FROM dual; END tcollection_inc;; + + +-- ----------------------------------------------------- +-- Table "tpolicy_collections" +-- ----------------------------------------------------- +CREATE TABLE tpolicy_collections ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_policy NUMBER(10, 0) default 0 NOT NULL REFERENCES tpolicies (id) ON DELETE CASCADE, + id_collection NUMBER(10, 0) default 0 NOT NULL REFERENCES tcollection (id) ON DELETE CASCADE, + pending_delete NUMBER(5, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tpolicy_collections_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicy_collections_inc BEFORE INSERT ON tpolicy_collections REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicy_collections_s.nextval INTO :NEW.ID FROM dual; END tpolicy_collections_inc;; +-- on update trigger +CREATE OR REPLACE TRIGGER tpolicy_collections_update AFTER UPDATE OF ID ON tpolicies FOR EACH ROW BEGIN UPDATE tpolicy_collections SET ID_POLICY = :NEW.ID WHERE ID_POLICY = :OLD.ID; END;; +-- on update trigger 1 +CREATE OR REPLACE TRIGGER tpolicy_collections_update1 AFTER UPDATE OF ID ON tcollection FOR EACH ROW BEGIN UPDATE tpolicy_collections SET ID_COLLECTION = :NEW.ID WHERE ID_COLLECTION = :OLD.ID; END;; + + +-- ----------------------------------------------------- +-- Table "tpolicy_alerts_actions" +-- ----------------------------------------------------- +CREATE TABLE tpolicy_alerts_actions ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_policy_alert NUMBER(10, 0) default 0 NOT NULL REFERENCES tpolicy_alerts (id) ON DELETE CASCADE, + id_alert_action NUMBER(10, 0) default 0 NOT NULL REFERENCES talert_actions (id) ON DELETE CASCADE, + fires_min NUMBER(10, 0) default 0, + fires_max NUMBER(10, 0) default 0 +); + +CREATE SEQUENCE tpolicy_alerts_actions_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicy_alerts_actions_inc BEFORE INSERT ON tpolicy_alerts_actions REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicy_alerts_actions_s.nextval INTO :NEW.ID FROM dual; END tpolicy_alerts_actions_inc;; +-- on update trigger +CREATE OR REPLACE TRIGGER tpolicy_alerts_actions_update AFTER UPDATE OF ID ON tpolicy_alerts FOR EACH ROW BEGIN UPDATE tpolicy_alerts_actions SET ID_POLICY_ALERT = :NEW.ID WHERE ID_POLICY_ALERT = :OLD.ID; END;; +-- on update trigger 1 +CREATE OR REPLACE TRIGGER tpolicy_alerts_actions_update1 AFTER UPDATE OF ID ON talert_actions FOR EACH ROW BEGIN UPDATE tpolicy_alerts_actions SET ID_ALERT_ACTION = :NEW.ID WHERE ID_ALERT_ACTION = :OLD.ID; END;; + +-- ----------------------------------------------------- +-- Table "tpolicy_plugins" +-- ----------------------------------------------------- +CREATE TABLE tpolicy_plugins ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_policy NUMBER(10, 0) default 0 NOT NULL, + plugin_exec CLOB default '', + pending_delete NUMBER(5, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tpolicy_plugins_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicy_plugins_inc BEFORE INSERT ON tpolicy_plugins REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicy_plugins_s.nextval INTO :NEW.ID FROM dual; END tpolicy_plugins_inc;; + + +-- ----------------------------------------------------- +-- Table "tsesion_extended" +-- ----------------------------------------------------- +CREATE TABLE tsesion_extended ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_sesion NUMBER(10, 0) NOT NULL, + extended_info CLOB default '', + hash VARCHAR2(255) default '' +); + +CREATE SEQUENCE tsesion_extended_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tsesion_extended_inc BEFORE INSERT ON tsesion_extended REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tsesion_extended_s.nextval INTO :NEW.ID FROM dual; END tsesion_extended_inc;; + + +-- ----------------------------------------------------- +-- Table `tskin` +-- ----------------------------------------------------- +CREATE TABLE tskin ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + name CLOB DEFAULT '' NOT NULL, + relative_path CLOB DEFAULT '' NOT NULL, + description CLOB DEFAULT '' NOT NULL, + disabled NUMBER(10,0) default 0 NOT NULL +); + +CREATE SEQUENCE tskin_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tskin_inc BEFORE INSERT ON tskin REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tskin_s.nextval INTO :NEW.ID FROM dual; END tskin_inc;; + + +-- ----------------------------------------------------- +-- Table `tpolicy_queue` +-- ----------------------------------------------------- +CREATE TABLE tpolicy_queue ( + id NUMBER(19, 0) NOT NULL PRIMARY KEY, + id_policy NUMBER(10, 0) default 0 NOT NULL, + id_agent NUMBER(10, 0) default 0 NOT NULL, + operation VARCHAR2(15) default '' NOT NULL, + progress NUMBER(10, 0) default 0 NOT NULL, + end_utimestamp NUMBER(10, 0) default 0 NOT NULL, + priority NUMBER(10, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tpolicy_queue_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicy_queue_inc BEFORE INSERT ON tpolicy_queue REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicy_queue_s.nextval INTO :NEW.ID FROM dual; END tpolicy_queue_inc;; + + +-- ----------------------------------------------------- +-- Table `tmodule_synth` +-- ----------------------------------------------------- +CREATE TABLE tmodule_synth ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_agent_module_source NUMBER(10, 0) default 0 NOT NULL, + id_agent_module_target NUMBER(10, 0) default 0 NOT NULL REFERENCES tagente_modulo(id_agente_modulo) ON DELETE CASCADE, + fixed_value BINARY_DOUBLE default NULL, + operation VARCHAR2(20) default 'NOP', + "order" NUMBER(11, 0) default 0 NOT NULL, + CONSTRAINT t_module_synth_operation_cons CHECK (operation IN ('ADD', 'SUB', 'DIV', 'MUL', 'AVG', 'NOP')) +); + +CREATE SEQUENCE tmodule_synth_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tmodule_synth_inc BEFORE INSERT ON tmodule_synth REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tmodule_synth_s.nextval INTO :NEW.ID FROM dual; END tmodule_synth_inc;; + + +-- ----------------------------------------------------- +-- Table `tevent_rule` +-- ----------------------------------------------------- +CREATE TABLE tevent_rule ( + id_event_rule NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_event_alert NUMBER(10, 0) NOT NULL, + operation VARCHAR2(20) NOT NULL, + "order" NUMBER(10, 0) default '0', + window NUMBER(10, 0) default '0' NOT NULL, + count NUMBER(10, 0) default '1' NOT NULL, + agent CLOB default '', + id_usuario VARCHAR2(100) default '' NOT NULL, + id_grupo NUMBER(10, 0) default '0' NOT NULL, + evento CLOB default '' NOT NULL, + event_type VARCHAR2(50) default 'unknown', + module CLOB default '', + alert CLOB default '', + criticity NUMBER(10, 0) default '0' NOT NULL, + user_comment CLOB NOT NULL, + id_tag NUMBER(10, 0) default '0' NOT NULL, + name CLOB default '', + CONSTRAINT t_event_rule_operation_cons CHECK (operation IN ('NOP', 'AND','OR','XOR','NAND','NOR','NXOR')), + CONSTRAINT t_event_rule_event_type CHECK (event_type IN ('','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal')) +); +CREATE INDEX tevent_rule_id_event_alert_idx ON tevent_rule(id_event_alert); + +CREATE SEQUENCE tevent_rule_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tevent_rule_inc BEFORE INSERT ON tevent_rule REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tevent_rule_s.nextval INTO :NEW.ID_EVENT_RULE FROM dual; END tevent_rule_inc;; + + +-- ----------------------------------------------------- +-- Table `tevent_alert` +-- ----------------------------------------------------- +-- use to_char(time_from, 'hh24:mi:ss') function to retrieve time_from field info +-- use to_char(time_to, 'hh24:mi:ss') function to retrieve time_to field info +CREATE TABLE tevent_alert ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + name CLOB default '', + description CLOB, + "order" NUMBER(10, 0) default 0, + "mode" VARCHAR2(20), + field1 CLOB default '' NOT NULL, + field2 CLOB default '' NOT NULL, + field3 CLOB default '' NOT NULL, + field4 CLOB default '' NOT NULL, + field5 CLOB default '' NOT NULL, + field6 CLOB default '' NOT NULL, + field7 CLOB default '' NOT NULL, + field8 CLOB default '' NOT NULL, + field9 CLOB default '' NOT NULL, + field10 CLOB default '' NOT NULL, + time_threshold NUMBER(10, 0) default 0 NOT NULL, + max_alerts NUMBER(10, 0) default 1 NOT NULL, + min_alerts NUMBER(10, 0) default 0 NOT NULL, + time_from TIMESTAMP default to_date('00:00:00','hh24:mi:ss'), + time_to TIMESTAMP default to_date('00:00:00','hh24:mi:ss'), + monday NUMBER(10, 0) default 1, + tuesday NUMBER(10, 0) default 1, + wednesday NUMBER(10, 0) default 1, + thursday NUMBER(10, 0) default 1, + friday NUMBER(10, 0) default 1, + saturday NUMBER(10, 0) default 1, + sunday NUMBER(10, 0) default 1, + recovery_notify NUMBER(10, 0) default '0', + field2_recovery CLOB default '' NOT NULL, + field3_recovery CLOB NOT NULL, + id_group NUMBER(10, 0) default 0 NULL, + internal_counter NUMBER(10, 0) default 0, + last_fired NUMBER(19, 0) default 0 NOT NULL, + last_reference NUMBER(19, 0) default 0 NOT NULL, + times_fired NUMBER(10, 0) default 0 NOT NULL, + disabled NUMBER(10, 0) default 0, + standby NUMBER(10, 0) default 0, + priority NUMBER(10, 0) default 0, + force_execution NUMBER(10, 0) default 0, + "group_by" VARCHAR2(20) default '', + CONSTRAINT t_event_alert_group_by CHECK ("group_by" IN ('','id_agente','id_agentmodule','id_alert_am','id_grupo')), + CONSTRAINT t_event_alert_mode_cons CHECK ("mode" IN ('PASS','DROP')) +); + +CREATE SEQUENCE tevent_alert_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tevent_alert_inc BEFORE INSERT ON tevent_alert REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tevent_alert_s.nextval INTO :NEW.ID FROM dual; END tevent_alert_inc;; + + +-- ----------------------------------------------------- +-- Table `tevent_alert_action` +-- ----------------------------------------------------- +CREATE TABLE tevent_alert_action ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_event_alert NUMBER(10, 0) NOT NULL REFERENCES tevent_alert(id) ON DELETE CASCADE, + id_alert_action NUMBER(10, 0) NOT NULL REFERENCES talert_actions(id) ON DELETE CASCADE, + fires_min NUMBER(10, 0) default 0, + fires_max NUMBER(10, 0) default 0, + module_action_threshold NUMBER(10, 0) default 0 NOT NULL, + last_execution NUMBER(19, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tevent_alert_action_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tevent_alert_action_inc BEFORE INSERT ON tevent_alert_action REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tevent_alert_action_s.nextval INTO :NEW.ID FROM dual; END tevent_alert_action_inc;; + +-- on update trigger +CREATE OR REPLACE TRIGGER tevent_alert_action_update AFTER UPDATE OF ID ON tevent_alert FOR EACH ROW BEGIN UPDATE tevent_alert_action SET ID_EVENT_ALERT = :NEW.ID WHERE ID_EVENT_ALERT = :OLD.ID; END;; +-- on update trigger 1 +CREATE OR REPLACE TRIGGER tevent_alert_action_update1 AFTER UPDATE OF ID ON talert_actions FOR EACH ROW BEGIN UPDATE tevent_alert_action SET ID_ALERT_ACTION = :NEW.ID WHERE ID_ALERT_ACTION = :OLD.ID; END;; + + +-- ----------------------------------------------------- +-- Table `tpolicy_modules_inventory` +-- ----------------------------------------------------- +CREATE TABLE tpolicy_modules_inventory ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_policy NUMBER(10, 0) NOT NULL REFERENCES tpolicies(id) ON DELETE CASCADE, + id_module_inventory NUMBER(10, 0) NOT NULL REFERENCES tmodule_inventory(id_module_inventory) ON DELETE CASCADE, + interval NUMBER(10, 0) default 3600 NOT NULL, + username VARCHAR2(100) default '', + password VARCHAR2(100) default '', + pending_delete NUMBER(5, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tpolicy_modules_inventory_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicy_modules_inventory_inc BEFORE INSERT ON tpolicy_modules_inventory REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicy_modules_inventory_s.nextval INTO :NEW.ID FROM dual; END tpolicy_modules_inventory_inc;; + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_enterprise` +-- ----------------------------------------------------- +CREATE TABLE tnetworkmap_enterprise ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + name VARCHAR2(500) default '', + id_group NUMBER(10, 0) default 0 NOT NULL, + options CLOB default '' +); + +CREATE SEQUENCE tnetworkmap_enterprise_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tnetworkmap_enterprise_inc BEFORE INSERT ON tnetworkmap_enterprise REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tnetworkmap_enterprise_s.nextval INTO :NEW.ID FROM dual; END tnetworkmap_enterprise_inc;; + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_enterprise_nodes` +-- ----------------------------------------------------- +CREATE TABLE tnetworkmap_enterprise_nodes ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_networkmap_enterprise NUMBER(10, 0) NOT NULL REFERENCES tnetworkmap_enterprise(id) ON DELETE CASCADE, + x NUMBER(10, 0) default 0 NOT NULL, + y NUMBER(10, 0) default 0 NOT NULL, + z NUMBER(10, 0) default 0 NOT NULL, + id_agent NUMBER(10, 0) default 0 NOT NULL, + id_module NUMBER(10, 0) default 0 NOT NULL, + id_agent_module NUMBER(10, 0) default 0 NOT NULL, + parent NUMBER(10, 0) default 0, + options CLOB default '', + deleted NUMBER(10, 0) default 0 NOT NULL, + state CLOB default '' +); + +CREATE SEQUENCE tnetworkmap_enterprise_nodes_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tnetworkmap_enter_nod_inc BEFORE INSERT ON tnetworkmap_enterprise_nodes REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tnetworkmap_enterprise_nodes_s.nextval INTO :NEW.ID FROM dual; END tnetworkmap_enter_nod_inc;; +-- on update trigger +CREATE OR REPLACE TRIGGER tnetworkmap_enter_nod_update AFTER UPDATE OF ID ON tnetworkmap_enterprise FOR EACH ROW BEGIN UPDATE tnetworkmap_enterprise_nodes SET ID_NETWORKMAP_ENTERPRISE = :NEW.ID WHERE ID_NETWORKMAP_ENTERPRISE = :OLD.ID; END;; + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_ent_rel_nodes` (Before `tnetworkmap_enterprise_relation_nodes`) +-- ----------------------------------------------------- +CREATE TABLE tnetworkmap_ent_rel_nodes ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_networkmap_enterprise NUMBER(10, 0) NOT NULL REFERENCES tnetworkmap_enterprise(id) ON DELETE CASCADE, + parent NUMBER(10, 0) default 0, + parent_type VARCHAR2(30) default 'node', + child NUMBER(10, 0) default 0, + child_type VARCHAR2(30) default 'node', + deleted NUMBER(10, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tnetworkmap_ent_rel_nodes_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tnetworkmap_ent_rel_nodes_inc BEFORE INSERT ON tnetworkmap_ent_rel_nodes REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tnetworkmap_ent_rel_nodes_s.nextval INTO :NEW.ID FROM dual; END tnetworkmap_ent_rel_nodes_inc;; +-- on update trigger +CREATE OR REPLACE TRIGGER tnetworkmap_enter_rel_nod_upd AFTER UPDATE OF ID ON tnetworkmap_enterprise FOR EACH ROW BEGIN UPDATE tnetworkmap_ent_rel_nodes SET ID_NETWORKMAP_ENTERPRISE = :NEW.ID WHERE ID_NETWORKMAP_ENTERPRISE = :OLD.ID; END;; + + +-- ----------------------------------------------------- +-- Table `treport_template` +-- ----------------------------------------------------- +CREATE TABLE treport_template ( + id_report NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_user varchar2(100) default '' NOT NULL, + name varchar2(150) default '' NOT NULL, + description CLOB NOT NULL, + private NUMBER(10, 0) default 0 NOT NULL, + id_group NUMBER(10, 0) default NULL NULL, + custom_logo varchar2(200) default NULL, + header CLOB default NULL, + first_page CLOB default NULL, + footer CLOB default NULL, + custom_font varchar2(200) default NULL, + metaconsole NUMBER(5, 0) DEFAULT 0 +); + +CREATE SEQUENCE treport_template_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER treport_template_inc BEFORE INSERT ON treport_template REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT treport_template_s.nextval INTO :NEW.ID_REPORT FROM dual; END treport_template_inc;; + + +-- ----------------------------------------------------- +-- Table `treport_content_template` +-- ----------------------------------------------------- +CREATE TABLE treport_content_template ( + id_rc NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_report NUMBER(10, 0) default 0 NOT NULL REFERENCES treport_template(id_report) ON DELETE CASCADE, + id_gs NUMBER(10, 0) default NULL NULL, + text_agent_module CLOB default NULL, + type varchar2(30) default 'simple_graph', + period NUMBER(10, 0) default 0 NOT NULL, + "order" NUMBER(10, 0) default 0 NOT NULL, + description CLOB, + text_agent CLOB default '', + text CLOB default NULL, + external_source CLOB default NULL, + treport_custom_sql_id NUMBER(10, 0) default 0, + header_definition CLOB default NULL, + column_separator CLOB default NULL, + line_separator CLOB default NULL, + time_from TIMESTAMP default to_date('00:00:00','hh24:mi:ss'), + time_to TIMESTAMP default to_date('00:00:00','hh24:mi:ss'), + monday NUMBER(5, 0) default 1 NOT NULL, + tuesday NUMBER(5, 0) default 1 NOT NULL, + wednesday NUMBER(5, 0) default 1 NOT NULL, + thursday NUMBER(5, 0) default 1 NOT NULL, + friday NUMBER(5, 0) default 1 NOT NULL, + saturday NUMBER(5, 0) default 1 NOT NULL, + sunday NUMBER(5, 0) default 1 NOT NULL, + only_display_wrong NUMBER(5, 0) default 0 not null, + top_n NUMBER(10, 0) default 0 NOT NULL, + top_n_value NUMBER(10, 0) default 10 NOT NULL, + exception_condition NUMBER(10, 0) default 0 NOT NULL, + exception_condition_value DOUBLE PRECISION default 0 NOT NULL, + show_resume DOUBLE PRECISION default 0 NOT NULL, + order_uptodown DOUBLE PRECISION default 0 NOT NULL, + show_graph DOUBLE PRECISION default 0 NOT NULL, + group_by_agent DOUBLE PRECISION default 0 NOT NULL, + style CLOB DEFAULT '' NOT NULL, + id_group NUMBER(10, 0) DEFAULT 0 NOT NULL, + id_module_group NUMBER(10, 0) DEFAULT 0 NOT NULL, + server_name CLOB default '', + exact_match NUMBER(10, 0) default 0, + module_names CLOB default NULL, + module_free_text CLOB default NULL, + each_agent NUMBER(5, 0) default 1 NOT NULL +); + +CREATE SEQUENCE treport_content_template_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER treport_content_template_inc BEFORE INSERT ON treport_content_template REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT treport_content_template_s.nextval INTO :NEW.ID_RC FROM dual; END treport_content_template_inc;; + + +-- ----------------------------------------------------- +-- Table `treport_content_sla_com_temp` (treport_content_sla_combined_template) +-- ----------------------------------------------------- +CREATE TABLE treport_content_sla_com_temp ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_report_content NUMBER(10, 0) NOT NULL REFERENCES treport_content_template(id_rc) ON DELETE CASCADE, + text_agent CLOB default '', + text_agent_module CLOB default '', + sla_max DOUBLE PRECISION default 0 NOT NULL, + sla_min DOUBLE PRECISION default 0 NOT NULL, + sla_limit DOUBLE PRECISION default 0 NOT NULL, + server_name CLOB default '', + exact_match NUMBER(5, 0) default 0 +); + +CREATE SEQUENCE treport_content_sla_com_temp_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER treport_content_sla_c_t_inc BEFORE INSERT ON treport_content_sla_com_temp REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT treport_content_sla_com_temp_s.nextval INTO :NEW.ID FROM dual; END treport_content_sla_c_t_inc;; + + +-- ----------------------------------------------------- +-- Table `treport_content_item_temp` (treport_content_item_template) +-- ----------------------------------------------------- +CREATE TABLE treport_content_item_temp ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_report_content NUMBER(10, 0) NOT NULL REFERENCES treport_content_template(id_rc) ON DELETE CASCADE, + text_agent CLOB default '', + text_agent_module CLOB default '', + server_name CLOB default '', + exact_match NUMBER(5, 0) default 0, + operation CLOB +); + +CREATE SEQUENCE treport_content_item_temp_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER treport_content_item_temp_inc BEFORE INSERT ON treport_content_item_temp REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT treport_content_item_temp_s.nextval INTO :NEW.ID FROM dual; END treport_content_item_temp_inc;; + + +-- ----------------------------------------------------- +-- Table `tgraph_template` +-- ----------------------------------------------------- +CREATE TABLE tgraph_template ( + id_graph_template NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_user VARCHAR2(255) NOT NULL, + name VARCHAR2(255) NOT NULL, + description CLOB default '', + period NUMBER(11, 0) default 0 NOT NULL, + width SMALLINT default 0 NOT NULL, + height SMALLINT default 0 NOT NULL, + private SMALLINT default 0 NOT NULL, + events SMALLINT default 0 NOT NULL, + stacked SMALLINT default 0 NOT NULL, + id_group NUMBER(8, 0) default 0 +); + +CREATE SEQUENCE tgraph_template_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tgraph_template_inc BEFORE INSERT ON tgraph_template REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tgraph_template_s.nextval INTO :NEW.ID_GRAPH_TEMPLATE FROM dual; END tgraph_template_inc;; + + +-- --------------------------------------------------------------------- +-- Table `tgraph_source_template` +-- --------------------------------------------------------------------- +CREATE TABLE tgraph_source_template ( + id_gs_template NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_template NUMBER(10, 0) default 0 NOT NULL, + agent VARCHAR2(255), + module VARCHAR2(255), + weight FLOAT(5) DEFAULT 2 NOT NULL, + exact_match SMALLINT default 0 NOT NULL +); + +CREATE SEQUENCE tgraph_source_template_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tgraph_source_template_inc BEFORE INSERT ON tgraph_source_template REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tgraph_source_template_s.nextval INTO :NEW.ID_GS_TEMPLATE FROM dual; END tgraph_source_template_inc;; + + +-- --------------------------------------------------------------------- +-- Table `textension_translate_string` +-- --------------------------------------------------------------------- +CREATE TABLE textension_translate_string ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + lang VARCHAR2(50) NOT NULL, + string VARCHAR2(4000) NOT NULL, + translation VARCHAR2(4000) NOT NULL +); + +CREATE SEQUENCE textension_translate_string_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER textension_translate_str_inc BEFORE INSERT ON textension_translate_string REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT textension_translate_string_s.nextval INTO :NEW.ID FROM dual; END;; + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_event` +-- --------------------------------------------------------------------- +-- use to_char(timestamp, 'hh24:mi:ss') function to retrieve timestamp field info +CREATE TABLE tmetaconsole_event ( + id_evento NUMBER(19, 0) NOT NULL PRIMARY KEY, + id_source_event NUMBER(19, 0) NOT NULL, + id_agente NUMBER(10, 0) DEFAULT 0, + agent_name VARCHAR2(600) DEFAULT '', + id_usuario VARCHAR2(100) DEFAULT '0', + id_grupo NUMBER(10, 0) DEFAULT 0, + group_name CLOB DEFAULT '', + estado NUMBER(10, 0) DEFAULT 0, + timestamp TIMESTAMP DEFAULT NULL, + evento CLOB DEFAULT '', + utimestamp NUMBER(19, 0) DEFAULT 0, + event_type VARCHAR2(50) DEFAULT 'unknown', + id_agentmodule NUMBER(10, 0) DEFAULT 0, + module_name CLOB DEFAULT '', + id_alert_am NUMBER(10, 0) DEFAULT 0, + alert_template_name CLOB DEFAULT '', + criticity NUMBER(10, 0) DEFAULT 0, + user_comment CLOB, + tags CLOB, + source VARCHAR2(100) DEFAULT '', + id_extra VARCHAR2(100) DEFAULT '', + critical_instructions CLOB DEFAULT '', + warning_instructions CLOB DEFAULT '', + unknown_instructions CLOB DEFAULT '', + owner_user VARCHAR2(100) DEFAULT '0', + ack_utimestamp NUMBER(19, 0) DEFAULT 0, + server_id NUMBER(10, 0) DEFAULT 0 NOT NULL, + custom_data CLOB DEFAULT '', + CONSTRAINT tmetaconsole_e_event_type_cons CHECK (event_type IN ('going_unknown','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal', 'configuration_change')) +); +CREATE INDEX tmetaconsole_e_id_1_idx ON tmetaconsole_event(id_agente, id_evento); +CREATE INDEX tmetaconsole_e_id_am_idx ON tmetaconsole_event(id_agentmodule); +CREATE INDEX tmetaconsole_e_id_server_idx ON tmetaconsole_event(server_id); +CREATE INDEX tmetaconsole_e_id_grupo_idx ON tmetaconsole_event(id_grupo); +CREATE INDEX tmetaconsole_e_criticity_idx ON tmetaconsole_event(criticity); +CREATE INDEX tmetaconsole_e_estado_idx ON tmetaconsole_event(estado); + +CREATE SEQUENCE tmetaconsole_event_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tmetaconsole_event_inc BEFORE INSERT ON tmetaconsole_event REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tmetaconsole_event_s.nextval INTO :NEW.ID_EVENTO FROM dual; END;; + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_event_history` +-- --------------------------------------------------------------------- +-- use to_char(timestamp, 'hh24:mi:ss') function to retrieve timestamp field info +CREATE TABLE tmetaconsole_event_history ( + id_evento NUMBER(19, 0) NOT NULL PRIMARY KEY, + id_source_event NUMBER(19, 0) NOT NULL, + id_agente NUMBER(10, 0) default 0 NOT NULL, + agent_name VARCHAR2(600) default '', + id_usuario VARCHAR2(100) default '0' NOT NULL, + id_grupo NUMBER(10, 0) default 0 NOT NULL, + group_name CLOB default '', + estado NUMBER(10, 0) default 0 NOT NULL, + timestamp TIMESTAMP default NULL, + evento CLOB default '', + utimestamp NUMBER(19, 0) default 0 NOT NULL, + event_type VARCHAR2(50) default 'unknown', + id_agentmodule NUMBER(10, 0) default 0 NOT NULL, + module_name CLOB default '', + id_alert_am NUMBER(10, 0) default 0 NOT NULL, + alert_template_name CLOB default '', + criticity NUMBER(10, 0) default 0 NOT NULL, + user_comment CLOB, + tags CLOB, + source VARCHAR2(100) default '' NOT NULL, + id_extra VARCHAR2(100) default '' NOT NULL, + critical_instructions VARCHAR2(255) default '', + warning_instructions VARCHAR2(255) default '', + unknown_instructions VARCHAR2(255) default '', + owner_user VARCHAR2(100) default '0' NOT NULL, + ack_utimestamp NUMBER(19, 0) default 0 NOT NULL, + server_id NUMBER(10, 0) default 0 NOT NULL, + custom_data CLOB default '', + CONSTRAINT tmeta_eh_event_type_cons CHECK (event_type IN ('going_unknown','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal', 'configuration_change')) +); +CREATE INDEX tmetaconsole_eh_id_1_idx ON tmetaconsole_event_history(id_agente, id_evento); +CREATE INDEX tmetaconsole_eh_id_am_idx ON tmetaconsole_event_history(id_agentmodule); +CREATE INDEX tmetaconsole_eh_id_server_idx ON tmetaconsole_event_history(server_id); +CREATE INDEX tmetaconsole_eh_id_grupo_idx ON tmetaconsole_event_history(id_grupo); +CREATE INDEX tmetaconsole_eh_criticity_idx ON tmetaconsole_event_history(criticity); +CREATE INDEX tmetaconsole_eh_estado_idx ON tmetaconsole_event_history(estado); + +CREATE SEQUENCE tmetaconsole_event_h_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tmetaconsole_event_h_inc BEFORE INSERT ON tmetaconsole_event_history REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tmetaconsole_event_h_s.nextval INTO :NEW.ID_EVENTO FROM dual; END;; + +-- --------------------------------------------------------------------- +-- Table `tagent_module_log` +-- --------------------------------------------------------------------- +CREATE TABLE tagent_module_log ( + id_agent_module_log NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_agent NUMBER(10, 0) NOT NULL REFERENCES tagente(id_agente) ON DELETE CASCADE, + source VARCHAR2(4000) NOT NULL, + timestamp TIMESTAMP NULL, + utimestamp NUMBER(10, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tagent_module_log_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tagent_module_log_inc BEFORE INSERT ON tagent_module_log REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tagent_module_log_s.nextval INTO :NEW.ID_AGENT_MODULE_LOG FROM dual; END tagent_module_log_inc;; + +-- --------------------------------------------------------------------- +-- Table `tevent_custom_field` +-- --------------------------------------------------------------------- +CREATE TABLE tevent_custom_field ( + id_group NUMBER(4, 0) default 0 NOT NULL PRIMARY KEY, + value VARCHAR2(255) default '' NOT NULL +); + +-- This sequence will not work with the 'insert_id' procedure + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_agent` +-- --------------------------------------------------------------------- +CREATE TABLE tmetaconsole_agent ( + id_agente NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_tagente NUMBER(10, 0) NOT NULL, + id_tmetaconsole_setup NUMBER(10) NOT NULL REFERENCES tmetaconsole_setup(id) ON DELETE CASCADE, + nombre VARCHAR2(600) default '' NOT NULL, + direccion VARCHAR2(100) default '' NULL, + comentarios VARCHAR2(255) default '' NULL, + id_grupo NUMBER(10, 0) default 0 NOT NULL, + ultimo_contacto TIMESTAMP NOT NULL, + modo NUMBER(1, 0) default 0 NOT NULL, + intervalo NUMBER(11, 0) default 300 NOT NULL, + id_os NUMBER(10, 0) default 0 NOT NULL, + os_version VARCHAR2(100) default '', + agent_version VARCHAR2(100) default '', + ultimo_contacto_remoto TIMESTAMP default NULL, + disabled NUMBER(1, 0) default 0 NOT NULL, + remote NUMBER(1) default 0 NOT NULL, + id_parent NUMBER(10, 0) default 0 NOT NULL, + custom_id VARCHAR2(255) default '', + server_name VARCHAR2(100) default '', + cascade_protection NUMBER(1, 0) default 0 NOT NULL, + cascade_protection_module NUMBER(10, 0) default 0 NOT NULL, + -- Number of hours of diference with the server timezone + timezone_offset NUMBER(2, 2) default 0 NULL, + -- Path in the server to the image of the icon representing the agent + icon_path VARCHAR2(127) default NULL, + -- Set it to one to update the position data (altitude, longitude, latitude) when getting information from the agent or to 0 to keep the last value and do not update it + update_gis_data NUMBER(1) default 1 NOT NULL, + url_address CLOB NULL, + quiet NUMBER(1) default 0 NOT NULL, + normal_count NUMBER(20, 0) default 0 NOT NULL, + warning_count NUMBER(20, 0) default 0 NOT NULL, + critical_count NUMBER(20, 0) default 0 NOT NULL, + unknown_count NUMBER(20, 0) default 0 NOT NULL, + notinit_count NUMBER(20, 0) default 0 NOT NULL, + total_count NUMBER(20, 0) default 0 NOT NULL, + fired_count NUMBER(20, 0) default 0 NOT NULL, + update_module_count NUMBER(1, 0) default 0 NOT NULL, + update_alert_count NUMBER(1, 0) default 0 NOT NULL, + alias varchar2(600) NOT NULL default '', + transactional_agent NUMBER(1) default 0 NOT NULL +); +CREATE INDEX tmetaconsole_agent_nombre_idx ON tmetaconsole_agent(nombre); +CREATE INDEX tmetaconsole_agent_dir_idx ON tmetaconsole_agent(direccion); +CREATE INDEX tmetaconsole_agent_dis_idx ON tmetaconsole_agent(disabled); +CREATE INDEX tmetaconsole_agent_id_g_idx ON tmetaconsole_agent(id_grupo); + +CREATE SEQUENCE tmetaconsole_agent_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tmetaconsole_agent_inc BEFORE INSERT ON tmetaconsole_agent REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tmetaconsole_agent_s.nextval INTO :NEW.ID_AGENTE FROM dual; END tmetaconsole_agent_inc;; + -- --------------------------------------------------------------------- -- Table `talert_templates` -- --------------------------------------------------------------------- @@ -164,3 +1221,31 @@ ALTER TABLE tgraph ADD COLUMN percentil int(4) unsigned default '0'; -- Table `tnetflow_filter` -- --------------------------------------------------------------------- ALTER TABLE tnetflow_filter ADD COLUMN router_ip CLOB DEFAULT ""; + +-- --------------------------------------------------------------------- +-- Table `tlocal_component` +-- --------------------------------------------------------------------- +ALTER TABLE tlocal_component ADD dynamic_interval INTEGER default 0; +ALTER TABLE tlocal_component ADD dynamic_max INTEGER default 0; +ALTER TABLE tlocal_component ADD dynamic_min INTEGER default 0; +ALTER TABLE tlocal_component ADD dynamic_next INTEGER default 0 NOT NULL; +ALTER TABLE tlocal_component ADD dynamic_two_tailed NUMBER(1, 0) default 0; + +-- --------------------------------------------------------------------- +-- Table `tpolicy_module` +-- --------------------------------------------------------------------- +ALTER TABLE tpolicy_modules ADD dynamic_interval INTEGER default 0; +ALTER TABLE tpolicy_modules ADD dynamic_max INTEGER default 0; +ALTER TABLE tpolicy_modules ADD dynamic_min INTEGER default 0; +ALTER TABLE tpolicy_modules ADD dynamic_next INTEGER default 0 NOT NULL; +ALTER TABLE tpolicy_modules ADD dynamic_two_tailed NUMBER(1, 0) default 0; + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_agent` +-- --------------------------------------------------------------------- +ALTER TABLE tmetaconsole_agent ADD remote INTEGER default 0 NOT NULL; +ALTER TABLE tmetaconsole_agent ADD cascade_protection_module NUMBER(10, 0) default 0 NOT NULL; +ALTER TABLE tmetaconsole_agent ADD transactional_agent INTEGER default 0 NOT NULL; +ALTER TABLE tmetaconsole_agent ADD COLUMN (alias VARCHAR2(600) not null DEFAULT ''); + +UPDATE `tmetaconsole_agent` SET tagente.alias = tagente.nombre; diff --git a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.postgreSQL.sql b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.postgreSQL.sql index 6965a65447..fa11ac6497 100644 --- a/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.postgreSQL.sql +++ b/pandora_console/extras/pandoradb_migrate_6.0_to_7.0.postgreSQL.sql @@ -1,3 +1,824 @@ +-- ----------------------------------------------------- +-- Table "tlocal_component" +-- ----------------------------------------------------- +-- tlocal_component is a repository of local modules for +-- physical agents on Windows / Unix physical agents +CREATE TABLE "tlocal_component" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "name" TEXT NOT NULL, + "data" TEXT NOT NULL, + "description" varchar(1024) default NULL, + "id_os" INTEGER NOT NULL default 0, + "os_version" varchar(100) default '', + "id_network_component_group" INTEGER NOT NULL default 0 REFERENCES tnetwork_component_group("id_sg") ON DELETE CASCADE ON UPDATE CASCADE, + "type" SMALLINT NOT NULL default 6, + "max" INTEGER NOT NULL default 0, + "min" INTEGER NOT NULL default 0, + "module_interval" INTEGER NOT NULL default 0, + "id_module_group" INTEGER NOT NULL default 0, + "history_data" INTEGER default '1', + "min_warning" DOUBLE PRECISION default NULL, + "max_warning" DOUBLE PRECISION default NULL, + "str_warning" TEXT default '', + "min_critical" DOUBLE PRECISION default NULL, + "max_critical" DOUBLE PRECISION default NULL, + "str_critical" TEXT default '', + "min_ff_event" INTEGER NOT NULL default 0, + "post_process" DOUBLE PRECISION default NULL, + "unit" TEXT default '', + "wizard_level" type_tlocal_component_wizard_level default 'nowizard', + "macros" TEXT default '', + "critical_instructions" TEXT default '', + "warning_instructions" TEXT default '', + "unknown_instructions" TEXT default '', + "critical_inverse" SMALLINT default 0 NOT NULL, + "warning_inverse" SMALLINT default 0 NOT NULL, + "id_category" INTEGER NOT NULL default 0, + "tags" TEXT default '', + "disabled_types_event" TEXT default '', + "min_ff_event_normal" INTEGER default 0, + "min_ff_event_warning" INTEGER default 0, + "min_ff_event_critical" INTEGER default 0, + "dynamic_interval" INTEGER default 0, + "dynamic_max" INTEGER default 0, + "dynamic_min" INTEGER default 0, + "dynamic_next" INTEGER default 0 NOT NULL, + "dynamic_two_tailed" SMALLINT default 0, + "each_ff" SMALLINT default 0, + "ff_timeout" INTEGER default 0 +); + + +-- ----------------------------------------------------- +-- Table "tpolicy_modules" +-- ----------------------------------------------------- +CREATE TABLE "tpolicy_modules" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_policy" INTEGER NOT NULL default 0, + "configuration_data" TEXT NOT NULL, + "id_tipo_modulo" SMALLINT NOT NULL default 0, + "description" varchar(1024) NOT NULL default '', + "name" varchar(200) NOT NULL default '', + "unit" TEXT default '', + "max" BIGINT NOT NULL default 0, + "min" BIGINT NOT NULL default 0, + "module_interval" INTEGER NOT NULL default 0, + "tcp_port" INTEGER NOT NULL default 0, + "tcp_send" text default '', + "tcp_rcv" text default '', + "snmp_community" varchar(100) default '', + "snmp_oid" varchar(255) default '0', + "id_module_group" INTEGER NOT NULL default 0, + "flag" SMALLINT NOT NULL default 0, + "id_module" INTEGER NOT NULL default 0, + "disabled" SMALLINT NOT NULL default 0, + "id_export" SMALLINT NOT NULL default 0, + "plugin_user" text default '', + "plugin_pass" text default '', + "plugin_parameter" text, + "id_plugin" INTEGER NOT NULL default 0, + "post_process" DOUBLE PRECISION default NULL, + "prediction_module" BIGINT NOT NULL default 0, + "max_timeout" INTEGER NOT NULL default 0, + "max_retries" INTEGER NOT NULL default 0, + "custom_id" varchar(255) default '', + "history_data" SMALLINT NOT NULL default 1, + "min_warning" DOUBLE PRECISION default 0, + "max_warning" DOUBLE PRECISION default 0, + "str_warning" text default '', + "min_critical" DOUBLE PRECISION default 0, + "max_critical" DOUBLE PRECISION default 0, + "str_critical" text default '', + "min_ff_event" INTEGER NOT NULL default 0, + "custom_string_1" text default '', + "custom_string_2" text default '', + "custom_string_3" text default '', + "custom_integer_1" INTEGER NOT NULL default 0, + "custom_integer_2" INTEGER NOT NULL default 0, + "pending_delete" SMALLINT NOT NULL default 0, + "critical_instructions" TEXT default '', + "warning_instructions" TEXT default '', + "unknown_instructions" TEXT default '', + "critical_inverse" SMALLINT default 0 NOT NULL, + "warning_inverse" SMALLINT default 0 NOT NULL, + "id_category" INTEGER NOT NULL default 0, + "module_ff_interval" INTEGER NOT NULL default 0, + "quiet" SMALLINT NOT NULL default 0, + "cron_interval" varchar(100) default '', + "macros" text default '', + "disabled_types_event" TEXT default '', + "module_macros" TEXT default '', + "min_ff_event_normal" INTEGER default 0, + "min_ff_event_warning" INTEGER default 0, + "min_ff_event_critical" INTEGER default 0, + "each_ff" SMALLINT default 0, + "ff_timeout" INTEGER default 0, + "dynamic_interval" INTEGER default 0, + "dynamic_max" INTEGER default 0, + "dynamic_min" INTEGER default 0, + "dynamic_next" INTEGER NOT NULL default 0, + "dynamic_two_tailed" INTEGER default 0 +); +CREATE UNIQUE INDEX "tpolicy_modules_id_policy_name_idx" ON "tpolicy_modules"("id_policy", "name"); +CREATE INDEX "tpolicy_modules_id_policy_idx" ON "tpolicy_modules"("id_policy"); + + +-- ----------------------------------------------------- +-- Table "tpolicies" +-- ----------------------------------------------------- +-- 'status' could be 0 (without changes, updated), 1 (needy update only database) or 2 (needy update database and conf files) +CREATE TABLE "tpolicies" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "name" text NOT NULL default '', + "description" varchar(255) NOT NULL default '', + "id_group" INTEGER NOT NULL default 0, + "status" INTEGER NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table "tpolicy_alerts" +-- ----------------------------------------------------- +CREATE TABLE "tpolicy_alerts" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_policy" INTEGER NOT NULL default 0 REFERENCES tpolicies("id") ON DELETE CASCADE ON UPDATE CASCADE, + "id_policy_module" INTEGER NOT NULL default 0, + "id_alert_template" INTEGER NOT NULL default 0 REFERENCES talert_templates("id") ON DELETE CASCADE ON UPDATE CASCADE, + "name_extern_module" TEXT NOT NULL default '', + "disabled" SMALLINT NOT NULL default 0, + "standby" SMALLINT NOT NULL default 0, + "pending_delete" SMALLINT NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table "tpolicy_agents" +-- ----------------------------------------------------- +CREATE TABLE "tpolicy_agents" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_policy" INTEGER NOT NULL default 0, + "id_agent" INTEGER NOT NULL default 0, + "policy_applied" SMALLINT NOT NULL default 0, + "pending_delete" SMALLINT NOT NULL default 0, + "last_apply_utimestamp" INTEGER NOT NULL default 0 +); +CREATE UNIQUE INDEX "tpolicy_agents_id_policy_id_agent_idx" ON "tpolicy_agents"("id_policy", "id_agent"); + + +-- ----------------------------------------------------- +-- Table "tdashboard" +-- ----------------------------------------------------- +CREATE TABLE "tdashboard" ( + "id" BIGSERIAL NOT NULL PRIMARY KEY, + "name" varchar(60) NOT NULL default '', + "id_user" varchar(60) NOT NULL default '', + "id_group" INTEGER NOT NULL default 0, + "active" SMALLINT NOT NULL default 0, + "cells" text default '' +); + + +-- ----------------------------------------------------- +-- Table "twidget" +-- ----------------------------------------------------- +CREATE TABLE "twidget" ( + "id" BIGSERIAL NOT NULL PRIMARY KEY, + "class_name" varchar(60) NOT NULL default '', + "unique_name" varchar(60) NOT NULL default '', + "description" text NOT NULL default '', + "options" text NOT NULL default '', + "page" varchar(120) NOT NULL default '' +); + + +-- ----------------------------------------------------- +-- Table "twidget_dashboard" +-- ----------------------------------------------------- +CREATE TABLE "twidget_dashboard" ( + "id" BIGSERIAL NOT NULL PRIMARY KEY, + "options" text NOT NULL default '', + "order" INTEGER NOT NULL default 0, + "id_dashboard" BIGINT NOT NULL default 0 REFERENCES tdashboard("id") ON DELETE CASCADE ON UPDATE CASCADE, + "id_widget" BIGINT NOT NULL default 0, + "prop_width" DOUBLE PRECISION NOT NULL default 0.32, + "prop_height" DOUBLE PRECISION NOT NULL default 0.32, +); + + +-- ----------------------------------------------------- +-- Table "tmodule_inventory" +-- ----------------------------------------------------- +CREATE TABLE "tmodule_inventory" ( + "id_module_inventory"SERIAL NOT NULL PRIMARY KEY, + "id_os" INTEGER default NULL REFERENCES tconfig_os("id_os") ON UPDATE CASCADE ON DELETE CASCADE, + "name" varchar(100) default '', + "description" varchar(100) default '', + "interpreter" varchar(100) default '', + "data_format" varchar(100) default '', + "code" BYTEA NOT NULL +); + + +-- --------------------------------------------------------------------- +-- Table "tagent_module_inventory" +-- --------------------------------------------------------------------- +CREATE TABLE "tagent_module_inventory" ( + "id_agent_module_inventory" SERIAL NOT NULL PRIMARY KEY, + "id_agente" INTEGER NOT NULL REFERENCES tagente("id_agente") ON UPDATE CASCADE ON DELETE CASCADE, + "id_module_inventory" INTEGER NOT NULL REFERENCES tmodule_inventory("id_module_inventory") ON UPDATE CASCADE ON DELETE CASCADE, + "target" varchar(100) default '', + "interval" INTEGER NOT NULL default 3600, + "username" varchar(100) default '', + "password" varchar(100) default '', + "data" BYTEA NOT NULL, + "timestamp" TIMESTAMP without time zone default '1970-01-01 00:00:00', + "utimestamp" INTEGER NOT NULL default 0, + "flag" SMALLINT NOT NULL default 1, + "id_policy_module_inventory" INTEGER NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table "tagente_datos_inventory" +-- ----------------------------------------------------- +CREATE TABLE "tagente_datos_inventory" ( + "id_agent_module_inventory" SERIAL NOT NULL, + "data" BYTEA NOT NULL, + "utimestamp" INTEGER NOT NULL default 0, + "timestamp" TIMESTAMP without time zone default '1970-01-01 00:00:00' +); +CREATE UNIQUE INDEX "tagente_datos_inventory_id" ON "tagente_datos_inventory"("id_agent_module_inventory"); +CREATE UNIQUE INDEX "tagente_datos_inventory_ut" ON "tagente_datos_inventory"("utimestamp"); + + +-- ----------------------------------------------------- +-- Table "ttrap_custom_values" +-- ----------------------------------------------------- +CREATE TABLE "ttrap_custom_values" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "oid" varchar(255) NOT NULL default '', + "custom_oid" varchar(255) NOT NULL default '', + "text" varchar(255) default '', + "description" varchar(255) default '', + "severity" INTEGER NOT NULL default 2 +); + + +-- ----------------------------------------------------- +-- Table "tmetaconsole_setup" +-- ----------------------------------------------------- +--Table to store metaconsole sources +CREATE TABLE "tmetaconsole_setup" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "server_name" text default '', + "server_url" text default '', + "dbuser" text default '', + "dbpass" text default '', + "dbhost" text default '', + "dbport" text default '', + "dbname" text default '', + "auth_token" text default '', + "id_group" INTEGER NOT NULL default 0, + "api_password" text default '', + "disabled" SMALLINT NOT NULL default 0, + "last_event_replication" BIGINT NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table "tprofile_view" +-- ----------------------------------------------------- +--Table to define by each profile defined in Pandora, to which sec/page has access independently of its ACL (for showing in the console or not). By default have access to all pages allowed by ACL, if forbidden here, then pages are not shown. +CREATE TABLE "tprofile_view" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_profile" INTEGER NOT NULL default 0, + "sec" text default '', + "sec2" text default '' +); + + +-- --------------------------------------------------------------------- +-- Table "tservice" +-- --------------------------------------------------------------------- +--Table to define services to monitor +CREATE TABLE "tservice" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "name" varchar(100) NOT NULL default '', + "description" text NOT NULL default '', + "id_group" INTEGER NOT NULL default 0, + "critical" DOUBLE PRECISION NOT NULL default 0, + "warning" DOUBLE PRECISION NOT NULL default 0, + "service_interval" DOUBLE PRECISION NOT NULL default 0, + "service_value" DOUBLE PRECISION NOT NULL default 0, + "status" INTEGER NOT NULL default -1, + "utimestamp" INTEGER NOT NULL default 0, + "auto_calculate" INTEGER NOT NULL default 1, + "id_agent_module" INTEGER NOT NULL default 0, + "sla_interval" DOUBLE PRECISION NOT NULL default 0, + "sla_id_module" INTEGER NOT NULL default 0, + "sla_value_id_module" INTEGER NOT NULL default 0, + "sla_limit" DOUBLE PRECISION NOT NULL default 100, + "id_template_alert_warning" INTEGER NOT NULL default 0, + "id_template_alert_critical" INTEGER NOT NULL default 0, + "id_template_alert_unknown" INTEGER NOT NULL default 0, + "id_template_alert_critical_sla" INTEGER NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table "tservice_element" +-- ----------------------------------------------------- +--Table to define the modules and the weights of the modules that define a service +CREATE TABLE "tservice_element" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_service" INTEGER NOT NULL, + "weight_ok" DOUBLE PRECISION NOT NULL default 0, + "weight_warning" DOUBLE PRECISION NOT NULL default 0, + "weight_critical" DOUBLE PRECISION NOT NULL default 0, + "weight_unknown" DOUBLE PRECISION NOT NULL default 0, + "description" text NOT NULL default '', + "id_agente_modulo" INTEGER NOT NULL default 0, + "id_agent" INTEGER NOT NULL default 0, + "id_service_child" INTEGER NOT NULL default 0, + "id_server_meta" INTEGER NOT NULL default 0 +); + + +-- --------------------------------------------------------------------- +-- Table "tcollection" +-- --------------------------------------------------------------------- +CREATE TABLE "tcollection" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "name" varchar(100) NOT NULL default '', + "short_name" varchar(100) NOT NULL default '', + "id_group" INTEGER NOT NULL default 0, + "description" TEXT, + "status" INTEGER NOT NULL default 0 +); +-- status: 0 - Not apply +-- status: 1 - Applied + + +-- ----------------------------------------------------- +-- Table "tpolicy_collections" +-- ----------------------------------------------------- +CREATE TABLE "tpolicy_collections" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_policy" INTEGER NOT NULL default 0 REFERENCES "tpolicies" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + "id_collection" INTEGER NOT NULL default 0 REFERENCES "tcollection" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + "pending_delete" SMALLINT NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table "tpolicy_alerts_actions" +-- ----------------------------------------------------- +CREATE TABLE "tpolicy_alerts_actions" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_policy_alert" INTEGER NOT NULL default 0 REFERENCES "tpolicy_alerts" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + "id_alert_action" INTEGER NOT NULL default 0 REFERENCES "talert_actions" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + "fires_min" INTEGER default 0, + "fires_max" INTEGER default 0 +); + +-- --------------------------------------------------------------------- +-- Table "tpolicy_plugins" +-- --------------------------------------------------------------------- +CREATE TABLE "tpolicy_plugins" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_policy" INTEGER NOT NULL default 0, + "plugin_exec" TEXT default '', + "pending_delete" SMALLINT NOT NULL default 0 +); + +-- ----------------------------------------------------- +-- Table "tsesion_extended" +-- ----------------------------------------------------- +CREATE TABLE "tsesion_extended" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_sesion" INTEGER NOT NULL, + "extended_info" TEXT default '', + "hash" varchar(255) default '' +); + + +-- ----------------------------------------------------- +-- Table `tskin` +-- ----------------------------------------------------- +CREATE TABLE "tskin" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "name" TEXT NOT NULL DEFAULT '', + "relative_path" TEXT NOT NULL DEFAULT '', + "description" text NOT NULL DEFAULT '', + "disabled" INTEGER NOT NULL default 0 +); + + +-- --------------------------------------------------------------------- +-- Table `tpolicy_queue` +-- --------------------------------------------------------------------- +CREATE TABLE "tpolicy_queue" ( + "id" BIGSERIAL NOT NULL PRIMARY KEY, + "id_policy" INTEGER NOT NULL default 0, + "id_agent" INTEGER NOT NULL default 0, + "operation" varchar(15) NOT NULL default '', + "progress" INTEGER NOT NULL default 0, + "end_utimestamp" INTEGER NOT NULL default 0, + "priority" INTEGER NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table `tmodule_synth` +-- ----------------------------------------------------- +CREATE TYPE type_tmodule_synth_operation AS ENUM ('ADD', 'SUB', 'DIV', 'MUL', 'AVG', 'NOP'); +CREATE TABLE "tmodule_synth" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_agent_module_source" INTEGER NOT NULL default 0, + "id_agent_module_target" INTEGER NOT NULL default 0 REFERENCES tagente_modulo("id_agente_modulo") ON UPDATE CASCADE ON DELETE CASCADE, + "fixed_value" float default NULL, + "operation" type_tmodule_synth_operation NOT NULL default 'NOP', + "order" INTEGER NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table `tevent_rule` +-- ----------------------------------------------------- +CREATE TYPE type_tevent_rule_operation AS ENUM ('NOP', 'AND','OR','XOR','NAND','NOR','NXOR'); +CREATE TYPE type_tevent_rule_event_type AS ENUM ('','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal'); +CREATE TABLE "tevent_rule" ( + "id_event_rule" SERIAL NOT NULL PRIMARY KEY, + "id_event_alert" INTEGER NOT NULL, + "operation" type_tevent_rule_operation NOT NULL, + "order" INTEGER default '0', + "window" INTEGER NOT NULL default '0', + "count" INTEGER NOT NULL default '1', + "agent" text default '', + "id_usuario" VARCHAR(100) NOT NULL default '', + "id_grupo" INTEGER NOT NULL default '0', + "evento" text NOT NULL default '', + "event_type" type_tevent_rule_event_type default 'unknown', + "module" text default '', + "alert" text default '', + "criticity" INTEGER NOT NULL default '0', + "user_comment" text NOT NULL, + "id_tag" INTEGER NOT NULL default '0', + "name" text default '' +); +CREATE INDEX "tevent_rule_id_event_alert_idx" ON "tevent_rule"("id_event_alert"); + + +-- ----------------------------------------------------- +-- Table `tevent_alert` +-- ----------------------------------------------------- +CREATE TYPE type_tevent_alert_mode AS ENUM ('PASS','DROP'); +CREATE TYPE type_tevent_alert_group_by AS ENUM ('','id_agente','id_agentmodule','id_alert_am','id_grupo'); +CREATE TABLE "tevent_alert" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "name" text default '', + "description" text, + "order" INTEGER default 0, + "mode" type_tevent_alert_mode, + "field1" text NOT NULL default '', + "field2" text NOT NULL default '', + "field3" text NOT NULL default '', + "field4" text NOT NULL default '', + "field5" text NOT NULL default '', + "field6" text NOT NULL default '', + "field7" text NOT NULL default '', + "field8" text NOT NULL default '', + "field9" text NOT NULL default '', + "field10" text NOT NULL default '', + "time_threshold" INTEGER NOT NULL default '0', + "max_alerts" INTEGER NOT NULL default '1', + "min_alerts" INTEGER NOT NULL default '0', + "time_from" time default '00:00:00', + "time_to" time default '00:00:00', + "monday" INTEGER default 1, + "tuesday" INTEGER default 1, + "wednesday" INTEGER default 1, + "thursday" INTEGER default 1, + "friday" INTEGER default 1, + "saturday" INTEGER default 1, + "sunday" INTEGER default 1, + "recovery_notify" INTEGER default '0', + "field2_recovery" text NOT NULL default '', + "field3_recovery" text NOT NULL, + "id_group" INTEGER NULL default 0, + "internal_counter" INTEGER default '0', + "last_fired" BIGINT NOT NULL default '0', + "last_reference" BIGINT NOT NULL default '0', + "times_fired" INTEGER NOT NULL default '0', + "disabled" INTEGER default '0', + "standby" INTEGER default '0', + "priority" INTEGER default '0', + "force_execution" INTEGER default '0', + "group_by" type_tevent_alert_group_by default '' +); + +-- ----------------------------------------------------- +-- Table `tevent_alert_action` +-- ----------------------------------------------------- +CREATE TABLE "tevent_alert_action" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_event_alert" INTEGER NOT NULL REFERENCES tevent_alert("id") ON DELETE CASCADE ON UPDATE CASCADE, + "id_alert_action" INTEGER NOT NULL REFERENCES talert_actions("id") ON DELETE CASCADE ON UPDATE CASCADE, + "fires_min" INTEGER default 0, + "fires_max" INTEGER default 0, + "module_action_threshold" INTEGER NOT NULL default '0', + "last_execution" BIGINT NOT NULL default '0' +); + + +-- --------------------------------------------------------------------- +-- Table `tpolicy_modules_inventory` +-- --------------------------------------------------------------------- +CREATE TABLE "tpolicy_modules_inventory" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_policy" INTEGER NOT NULL REFERENCES tpolicies("id") ON UPDATE CASCADE ON DELETE CASCADE, + "id_module_inventory" INTEGER NOT NULL REFERENCES tmodule_inventory("id_module_inventory") ON UPDATE CASCADE ON DELETE CASCADE, + "interval" INTEGER NOT NULL default 3600, + "username" varchar(100) default '', + "password" varchar(100) default '', + "pending_delete" SMALLINT NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_enterprise` +-- ----------------------------------------------------- +CREATE TABLE "tnetworkmap_enterprise" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "name" varchar(500) default '', + "id_group" INTEGER NOT NULL default 0, + "options" TEXT default '' +); + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_enterprise_nodes` +-- ----------------------------------------------------- +CREATE TABLE "tnetworkmap_enterprise_nodes" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_networkmap_enterprise" INTEGER NOT NULL REFERENCES tnetworkmap_enterprise("id") ON UPDATE CASCADE ON DELETE CASCADE, + "x" INTEGER NOT NULL default 0, + "y" INTEGER NOT NULL default 0, + "z" INTEGER NOT NULL default 0, + "id_agent" INTEGER NOT NULL default 0, + "id_module" INTEGER NOT NULL default 0, + "id_agent_module" INTEGER NOT NULL default 0, + "parent" INTEGER default 0, + "options" text default '', + "deleted" text default '', + "state" TEXT default '' +); + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_ent_rel_nodes` (Before `tnetworkmap_enterprise_relation_nodes`) +-- ----------------------------------------------------- +CREATE TABLE "tnetworkmap_ent_rel_nodes" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_networkmap_enterprise" INTEGER NOT NULL REFERENCES tnetworkmap_enterprise("id") ON UPDATE CASCADE ON DELETE CASCADE, + "parent" INTEGER default 0, + "parent_type" varchar(30) default 'node', + "child" INTEGER default 0, + "child_type" varchar(30) default 'node', + "deleted" text default '' +); + + +-- ----------------------------------------------------- +-- Table `treport_template` +-- ----------------------------------------------------- +CREATE TABLE "treport_template" ( + "id_report" SERIAL NOT NULL PRIMARY KEY, + "id_user" varchar(100) NOT NULL default '', + "name" varchar(150) NOT NULL default '', + "description" TEXT NOT NULL, + "private" SMALLINT NOT NULL default 0, + "id_group" SMALLINT NULL default NULL, + "custom_logo" varchar(200) default NULL, + "header" TEXT default NULL, + "first_page" TEXT default NULL, + "footer" TEXT default NULL, + "custom_font" varchar(200) default NULL, + "metaconsole" SMALLINT DEFAULT 0 +); + + +-- ----------------------------------------------------- +-- Table `treport_content_template` +-- ----------------------------------------------------- +CREATE TABLE "treport_content_template" ( + "id_rc" SERIAL NOT NULL PRIMARY KEY, + "id_report" INTEGER NOT NULL default 0 REFERENCES treport_template("id_report") ON DELETE CASCADE, + "id_gs" INTEGER NULL default NULL, + "text_agent_module" TEXT default NULL, + "type" varchar(30) default 'simple_graph', + "period" INTEGER NOT NULL default 0, + "order" INTEGER NOT NULL default 0, + "description" TEXT, + "text_agent" TEXT default '', + "text" TEXT default NULL, + "external_source" TEXT default NULL, + "treport_custom_sql_id" INTEGER default 0, + "header_definition" TEXT default NULL, + "column_separator" TEXT default NULL, + "line_separator" TEXT default NULL, + "time_from" TIME without time zone default '00:00:00', + "time_to" TIME without time zone default '00:00:00', + "monday" SMALLINT NOT NULL default 1, + "tuesday" SMALLINT NOT NULL default 1, + "wednesday" SMALLINT NOT NULL default 1, + "thursday" SMALLINT NOT NULL default 1, + "friday" SMALLINT NOT NULL default 1, + "saturday" SMALLINT NOT NULL default 1, + "sunday" SMALLINT NOT NULL default 1, + "only_display_wrong" SMALLINT not null default 0, + "top_n" INTEGER NOT NULL default 0, + "top_n_value" INTEGER NOT NULL default 10, + "exception_condition" INTEGER NOT NULL default 0, + "exception_condition_value" DOUBLE PRECISION NOT NULL default 0, + "show_resume" INTEGER NOT NULL default 0, + "order_uptodown" INTEGER NOT NULL default 0, + "show_graph" INTEGER NOT NULL default 0, + "group_by_agent" INTEGER NOT NULL default 0, + "style" TEXT NOT NULL DEFAULT '', + "id_group" INTEGER NOT NULL DEFAULT 0, + "id_module_group" INTEGER NOT NULL DEFAULT 0, + "server_name" text default '', + "exact_match" SMALLINT default 0, + "module_names" TEXT default NULL, + "module_free_text" TEXT default NULL, + "each_agent" SMALLINT NOT NULL default 1 +); + + +-- ----------------------------------------------------- +-- Table `treport_content_sla_com_temp` +-- ----------------------------------------------------- +CREATE TABLE "treport_content_sla_com_temp" ( + "id" SERIAL NOT NULL, + "id_report_content" INTEGER NOT NULL REFERENCES treport_content_template("id_rc") ON DELETE CASCADE, + "text_agent" TEXT default '', + "text_agent_module" TEXT default '', + "sla_max" DOUBLE PRECISION NOT NULL default 0, + "sla_min" DOUBLE PRECISION NOT NULL default 0, + "sla_limit" DOUBLE PRECISION NOT NULL default 0, + "server_name" TEXT default '', + "exact_match" SMALLINT default 0 +); + + +-- ----------------------------------------------------- +-- Table `treport_content_item_temp` (treport_content_item_template) +-- ----------------------------------------------------- +CREATE TABLE "treport_content_item_temp" ( + "id" SERIAL NOT NULL, + "id_report_content" INTEGER NOT NULL REFERENCES treport_content_template("id_rc") ON DELETE CASCADE, + "text_agent" TEXT default '', + "text_agent_module" TEXT default '', + "server_name" TEXT default '', + "exact_match" SMALLINT default 0, + "operation" TEXT +); + + +-- ----------------------------------------------------- +-- Table `tgraph_template` +-- ----------------------------------------------------- +CREATE TABLE "tgraph_template" ( + "id_graph_template" SERIAL NOT NULL PRIMARY KEY, + "id_user" TEXT NOT NULL default '', + "name" TEXT NOT NULL default '', + "description" TEXT NOT NULL default '', + "period" INTEGER NOT NULL default 0, + "width" SMALLINT NOT NULL default 0, + "height" SMALLINT NOT NULL default 0, + "private" SMALLINT NOT NULL default 0, + "events" SMALLINT NOT NULL default 0, + "stacked" SMALLINT NOT NULL default 0, + "id_group" INTEGER NOT NULL default 0 + ); + + +-- ----------------------------------------------------- +-- Table `tgraph_source_template` +-- ----------------------------------------------------- +CREATE TABLE "tgraph_source_template" ( + "id_gs_template" SERIAL NOT NULL PRIMARY KEY, + "id_template" INTEGER NOT NULL default 0, + "agent" TEXT NOT NULL default '', + "module" TEXT NOT NULL default '', + "period" INTEGER NOT NULL default 0, + "weight" DOUBLE PRECISION default 2.0, + "exact_match" SMALLINT NOT NULL default 0 + ); + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_event` +-- --------------------------------------------------------------------- +CREATE TYPE type_tmetaconsole_event_event AS ENUM ('going_unknown','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal', 'configuration_change'); +CREATE TABLE "tmetaconsole_event" ( + "id_evento" BIGSERIAL NOT NULL PRIMARY KEY, + "id_source_event" BIGSERIAL NOT NULL, + "id_agente" INTEGER NOT NULL default 0, + "agent_name" varchar(600) NOT NULL default '', + "id_usuario" varchar(100) NOT NULL default '0', + "id_grupo" INTEGER NOT NULL default 0, + "group_name" text NOT NULL default '', + "estado" INTEGER NOT NULL default 0, + "timestamp" TIMESTAMP without time zone default '1970-01-01 00:00:00', + "evento" text NOT NULL default '', + "utimestamp" BIGINT NOT NULL default 0, + "event_type" type_tmetaconsole_event_event default 'unknown', + "id_agentmodule" INTEGER NOT NULL default 0, + "module_name" TEXT NOT NULL default '', + "id_alert_am" INTEGER NOT NULL default 0, + "alert_template_name" text default '', + "criticity" INTEGER NOT NULL default 0, + "user_comment" text NOT NULL, + "tags" text NOT NULL, + "source" text NOT NULL default '', + "id_extra" text NOT NULL default '', + "critical_instructions" TEXT default '', + "warning_instructions" TEXT default '', + "unknown_instructions" TEXT default '', + "owner_user" varchar(100) NOT NULL default '0', + "ack_utimestamp" BIGINT NOT NULL default 0, + "server_id" INTEGER NOT NULL, + "custom_data" text NOT NULL +); +CREATE INDEX "tmetaconsole_event_id_1_idx" ON "tmetaconsole_event"("id_agente", "id_evento"); +CREATE INDEX "tmetaconsole_event_id_agentmodule_idx" ON "tmetaconsole_event"("id_agentmodule"); +CREATE INDEX "tmetaconsole_event_server_id_idx" ON "tmetaconsole_event"("server_id"); +CREATE INDEX "tmetaconsole_event_id_grupo_idx" ON "tmetaconsole_event"("id_grupo"); +CREATE INDEX "tmetaconsole_event_criticity_idx" ON "tmetaconsole_event"("criticity"); +CREATE INDEX "tmetaconsole_event_estado_idx" ON "tmetaconsole_event"("estado"); + + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_event_history` +-- --------------------------------------------------------------------- +CREATE TYPE type_tmetaconsole_event_event_h AS ENUM ('going_unknown','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal', 'configuration_change'); +CREATE TABLE "tmetaconsole_event_history" ( + "id_evento" BIGSERIAL NOT NULL PRIMARY KEY, + "id_source_event" BIGSERIAL NOT NULL, + "id_agente" INTEGER NOT NULL default 0, + "agent_name" varchar(600) NOT NULL default '', + "id_usuario" varchar(100) NOT NULL default '0', + "id_grupo" INTEGER NOT NULL default 0, + "group_name" text NOT NULL default '', + "estado" INTEGER NOT NULL default 0, + "timestamp" TIMESTAMP without time zone default '1970-01-01 00:00:00', + "evento" text NOT NULL default '', + "utimestamp" BIGINT NOT NULL default 0, + "event_type" type_tmetaconsole_event_event_h default 'unknown', + "id_agentmodule" INTEGER NOT NULL default 0, + "module_name" TEXT NOT NULL default '', + "id_alert_am" INTEGER NOT NULL default 0, + "alert_template_name" text default '', + "criticity" INTEGER NOT NULL default 0, + "user_comment" text NOT NULL, + "tags" text NOT NULL, + "source" text NOT NULL default '', + "id_extra" text NOT NULL default '', + "critical_instructions" TEXT default '', + "warning_instructions" TEXT default '', + "unknown_instructions" TEXT default '', + "owner_user" varchar(100) NOT NULL default '0', + "ack_utimestamp" BIGINT NOT NULL default 0, + "server_id" INTEGER NOT NULL, + "custom_data" text NOT NULL +); +CREATE INDEX "tmetaconsole_event_h_id_1_idx" ON "tmetaconsole_event_history"("id_agente", "id_evento"); +CREATE INDEX "tmetaconsole_event_h_id_agentmodule_idx" ON "tmetaconsole_event_history"("id_agentmodule"); +CREATE INDEX "tmetaconsole_event_h_server_id_idx" ON "tmetaconsole_event_history"("server_id"); +CREATE INDEX "tmetaconsole_event_h_id_grupo_idx" ON "tmetaconsole_event_history"("id_grupo"); +CREATE INDEX "tmetaconsole_event_h_criticity_idx" ON "tmetaconsole_event_history"("criticity"); +CREATE INDEX "tmetaconsole_event_h_estado_idx" ON "tmetaconsole_event_history"("estado"); + +-- --------------------------------------------------------------------- +-- Table `tagent_module_log` +-- --------------------------------------------------------------------- +CREATE TABLE "tagent_module_log" ( + "id_agent_module_log" SERIAL NOT NULL PRIMARY KEY, + "id_agent" INTEGER NOT NULL REFERENCES tagente("id_agente") ON UPDATE CASCADE ON DELETE CASCADE, + "source" TEXT, + "timestamp" TIMESTAMP without time zone default '1970-01-01 00:00:00', + "utimestamp" BIGINT NOT NULL default 0 +); + +-- --------------------------------------------------------------------- +-- Table `tevent_custom_field` +-- --------------------------------------------------------------------- +CREATE TABLE "tevent_custom_field" ( + "id_group" INTEGER NOT NULL default 0, + "value" text NOT NULL default '' +); + -- ---------------------------------------------------------------------- -- Table `tagente_estado` -- ---------------------------------------------------------------------- @@ -99,3 +920,28 @@ ALTER TABLE talert_actions ADD COLUMN field15_recovery TEXT NOT NULL DEFAULT ""; -- Table `tnetflow_filter` -- --------------------------------------------------------------------- ALTER TABLE tnetflow_filter ADD COLUMN router_ip TEXT NOT NULL DEFAULT ""; + +-- --------------------------------------------------------------------- +-- Table `tlocal_component` +-- --------------------------------------------------------------------- +ALTER TABLE tlocal_component ADD "dynamic_interval" INTEGER default 0; +ALTER TABLE tlocal_component ADD "dynamic_max" INTEGER default 0; +ALTER TABLE tlocal_component ADD "dynamic_min" INTEGER default 0; +ALTER TABLE tlocal_component ADD "dynamic_next" INTEGER default 0 NOT NULL; +ALTER TABLE tlocal_component ADD "dynamic_two_tailed" SMALLINT default 0; + +-- --------------------------------------------------------------------- +-- Table `tpolicy_module` +-- --------------------------------------------------------------------- +ALTER TABLE tpolicy_modules ADD "dynamic_interval" INTEGER default 0; +ALTER TABLE tpolicy_modules ADD "dynamic_max" INTEGER default 0; +ALTER TABLE tpolicy_modules ADD "dynamic_min" INTEGER default 0; +ALTER TABLE tpolicy_modules ADD "dynamic_next" INTEGER default 0 NOT NULL; +ALTER TABLE tpolicy_modules ADD "dynamic_two_tailed" SMALLINT default 0; + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_agent` +-- --------------------------------------------------------------------- +ALTER TABLE tmetaconsole_agent ADD "remote" INTEGER default 0 NOT NULL; +ALTER TABLE tmetaconsole_agent ADD "cascade_protection_module" INTEGER default 0; +ALTER TABLE tmetaconsole_agent ADD "transactional_agent" INTEGER default 0 NOT NULL; \ No newline at end of file diff --git a/pandora_console/pandoradb.data.oracle.sql b/pandora_console/pandoradb.data.oracle.sql index 374ce7305c..d72ca32aee 100644 --- a/pandora_console/pandoradb.data.oracle.sql +++ b/pandora_console/pandoradb.data.oracle.sql @@ -1443,3 +1443,378 @@ INSERT INTO tupdate_settings VALUES ('proxy_pass', ''); COMMIT; END;; + +BEGIN +LOCK TABLE tmodule IN EXCLUSIVE MODE; + +EXECUTE IMMEDIATE 'ALTER TRIGGER tmodule_inc DISABLE'; + +INSERT INTO tmodule VALUES (7, 'Web module'); + +-- Update curr val of sequence +update_currval('tmodule', 'id_module'); + +EXECUTE IMMEDIATE 'ALTER TRIGGER tmodule_inc ENABLE'; + +COMMIT; +END;; + +BEGIN +LOCK TABLE ttipo_modulo IN EXCLUSIVE MODE; + +EXECUTE IMMEDIATE 'ALTER TRIGGER ttipo_modulo_inc DISABLE'; + +INSERT INTO ttipo_modulo VALUES (30,'web_data',9,'Remote HTTP module to check latency','mod_web_data.png'); +INSERT INTO ttipo_modulo VALUES (31,'web_proc',9,'Remote HTTP module to check server response','mod_web_proc.png'); +INSERT INTO ttipo_modulo VALUES (32,'web_content_data',9,'Remote HTTP module to retrieve numeric data','mod_web_data.png'); +INSERT INTO ttipo_modulo VALUES (33,'web_content_string',9,'Remote HTTP module to retrieve string data','mod_web_data.png'); + +-- Update curr val of sequence +update_currval('ttipo_modulo', 'id_tipo'); + +EXECUTE IMMEDIATE 'ALTER TRIGGER ttipo_modulo_inc ENABLE'; + +COMMIT; +END;; + +-- Some inserts to this table are divided cause oracle cannot perform an insert of a string with a length above the 4000 characters +BEGIN +LOCK TABLE tmodule_inventory IN EXCLUSIVE MODE; + +EXECUTE IMMEDIATE 'ALTER TRIGGER tmodule_inventory_inc DISABLE'; + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (1,1,'CPU','CPU','/usr/bin/perl','Model;Company;Speed','IyEvdXNyL2Jpbi9wZXJsDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBwYW5kb3JhX2NwdS5wbA0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMgQ29weXJpZ2h0IChjKSAyMDA4IFJhbW9uIE5vdm9hLCBybm92b2FAYXJ0aWNhLmVzDQojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2ljYXMgUy5MDQojDQojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3INCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KdXNlIHN0cmljdDsNCnVzZSB3YXJuaW5nczsNCg0KIyBDaGVjayBmb3Igc3NoDQpteSAkc3NoX2NsaWVudCA9ICJzc2giOw0KaWYgKHN5c3RlbSgiJHNzaF9jbGllbnQgLXYgPiAvZGV2L251bGwgMj4mMSIpID4+IDggIT0gMjU1KSB7DQoJcHJpbnQgIltlcnJvcl0gJHNzaF9jbGllbnQgbm90IGZvdW5kLlxuIjsNCglleGl0IDE7DQp9DQoNCmlmICgkI0FSR1YgPCAxKSB7DQoJcHJpbnQgIlVzYWdlOiAkMCA8dGFyZ2V0IGlwPiA8dXNlcm5hbWU+XG4iOw0KCWV4aXQgMTsNCn0NCg0KbXkgJHRhcmdldF9pcCA9ICRBUkdWWzBdOw0KbXkgJHVzZXJuYW1lID0gJEFSR1ZbMV07DQoNCiMgUmV0cmlldmUgQ1BVIGRhdGENCm15ICgkbW9kZWwsICR2ZW5kb3IsICRzcGVlZCk7DQpteSBAY3B1X2luZm8gPSBgJHNzaF9jbGllbnQgJHVzZXJuYW1lXEAkdGFyZ2V0X2lwICJjYXQgL3Byb2MvY3B1aW5mbyJgOw0KZm9yZWFjaCBteSAkbGluZSAoQGNwdV9pbmZvKSB7DQoJaWYgKCRsaW5lID1+IC9tb2RlbCBuYW1lXHMrOlxzKyguKikvKSB7DQoJCSRtb2RlbCA9ICQxOw0KCX0gZWxzaWYgKCRsaW5lID1+IC92ZW5kb3JfaWRccys6XHMrKC4qKS8pIHsNCgkJJHZlbmRvciA9ICQxOw0KCX0gZWxzaWYgKCRsaW5lID1+IC9jcHUgTUh6XHMrOlxzKyguKikvKSB7DQoJCSRzcGVlZCA9ICQxOw0KCX0NCn0NCiANCnJldHVybiAxIGlmICgkbW9kZWwgZXEgJycgfHwgJHZlbmRvciBlcSAnJyB8fCAkc3BlZWQgZXEgJycpOw0KcHJpbnQgIiRtb2RlbDskdmVuZG9yOyIgLiBzcHJpbnRmICgiJS4wZiIsICRzcGVlZCkgLiAiIE1IelxuIjsNCg0KZXhpdCAwOw0K',0); + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (2,9,'CPU','CPU','/usr/bin/perl','Name;Speed;Description','IyEvdXNyL2Jpbi9wZXJsDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBwYW5kb3JhX2NwdS5wbA0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMgQ29weXJpZ2h0IChjKSAyMDA4IFJhbW9uIE5vdm9hLCBybm92b2FAYXJ0aWNhLmVzDQojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2ljYXMgUy5MDQojDQojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3INCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KdXNlIHN0cmljdDsNCnVzZSB3YXJuaW5nczsNCg0KdXNlIEZpbGU6OkJhc2VuYW1lOw0KdXNlIEhUTUw6OkVudGl0aWVzICgpOw0KDQojIENoZWNrIGZvciB3bWljDQpteSAkd21pX2NsaWVudCA9ICJ3bWljIjsNCmlmIChzeXN0ZW0oIiR3bWlfY2xpZW50ID4gL2Rldi9udWxsIDI+JjEiKSAhPSAyNTYpIHsNCglwcmludCAiW2Vycm9yXSAkd21pX2NsaWVudCBub3QgZm91bmQuXG4iOw0KCWV4aXQgMTsNCn0NCg0KaWYgKCQjQVJHViAhPSAyKSB7DQoJcHJpbnQgIlVzYWdlOiAkMCA8dGFyZ2V0IGlwPiA8dXNlcm5hbWU+IDxwYXNzd29yZD5cbiI7DQoJZXhpdCAxOw0KfQ0KDQpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07DQpteSAkdXNlcm5hbWUgPSAkQVJHVlsxXTsNCm15ICRwYXNzd29yZCA9ICRBUkdWWzJdOw0KDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBTVUIgcnVuX3F1ZXJ5ICgkd3FsX3F1ZXJ5KQ0KIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMgdGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0Kc3ViIHJ1bl9xdWVyeSB7DQoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOw0KCW15IEByZXN1bHQgPSB7fTsNCg0KCSR3cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsNCg0KCSMgUnVuIHRoZSBEQ09NL1dNSSBjbGllbnQNCglteSAkb3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdldF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7DQoNCglteSBAbGluZXMgPSBzcGxpdCgvXG4vLCAkb3V0cHV0KTsNCgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMNCglpZiAoJCNsaW5lcyA8IDIpIHsNCgkJZXhpdCAxOw0KCX0NCg0KCSMgRHJvcCB0aGUgaGVhZGVyDQoJc2hpZnQgKEBsaW5lcyk7DQoJDQoJIyBHZXQgY29sdW1uIG5hbWVzDQoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNoaWZ0IChAbGluZXMpKTsNCg0KCSMgR2V0IHJvdyBkYXRhDQoJbXkgJGlkeCA9IDA7DQoJZm9yIChteSAkaSA9IDA7ICRpIDw9ICQjbGluZXM7ICRpKyspIHsNCg0KCQkjIENoZWNrIGZvciBlcnJvcnMNCgkJaWYgKCRsaW5lc1skaV0gPX4gbS9eRVJST1IvKSB7DQoJCQlleGl0IDE7DQoJCX0NCg0KCQkjIEJsYWNrIGxpc3QNCgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7DQoJCQluZXh0Ow0KCQl9DQoNCgkJbXkgQGNvbHVtbiA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOw0KCQlmb3IgKG15ICRqID0gMDsgJGogPD0gJCNjb2x1bW5fbmFtZXM7ICRqKyspIHsNCgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7DQoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOw0KCQkJfQ0KC',0); +UPDATE tmodule_inventory SET code = code || 'QkJZWxzZSB7DQoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICRjb2x1bW5bJGpdOw0KCQkJfQ0KCQl9DQoJCQ0KCQkkaWR4Kys7DQoJfQ0KCQ0KCXJldHVybiBAcmVzdWx0Ow0KfQ0KDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEsIA0KIyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkNCiMgUHJpbnRzIGEgbW9kdWxlZGF0YSBYTUwgdGFnLiAkbW9kdWxlX2l0ZW0sICRtb2R1bGVfZGF0YSBhbmQNCiMgJG1vZHVsZV9kZXNjcmlwdGlvbiBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24NCiMgWE1MIHRhZ3MgcmVzcGVjdGl2ZWx5Lg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCnN1YiBwcmludF9tb2R1bGVkYXRhIHsNCglteSAkbW9kdWxlX2l0ZW0gPSAkX1swXTsNCglteSAkbW9kdWxlX2RhdGEgPSAkX1sxXTsNCglteSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07DQoJbXkgQGRhdGEgPSBAeyRfWzNdfTsNCglteSAkcmVzdWx0Ow0KDQoJZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsNCgkJDQoJCSRyZXN1bHQgPSAnJzsNCg0KCQkjIEl0ZW0NCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkgew0KCQkJJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfaXRlbX0gLiAiOyI7DQoJCX0NCg0KCQkjIERhdGENCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2RhdGF9KSkgew0KCQkJJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0gLiAiIE1oejsiOw0KCQl9DQoNCgkJIyBEZXNjcmlwdGlvbg0KCQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfZGVzY3JpcHRpb259KSkgew0KCQkJJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGVzY3JpcHRpb259IC4gIjsiOw0KCQl9DQoNCgkJcHJpbnQgJHJlc3VsdCAuICJcbiI7CQ0KCX0NCn0NCg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMgTWFpbg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KbXkgQHJlc3VsdCA9IHJ1bl9xdWVyeSgiU0VMRUNUIE5hbWUsIE1heENsb2NrU3BlZWQsIERlc2NyaXB0aW9uIEZST00gV2luMzJfUHJvY2Vzc29yIik7DQpwcmludF9tb2R1bGVkYXRhICgiTmFtZSIsICJNYXhDbG9ja1NwZWVkIiwgIkRlc2NyaXB0aW9uIiwgXEByZXN1bHQpOw0KZXhpdCAwOw0K' WHERE id_module_inventory = 2; + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (3,1,'RAM','Memory modules','','Model;Size','',0); + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (4,9,'RAM','Memory modules','/usr/bin/perl','Tag;Capacity;Name','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9yYW0ucGwKIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKIyBDb3B5cmlnaHQgKGMpIDIwMDggUmFtb24gTm92b2EsIHJub3ZvYUBhcnRp Y2EuZXMKIyAgICAgICAgICAgKGMpIDIwMDggQXJ0aWNhIFNvbHVjaW9uZXMgVGVjbm9sb2dpY2Fz IFMuTAojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgojIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IHZlcnNpb24gMi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZv dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rvbiwg TUEgIDAyMTEwLTEzMDEsIFVTQS4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCnVzZSBzdHJpY3Q7CnVzZSB3 YXJuaW5nczsKCnVzZSBGaWxlOjpCYXNlbmFtZTsKdXNlIEhUTUw6OkVudGl0aWVzICgpOwoKIyBD aGVjayBmb3Igd21pYwpteSAkd21pX2NsaWVudCA9ICJ3bWljIjsKaWYgKHN5c3RlbSgiJHdtaV9j bGllbnQgPiAvZGV2L251bGwgMj4mMSIpICE9IDI1NikgewoJcHJpbnQgIltlcnJvcl0gJHdtaV9j bGllbnQgbm90IGZvdW5kLlxuIjsKCWV4aXQgMTsKfQoKaWYgKCQjQVJHViAhPSAyKSB7Cglwcmlu dCAiVXNhZ2U6ICQwIDx0YXJnZXQgaXA+IDx1c2VybmFtZT4gPHBhc3N3b3JkPlxuIjsKCWV4aXQg MTsKfQoKbXkgJHRhcmdldF9pcCA9ICRBUkdWWzBdOwpteSAkdXNlcm5hbWUgPSAkQVJHVlsxXTsK bXkgJHBhc3N3b3JkID0gJEFSR1ZbMl07CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFNVQiBydW5fcXVl cnkgKCR3cWxfcXVlcnkpCiMgUnVucyB0aGUgZ2l2ZW4gV1FMIHF1ZXJ5IGFuZCByZXR1cm5zIHRo ZSByZXN1bHQgYXMgYW4gYXJyYXkgb2YgaGFzaGVzLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcnVu X3F1ZXJ5IHsKCW15ICR3cWxfcXVlcnkgPSAkX1swXTsKCW15IEByZXN1bHQgPSB7fTsKCgkkd3Fs X3F1ZXJ5ID1+ICdzLyIvXCcvZyc7CgoJIyBSdW4gdGhlIERDT00vV01JIGNsaWVudAoJbXkgJG91 dHB1dCA9IGAkd21pX2NsaWVudCAtVSAnJHVzZXJuYW1lJyUnJHBhc3N3b3JkJyAvLyR0YXJnZXRf aXAgXCIkd3FsX3F1ZXJ5XCIgMj4vZGV2L251bGxgOwoKCW15IEBsaW5lcyA9IHNwbGl0KC9cbi8s ICRvdXRwdXQpOwoJIyBIZWFkZXIsIGRlc2NyaXB0aW9uLCByZXN1bHRzCglpZiAoJCNsaW5lcyA8 IDIpIHsKCQlleGl0IDE7Cgl9CgoJIyBEcm9wIHRoZSBoZWFkZXIKCXNoaWZ0IChAbGluZXMpOwoJ CgkjIEdldCBjb2x1bW4gbmFtZXMKCW15IEBjb2x1bW5fbmFtZXMgPSBzcGxpdCgvXHwvLCBzaGlm dCAoQGxpbmVzKSk7CgoJIyBHZXQgcm93IGRhdGEKCW15ICRpZHggPSAwOwoJZm9yIChteSAkaSA9 IDA7ICRpIDw9ICQjbGluZXM7ICRpKyspIHsKCgkJIyBDaGVjayBmb3IgZXJyb3JzCgkJaWYgKCRs aW5lc1skaV0gPX4gbS9eRVJST1IvKSB7CgkJCWV4aXQgMTsKCQl9CgoJCSMgQmxhY2sgbGlzdAoJ CWlmICgkbGluZXNbJGldID1+IG0vRmlsZSAxLykgewoJCQluZXh0OwoJCX0KCgkJbXkgQGNvbHVt biA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOwoJCWZvciAobXkgJGogPSAwOyAkaiA8PSAkI2Nv bHVtbl9uYW1lczsgJGorKykgewoJCQlpZiAoISBkZWZpbmVkKCRjb2x1bW5bJGpdKSkgewoJCQkJ JHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOwoJCQl9CgkJCWVsc2UgewoJ CQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9',0); +UPDATE tmodule_inventory SET code = code || 'ICRjb2x1bW5bJGpdOwoJCQl9 CgkJfQoJCQoJCSRpZHgrKzsKCX0KCQoJcmV0dXJuIEByZXN1bHQ7Cn0KCiMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCiMgU1VCIHByaW50X21vZHVsZWRhdGEgKCRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhLCAK IyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkKIyBQcmludHMgYSBtb2R1bGVkYXRhIFhNTCB0 YWcuICRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhIGFuZAojICRtb2R1bGVfZGVzY3JpcHRpb24g YXJlIHVzZWQgdG8gaW5kZXggdGhlIGl0ZW0sIGRhdGEgYW5kIGRlc2NyaXB0aW9uCiMgWE1MIHRh Z3MgcmVzcGVjdGl2ZWx5LgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcHJpbnRfbW9kdWxlZGF0YSB7 CglteSAkbW9kdWxlX2l0ZW0gPSAkX1swXTsKCW15ICRtb2R1bGVfZGF0YSA9ICRfWzFdOwoJbXkg JG1vZHVsZV9kZXNjcmlwdGlvbiA9ICRfWzJdOwoJbXkgQGRhdGEgPSBAeyRfWzNdfTsKCW15ICRy ZXN1bHQ7CgoJZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsKCQkKCQkkcmVzdWx0ID0gJyc7 CgoJCSMgSXRlbQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSkpIHsKCQkJ JHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfaXRlbX0gLiAnOyc7CgkJfQoKCQkjIERhdGEK CQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0pKSB7CgkJCSRyZXN1bHQgLj0g JyAnIC4gc3ByaW50ZigiJS4xZiIsICRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSAvIDEwNDg1NzYp IC4gIiBNQnl0ZXM7IjsKCQl9CgoJCSMgRGVzY3JpcHRpb24KCQlpZiAoZGVmaW5lZCgkZWxlbWVu dC0+eyRtb2R1bGVfZGVzY3JpcHRpb259KSkgewoJCQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1v ZHVsZV9kZXNjcmlwdGlvbn07CgkJfQoKCQlwcmludCAkcmVzdWx0IC4gIlxuIjsJCgl9Cn0KCiMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCiMgTWFpbgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKbXkgQHJlc3VsdCA9IHJ1 bl9xdWVyeSgiU0VMRUNUIFRhZywgQ2FwYWNpdHksIE5hbWUgRlJPTSBXaW4zMl9QaHlzaWNhbE1l bW9yeSIpOwpwcmludF9tb2R1bGVkYXRhICgiVGFnIiwgIkNhcGFjaXR5IiwgIk5hbWUiLCBcQHJl c3VsdCk7CmV4aXQgMDsK' WHERE id_module_inventory = 4; + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (5,1,'Video','Video cards','','Controller;Model;Company','',0); + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (6,9,'Video','Video cards','/usr/bin/perl','Caption;AdapterRAM;VideoProcessor','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV92aWRlby5wbAojIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9hQGFy dGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2lj YXMgUy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMg Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u LCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsKdXNl IHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7Cgoj IENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21p X2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAkd21p X2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKCXBy aW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJZXhp dCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdWWzFd OwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1bl9x dWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMg dGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBy dW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoKCSR3 cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CglteSAk b3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdl dF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQoL1xu LywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xpbmVz IDwgMikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5lcyk7 CgkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNo aWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15ICRp ID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlpZiAo JGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBsaXN0 CgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBAY29s dW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9ICQj Y29sdW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7CgkJ CQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxzZSB7 CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl',0); +UPDATE tmodule_inventory SET code = code || '9uYW1lc1skal19ID0gJGNvbHVtblskal07CgkJ CX0KCQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEs IAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEgWE1M IHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlwdGlv biBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBYTUwg dGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVkYXRh IHsKCW15ICRtb2R1bGVfaXRlbSA9ICRfWzBdOwoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07Cglt eSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07CglteSBAZGF0YSA9IEB7JF9bM119OwoJbXkg JHJlc3VsdDsKCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCQoJCSRyZXN1bHQgPSAn JzsKCgkJIyBJdGVtCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkgewoJ CQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsKCQl9CgoJCSMgRGF0 YQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSkpIHsKCQkJJHJlc3VsdCAu PSAnICcgLiBzcHJpbnRmKCIlLjFmIiwgJGVsZW1lbnQtPnskbW9kdWxlX2RhdGF9IC8gMTA0ODU3 NikgLiAiIE1CeXRlczsiOwoJCX0KCgkJIyBEZXNjcmlwdGlvbgoJCWlmIChkZWZpbmVkKCRlbGVt ZW50LT57JG1vZHVsZV9kZXNjcmlwdGlvbn0pKSB7CgkJCSRyZXN1bHQgLj0gJyAnIC4gJGVsZW1l bnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufTsKCQl9CgoJCXByaW50ICRyZXN1bHQgLiAiXG4iOwkK CX0KfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNYWluCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpteSBAcmVz dWx0ID0gcnVuX3F1ZXJ5KCJTRUxFQ1QgQ2FwdGlvbiwgQWRhcHRlclJBTSwgVmlkZW9Qcm9jZXNz b3IgRlJPTSBXaW4zMl9WaWRlb0NvbnRyb2xsZXIiKTsKcHJpbnRfbW9kdWxlZGF0YSAoIkNhcHRp b24iLCAiQWRhcHRlclJBTSIsICJWaWRlb1Byb2Nlc3NvciIsIFxAcmVzdWx0KTsKZXhpdCAwOwo=' WHERE id_module_inventory = 6; + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (7,1,'NIC','Network Interface Cards','','Device;Model;Company;MACAddress','',0); + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (8,9,'NIC','Network Interface Cards','/usr/bin/perl','Caption;MACAddress;IPAddress','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9uaWMucGwKIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKIyBDb3B5cmlnaHQgKGMpIDIwMDggUmFtb24gTm92b2EsIHJub3ZvYUBhcnRp Y2EuZXMKIyAgICAgICAgICAgKGMpIDIwMDggQXJ0aWNhIFNvbHVjaW9uZXMgVGVjbm9sb2dpY2Fz IFMuTAojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgojIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IHZlcnNpb24gMi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZv dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rvbiwg TUEgIDAyMTEwLTEzMDEsIFVTQS4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCnVzZSBzdHJpY3Q7CnVzZSB3 YXJuaW5nczsKCnVzZSBGaWxlOjpCYXNlbmFtZTsKdXNlIEhUTUw6OkVudGl0aWVzICgpOwoKIyBD aGVjayBmb3Igd21pYwpteSAkd21pX2NsaWVudCA9ICJ3bWljIjsKaWYgKHN5c3RlbSgiJHdtaV9j bGllbnQgPiAvZGV2L251bGwgMj4mMSIpICE9IDI1NikgewoJcHJpbnQgIltlcnJvcl0gJHdtaV9j bGllbnQgbm90IGZvdW5kLlxuIjsKCWV4aXQgMTsKfQoKaWYgKCQjQVJHViAhPSAyKSB7Cglwcmlu dCAiVXNhZ2U6ICQwIDx0YXJnZXQgaXA+IDx1c2VybmFtZT4gPHBhc3N3b3JkPlxuIjsKCWV4aXQg MTsKfQoKbXkgJHRhcmdldF9pcCA9ICRBUkdWWzBdOwpteSAkdXNlcm5hbWUgPSAkQVJHVlsxXTsK bXkgJHBhc3N3b3JkID0gJEFSR1ZbMl07CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFNVQiBydW5fcXVl cnkgKCR3cWxfcXVlcnkpCiMgUnVucyB0aGUgZ2l2ZW4gV1FMIHF1ZXJ5IGFuZCByZXR1cm5zIHRo ZSByZXN1bHQgYXMgYW4gYXJyYXkgb2YgaGFzaGVzLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcnVu X3F1ZXJ5IHsKCW15ICR3cWxfcXVlcnkgPSAkX1swXTsKCW15IEByZXN1bHQgPSB7fTsKCgkkd3Fs X3F1ZXJ5ID1+ICdzLyIvXCcvZyc7CgoJIyBSdW4gdGhlIERDT00vV01JIGNsaWVudAoJbXkgJG91 dHB1dCA9IGAkd21pX2NsaWVudCAtVSAnJHVzZXJuYW1lJyUnJHBhc3N3b3JkJyAvLyR0YXJnZXRf aXAgXCIkd3FsX3F1ZXJ5XCIgMj4vZGV2L251bGxgOwoKCW15IEBsaW5lcyA9IHNwbGl0KC9cbi8s ICRvdXRwdXQpOwoJIyBIZWFkZXIsIGRlc2NyaXB0aW9uLCByZXN1bHRzCglpZiAoJCNsaW5lcyA8 IDIpIHsKCQlleGl0IDE7Cgl9CgoJIyBEcm9wIHRoZSBoZWFkZXIKCXNoaWZ0IChAbGluZXMpOwoJ CgkjIEdldCBjb2x1bW4gbmFtZXMKCW15IEBjb2x1bW5fbmFtZXMgPSBzcGxpdCgvXHwvLCBzaGlm dCAoQGxpbmVzKSk7CgoJIyBHZXQgcm93IGRhdGEKCW15ICRpZHggPSAwOwoJZm9yIChteSAkaSA9 IDA7ICRpIDw9ICQjbGluZXM7ICRpKyspIHsKCgkJIyBDaGVjayBmb3IgZXJyb3JzCgkJaWYgKCRs aW5lc1skaV0gPX4gbS9eRVJST1IvKSB7CgkJCWV4aXQgMTsKCQl9CgoJCSMgQmxhY2sgbGlzdAoJ CWlmICgkbGluZXNbJGldID1+IG0vRmlsZSAxLykgewoJCQluZXh0OwoJCX0KCgkJbXkgQGNvbHVt biA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOwoJCWZvciAobXkgJGogPSAwOyAkaiA8PSAkI2Nv bHVtbl9uYW1lczsgJGorKykgewoJCQlpZiAoISBkZWZpbmVkKCRjb2x1bW5bJGpdKSkgewoJCQkJ JHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOwoJCQl9CgkJCWVsc2UgewoJ CQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1b',0); +UPDATE tmodule_inventory SET code = code || 'W5fbmFtZXNbJGpdfSA9ICRjb2x1bW5bJGpdOwoJCQl9 CgkJfQoJCQoJCSRpZHgrKzsKCX0KCQoJcmV0dXJuIEByZXN1bHQ7Cn0KCiMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCiMgU1VCIHByaW50X21vZHVsZWRhdGEgKCRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhLCAK IyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkKIyBQcmludHMgYSBtb2R1bGVkYXRhIFhNTCB0 YWcuICRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhIGFuZAojICRtb2R1bGVfZGVzY3JpcHRpb24g YXJlIHVzZWQgdG8gaW5kZXggdGhlIGl0ZW0sIGRhdGEgYW5kIGRlc2NyaXB0aW9uCiMgWE1MIHRh Z3MgcmVzcGVjdGl2ZWx5LgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcHJpbnRfbW9kdWxlZGF0YSB7 CglteSAkbW9kdWxlX2l0ZW0gPSAkX1swXTsKCW15ICRtb2R1bGVfZGF0YSA9ICRfWzFdOwoJbXkg JG1vZHVsZV9kZXNjcmlwdGlvbiA9ICRfWzJdOwoJbXkgQGRhdGEgPSBAeyRfWzNdfTsKCW15ICRy ZXN1bHQ7CgoJZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsKCQkKCQkkcmVzdWx0ID0gJyc7 CgoJCSMgSXRlbQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSkpIHsKCQkJ JHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfaXRlbX0gLiAnOyc7CgkJfQoKCQkjIERhdGEK CQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0pKSB7CgkJCSRyZXN1bHQgLj0g JGVsZW1lbnQtPnskbW9kdWxlX2RhdGF9IC4gJzsnOwoJCX0KCgkJIyBEZXNjcmlwdGlvbgoJCWlm IChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kZXNjcmlwdGlvbn0pKSB7CgkJCSRyZXN1bHQg Lj0gJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufTsKCQl9CgoJCXByaW50ICRyZXN1bHQg LiAiXG4iOwkKCX0KfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNYWluCiMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CgpteSBAcmVzdWx0ID0gcnVuX3F1ZXJ5KCJTRUxFQ1QgQ2FwdGlvbiwgTUFDQWRkcmVzcywgSVBB ZGRyZXNzIEZST00gV2luMzJfTmV0d29ya0FkYXB0ZXJDb25maWd1cmF0aW9uIik7CnByaW50X21v ZHVsZWRhdGEgKCJDYXB0aW9uIiwgIk1BQ0FkZHJlc3MiLCAiSVBBZGRyZXNzIiwgXEByZXN1bHQp OwpleGl0IDA7Cg==' WHERE id_module_inventory = 8; + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (9,1,'HD','Hard drives','','Type;Model;Size','',0); + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (10,9,'HD','Hard drives','/usr/bin/perl','Model;Size;SystemName','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9oZC5wbAojIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9hQGFydGlj YS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2ljYXMg Uy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91 bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBN QSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsKdXNlIHdh cm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7CgojIENo ZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21pX2Ns aWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAkd21pX2Ns aWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKCXByaW50 ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJZXhpdCAx Owp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdWWzFdOwpt eSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1bl9xdWVy eSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMgdGhl IHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBydW5f cXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoKCSR3cWxf cXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CglteSAkb3V0 cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdldF9p cCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQoL1xuLywg JG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xpbmVzIDwg MikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5lcyk7CgkK CSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNoaWZ0 IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15ICRpID0g MDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlpZiAoJGxp bmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBsaXN0CgkJ aWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBAY29sdW1u ID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9ICQjY29s dW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7CgkJCQkk cmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxzZSB7CgkJ CQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0g',0); +UPDATE tmodule_inventory SET code = code || 'JGNvbHVtblskal07CgkJCX0K CQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEsIAoj ICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEgWE1MIHRh Zy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlwdGlvbiBh cmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBYTUwgdGFn cyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVkYXRhIHsK CW15ICRtb2R1bGVfaXRlbSA9ICRfWzBdOwoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07CglteSAk bW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07CglteSBAZGF0YSA9IEB7JF9bM119OwoJbXkgJHJl c3VsdDsKCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCQoJCSRyZXN1bHQgPSAnJzsK CgkJIyBJdGVtCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkgewoJCQkk cmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsKCQl9CgoJCSMgRGF0YQoJ CWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSkpIHsKCQkJJHJlc3VsdCAuPSAn ICcgLiBzcHJpbnRmKCIlLjFmIiwgJGVsZW1lbnQtPnskbW9kdWxlX2RhdGF9IC8gMTA3Mzc0MTgy NCkgLiAiIEdCeXRlczsiOwoJCX0KCgkJIyBEZXNjcmlwdGlvbgoJCWlmIChkZWZpbmVkKCRlbGVt ZW50LT57JG1vZHVsZV9kZXNjcmlwdGlvbn0pKSB7CgkJCSRyZXN1bHQgLj0gJyAoJyAuICRlbGVt ZW50LT57JG1vZHVsZV9kZXNjcmlwdGlvbn0gLiAiKSI7CgkJfQoKCQlwcmludCAkcmVzdWx0IC4g IlxuIjsJCgl9Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTWFpbgojIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoK bXkgQHJlc3VsdCA9IHJ1bl9xdWVyeSgiU0VMRUNUIE1vZGVsLCBTaXplLCBTeXN0ZW1OYW1lIEZS T00gV2luMzJfRGlza0RyaXZlIik7CnByaW50X21vZHVsZWRhdGEgKCJNb2RlbCIsICJTaXplIiwg IlN5c3RlbU5hbWUiLCBcQHJlc3VsdCk7CQpleGl0IDA7Cg==' WHERE id_module_inventory = 10; + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (11,1,'CDROM','CD-ROM drives','','Type;Model;Features','',0); + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (12,9,'CDROM','CD-ROM drives','/usr/bin/perl','Name;Description;Drive','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9jZHJvbS5wbAojIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9hQGFy dGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2lj YXMgUy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMg Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u LCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsKdXNl IHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7Cgoj IENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21p X2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAkd21p X2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKCXBy aW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJZXhp dCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdWWzFd OwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1bl9x dWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMg dGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBy dW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoKCSR3 cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CglteSAk b3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdl dF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQoL1xu LywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xpbmVz IDwgMikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5lcyk7 CgkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNo aWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15ICRp ID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlpZiAo JGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBsaXN0 CgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBAY29s dW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9ICQj Y29sdW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7CgkJ CQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxzZSB7 CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1',0); +UPDATE tmodule_inventory SET code = code || 'skal19ID0gJGNvbHVtblskal07CgkJ CX0KCQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEs IAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEgWE1M IHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlwdGlv biBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBYTUwg dGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVkYXRh IHsKCW15ICRtb2R1bGVfaXRlbSA9ICRfWzBdOwoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07Cglt eSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07CglteSBAZGF0YSA9IEB7JF9bM119OwoJbXkg JHJlc3VsdDsKCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCQoJCSRyZXN1bHQgPSAn JzsKCgkJIyBJdGVtCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkgewoJ CQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsKCQl9CgoJCSMgRGF0 YQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSkpIHsKCQkJJHJlc3VsdCAu PSAkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0gLiAnOyc7CgkJfQoKCQkjIERlc2NyaXB0aW9uCgkJ aWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufSkpIHsKCQkJJHJlc3Vs dCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGVzY3JpcHRpb259OwoJCX0KCgkJcHJpbnQgJHJlc3Vs dCAuICJcbiI7CQoJfQp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE1haW4KIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKCm15IEByZXN1bHQgPSBydW5fcXVlcnkoIlNFTEVDVCBOYW1lLCBEZXNjcmlwdGlvbiwgRHJp dmUgRlJPTSBXaW4zMl9DRFJPTURyaXZlIik7CnByaW50X21vZHVsZWRhdGEgKCJOYW1lIiwgIkRl c2NyaXB0aW9uIiwgIkRyaXZlIiwgXEByZXN1bHQpOwpleGl0IDA7Cg==' WHERE id_module_inventory = 12; + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (13,1,'Software','Installed software packages','','Name;Version;Description','',0); + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (14,9,'Software','Installed software packages','/usr/bin/perl','Name;Version;InstallDate;Size','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9zb2Z0d2FyZS5wbAoj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9h QGFydGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xv Z2ljYXMgUy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl CiMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9z dG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsK dXNlIHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7 CgojIENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIk d21pX2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAk d21pX2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsK CXByaW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJ ZXhpdCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdW WzFdOwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1 bl9xdWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVy bnMgdGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1 YiBydW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoK CSR3cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50Cglt eSAkb3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRh cmdldF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQo L1xuLywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xp bmVzIDwgMikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5l cyk7CgkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8s IHNoaWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15 ICRpID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlp ZiAoJGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBs aXN0CgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBA Y29sdW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9 ICQjY29sdW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7 CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxz ZSB7CgkJCQkkcmVzdWx0Wy',0); +UPDATE tmodule_inventory SET code = code || 'RpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gJGNvbHVtblskal07 CgkJCX0KCQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2Rh dGEsIAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEg WE1MIHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlw dGlvbiBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBY TUwgdGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVk YXRhIHsKCW15ICRtb2R1bGVfaXRlbSA9ICRfWzBdOwoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07 CglteSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07CglteSBAZGF0YSA9IEB7JF9bM119OwoJ bXkgJHJlc3VsdDsKCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCQoJCSRyZXN1bHQg PSAnJzsKCgkJIyBJdGVtCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkg ewoJCQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsKCQl9CgoJCSMg RGF0YQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSkpIHsKCQkJJHJlc3Vs dCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX07CgkJfQoKCQlwcmludCAkcmVzdWx0IC4gIlxu IjsJCgl9Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTWFpbgojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKbXkg QHJlc3VsdCA9IHJ1bl9xdWVyeSgiU0VMRUNUIE5hbWUsIFZlcnNpb24gRlJPTSBXaW4zMl9Qcm9k dWN0Iik7CnByaW50X21vZHVsZWRhdGEgKCJOYW1lIiwgIlZlcnNpb24iLCAiIiwgXEByZXN1bHQp OwpleGl0IDA7Cg==' WHERE id_module_inventory = 14; + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (15,9,'Patches','Installed patches','/usr/bin/perl','HotFixID;Description;FixComments;ServicePackInEffect','IyEvdXNyL2Jpbi9wZXJsDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBwYW5kb3JhX3BhdGNoLnBsDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBDb3B5cmlnaHQgKGMpIDIwMDggUmFtb24gTm92b2EsIHJub3ZvYUBhcnRpY2EuZXMNCiMgICAgICAgICAgIChjKSAyMDA4IEFydGljYSBTb2x1Y2lvbmVzIFRlY25vbG9naWNhcyBTLkwNCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcg0KIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLg0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KDQp1c2Ugc3RyaWN0Ow0KdXNlIHdhcm5pbmdzOw0KDQp1c2UgRmlsZTo6QmFzZW5hbWU7DQp1c2UgSFRNTDo6RW50aXRpZXMgKCk7DQoNCiMgQ2hlY2sgZm9yIHdtaWMNCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOw0KaWYgKHN5c3RlbSgiJHdtaV9jbGllbnQgPiAvZGV2L251bGwgMj4mMSIpICE9IDI1Nikgew0KCXByaW50ICJbZXJyb3JdICR3bWlfY2xpZW50IG5vdCBmb3VuZC5cbiI7DQoJZXhpdCAxOw0KfQ0KDQppZiAoJCNBUkdWICE9IDIpIHsNCglwcmludCAiVXNhZ2U6ICQwIDx0YXJnZXQgaXA+IDx1c2VybmFtZT4gPHBhc3N3b3JkPlxuIjsNCglleGl0IDE7DQp9DQoNCm15ICR0YXJnZXRfaXAgPSAkQVJHVlswXTsNCm15ICR1c2VybmFtZSA9ICRBUkdWWzFdOw0KbXkgJHBhc3N3b3JkID0gJEFSR1ZbMl07DQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIFNVQiBydW5fcXVlcnkgKCR3cWxfcXVlcnkpDQojIFJ1bnMgdGhlIGdpdmVuIFdRTCBxdWVyeSBhbmQgcmV0dXJucyB0aGUgcmVzdWx0IGFzIGFuIGFycmF5IG9mIGhhc2hlcy4NCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQpzdWIgcnVuX3F1ZXJ5IHsNCglteSAkd3FsX3F1ZXJ5ID0gJF9bMF07DQoJbXkgQHJlc3VsdCA9IHt9Ow0KDQoJJHdxbF9xdWVyeSA9fiAncy8iL1wnL2cnOw0KDQoJIyBSdW4gdGhlIERDT00vV01JIGNsaWVudA0KCW15ICRvdXRwdXQgPSBgJHdtaV9jbGllbnQgLVUgJyR1c2VybmFtZSclJyRwYXNzd29yZCcgLy8kdGFyZ2V0X2lwIFwiJHdxbF9xdWVyeVwiIDI+L2Rldi9udWxsYDsNCg0KCW15IEBsaW5lcyA9IHNwbGl0KC9cbi8sICRvdXRwdXQpOw0KCSMgSGVhZGVyLCBkZXNjcmlwdGlvbiwgcmVzdWx0cw0KCWlmICgkI2xpbmVzIDwgMikgew0KCQlleGl0IDE7DQoJfQ0KDQoJIyBEcm9wIHRoZSBoZWFkZXINCglzaGlmdCAoQGxpbmVzKTsNCgkNCgkjIEdldCBjb2x1bW4gbmFtZXMNCglteSBAY29sdW1uX25hbWVzID0gc3BsaXQoL1x8Lywgc2hpZnQgKEBsaW5lcykpOw0KDQoJIyBHZXQgcm93IGRhdGENCglteSAkaWR4ID0gMDsNCglmb3IgKG15ICRpID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgew0KDQoJCSMgQ2hlY2sgZm9yIGVycm9ycw0KCQlpZiAoJGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsNCgkJCWV4aXQgMTsNCgkJfQ0KDQoJCSMgQmxhY2sgbGlzdA0KCQlpZiAoJGxpbmVzWyRpXSA9fiBtL0ZpbGUgMS8pIHsNCgkJCW5leHQ7DQoJCX0NCg0KCQlteSBAY29sdW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7DQoJCWZvciAobXkgJGogPSAwOyAkaiA8PSAkI2NvbHVtbl9uYW1lczsgJGorKykgew0KCQkJaWYgKCEgZGVmaW5lZCgkY29sdW1uWyRqXSkpIHsNCgkJCQkkcmVzdWx0WyRpZ',0); +UPDATE tmodule_inventory SET code = code || 'HhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7DQoJCQl9DQoJCQllbHNlIHsNCgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gJGNvbHVtblskal07DQoJCQl9DQoJCX0NCgkJDQoJCSRpZHgrKzsNCgl9DQoJDQoJcmV0dXJuIEByZXN1bHQ7DQp9DQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIFNVQiBwcmludF9tb2R1bGVkYXRhICgkbW9kdWxlX2l0ZW0sICRtb2R1bGVfZGF0YSwgDQojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQ0KIyBQcmludHMgYSBtb2R1bGVkYXRhIFhNTCB0YWcuICRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhLCANCiMgJG1vZHVsZV9kZXNjcmlwdGlvbiBhbmQgJG1vZHVsZV9zZXJ2aWNlcGFjayBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSwgZGVzY3JpcHRpb24gYW5kIHNlcnZpY2VwYWNrDQojIFhNTCB0YWdzIHJlc3BlY3RpdmVseS4NCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQpzdWIgcHJpbnRfbW9kdWxlZGF0YSB7DQoJbXkgJG1vZHVsZV9pdGVtID0gJF9bMF07DQoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07DQoJbXkgJG1vZHVsZV9kZXNjcmlwdGlvbiA9ICRfWzJdOw0KCW15ICRtb2R1bGVfc2VydmljZXBhY2sgPSAkX1szXTsNCglteSBAZGF0YSA9IEB7JF9bNF19Ow0KCW15ICRyZXN1bHQ7DQoNCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgew0KCQkNCgkJJHJlc3VsdCA9ICcnOw0KDQoJCSMgSXRlbQ0KCQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfaXRlbX0pKSB7DQoJCQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsNCgkJfQ0KDQoJCSMgRGF0YQ0KCQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0pKSB7DQoJCQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSAuICc7JzsNCgkJfQ0KDQoJCSMgRGVzY3JpcHRpb24NCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufSkpIHsNCgkJCSRyZXN1bHQgLj0gJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufSAuICc7JzsNCgkJfQ0KDQoJCSMgU2VydmljZSBwYWNrDQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9zZXJ2aWNlcGFja30pKSB7DQoJCQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9zZXJ2aWNlcGFja307DQoJCX0NCg0KCQlwcmludCAkcmVzdWx0IC4gIlxuIjsJDQoJfQ0KfQ0KDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBNYWluDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KDQpteSBAcmVzdWx0ID0gcnVuX3F1ZXJ5KCJTRUxFQ1QgSG90Rml4SUQsIERlc2NyaXB0aW9uLCBGaXhDb21tZW50cywgU2VydmljZVBhY2tJbkVmZmVjdCBGUk9NIFdpbjMyX1F1aWNrRml4RW5naW5lZXJpbmciKTsNCnByaW50X21vZHVsZWRhdGEgKCJIb3RGaXhJRCIsICJEZXNjcmlwdGlvbiIsICJGaXhDb21tZW50cyIsICJTZXJ2aWNlUGFja0luRWZmZWN0IiwgXEByZXN1bHQpOw0KZXhpdCAwOw0K' WHERE id_module_inventory = 15; + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (16,1,'Init services','Services programmed to lauch in Unix','','Service','',0); + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (17,9,'Init services','Windows services','/usr/bin/perl','Name;PathName;State','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9zZXJ2aWNlcy5wbAoj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9h QGFydGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xv Z2ljYXMgUy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl CiMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9z dG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsK dXNlIHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7 CgojIENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIk d21pX2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAk d21pX2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsK CXByaW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJ ZXhpdCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdW WzFdOwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1 bl9xdWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVy bnMgdGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1 YiBydW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoK CSR3cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50Cglt eSAkb3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRh cmdldF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQo L1xuLywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xp bmVzIDwgMikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5l cyk7CgkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8s IHNoaWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15 ICRpID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlp ZiAoJGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBs aXN0CgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBA Y29sdW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9 ICQjY29sdW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7 CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxz ZSB7CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbH',0); +UPDATE tmodule_inventory SET code = code || 'Vtbl9uYW1lc1skal19ID0gJGNvbHVtblskal07 CgkJCX0KCQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2Rh dGEsIAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEg WE1MIHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlw dGlvbiBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBY TUwgdGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVk YXRhIHsKCW15ICRtb2R1bGVfaXRlbSA9ICRfWzBdOwoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07 CglteSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07CglteSBAZGF0YSA9IEB7JF9bM119OwoJ bXkgJHJlc3VsdDsKCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCQoJCSRyZXN1bHQg PSAnJzsKCgkJIyBJdGVtCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkg ewoJCQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsKCQl9CgoJCSMg RGF0YQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSkpIHsKCQkJJHJlc3Vs dCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0gLiAnOyc7CgkJfQoKCQkjIERlc2NyaXB0aW9u CgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufSkpIHsKCQkJJHJl c3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGVzY3JpcHRpb259OwoJCX0KCgkJcHJpbnQgJHJl c3VsdCAuICJcbiI7CQoJfQp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE1haW4KIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKCm15IEByZXN1bHQgPSBydW5fcXVlcnkoIlNFTEVDVCBOYW1lLCBQYXRoTmFtZSwgU3Rh dGUgRlJPTSBXaW4zMl9TZXJ2aWNlIik7CnByaW50X21vZHVsZWRhdGEgKCJOYW1lIiwgIlBhdGhO YW1lIiwgIlN0YXRlIiwgXEByZXN1bHQpOwpleGl0IDA7Cg==' WHERE id_module_inventory = 17; + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (18,1,'File system','UNIX filesystem mounted on system','','Device;Free size;Total size;Mount point','',0); +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (19,9,'File system','Disk drives','','Device;Total size;Free size;Mount point','',0); +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (20,1,'Process','Process running on system','','Process output from ps','',0); + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (21,9,'Process','Process running on system','/usr/bin/perl','Name;PathName;State','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9wcm9jZXNzZXMucGwK IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKIyBDb3B5cmlnaHQgKGMpIDIwMDggUmFtb24gTm92b2EsIHJub3Zv YUBhcnRpY2EuZXMKIyAgICAgICAgICAgKGMpIDIwMDggQXJ0aWNhIFNvbHVjaW9uZXMgVGVjbm9s b2dpY2FzIFMuTAojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vcgojIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2Fy ZQojIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJv c3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCnVzZSBzdHJpY3Q7 CnVzZSB3YXJuaW5nczsKCnVzZSBGaWxlOjpCYXNlbmFtZTsKdXNlIEhUTUw6OkVudGl0aWVzICgp OwoKIyBDaGVjayBmb3Igd21pYwpteSAkd21pX2NsaWVudCA9ICJ3bWljIjsKaWYgKHN5c3RlbSgi JHdtaV9jbGllbnQgPiAvZGV2L251bGwgMj4mMSIpICE9IDI1NikgewoJcHJpbnQgIltlcnJvcl0g JHdtaV9jbGllbnQgbm90IGZvdW5kLlxuIjsKCWV4aXQgMTsKfQoKaWYgKCQjQVJHViAhPSAyKSB7 CglwcmludCAiVXNhZ2U6ICQwIDx0YXJnZXQgaXA+IDx1c2VybmFtZT4gPHBhc3N3b3JkPlxuIjsK CWV4aXQgMTsKfQoKbXkgJHRhcmdldF9pcCA9ICRBUkdWWzBdOwpteSAkdXNlcm5hbWUgPSAkQVJH VlsxXTsKbXkgJHBhc3N3b3JkID0gJEFSR1ZbMl07CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFNVQiBy dW5fcXVlcnkgKCR3cWxfcXVlcnkpCiMgUnVucyB0aGUgZ2l2ZW4gV1FMIHF1ZXJ5IGFuZCByZXR1 cm5zIHRoZSByZXN1bHQgYXMgYW4gYXJyYXkgb2YgaGFzaGVzLgojIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpz dWIgcnVuX3F1ZXJ5IHsKCW15ICR3cWxfcXVlcnkgPSAkX1swXTsKCW15IEByZXN1bHQgPSB7fTsK Cgkkd3FsX3F1ZXJ5ID1+ICdzLyIvXCcvZyc7CgoJIyBSdW4gdGhlIERDT00vV01JIGNsaWVudAoJ bXkgJG91dHB1dCA9IGAkd21pX2NsaWVudCAtVSAnJHVzZXJuYW1lJyUnJHBhc3N3b3JkJyAvLyR0 YXJnZXRfaXAgXCIkd3FsX3F1ZXJ5XCIgMj4vZGV2L251bGxgOwoKCW15IEBsaW5lcyA9IHNwbGl0 KC9cbi8sICRvdXRwdXQpOwoJIyBIZWFkZXIsIGRlc2NyaXB0aW9uLCByZXN1bHRzCglpZiAoJCNs aW5lcyA8IDIpIHsKCQlleGl0IDE7Cgl9CgoJIyBEcm9wIHRoZSBoZWFkZXIKCXNoaWZ0IChAbGlu ZXMpOwoJCgkjIEdldCBjb2x1bW4gbmFtZXMKCW15IEBjb2x1bW5fbmFtZXMgPSBzcGxpdCgvXHwv LCBzaGlmdCAoQGxpbmVzKSk7CgoJIyBHZXQgcm93IGRhdGEKCW15ICRpZHggPSAwOwoJZm9yICht eSAkaSA9IDA7ICRpIDw9ICQjbGluZXM7ICRpKyspIHsKCgkJIyBDaGVjayBmb3IgZXJyb3JzCgkJ aWYgKCRsaW5lc1skaV0gPX4gbS9eRVJST1IvKSB7CgkJCWV4aXQgMTsKCQl9CgoJCSMgQmxhY2sg bGlzdAoJCWlmICgkbGluZXNbJGldID1+IG0vRmlsZSAxLykgewoJCQluZXh0OwoJCX0KCgkJbXkg QGNvbHVtbiA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOwoJCWZvciAobXkgJGogPSAwOyAkaiA8 PSAkI2NvbHVtbl9uYW1lczsgJGorKykgewoJCQlpZiAoISBkZWZpbmVkKCRjb2x1bW5bJGpdKSkg ewoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOwoJCQl9CgkJCWVs c2UgewoJCQkJJHJlc3VsdFskaWR4XS0+eyRj',0); +UPDATE tmodule_inventory SET code = code || 'b2x1bW5fbmFtZXNbJGpdfSA9ICRjb2x1bW5bJGpd OwoJCQl9CgkJfQoJCQoJCSRpZHgrKzsKCX0KCQoJcmV0dXJuIEByZXN1bHQ7Cn0KCiMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCiMgU1VCIHByaW50X21vZHVsZWRhdGEgKCRtb2R1bGVfaXRlbSwgJG1vZHVsZV9k YXRhLCAKIyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkKIyBQcmludHMgYSBtb2R1bGVkYXRh IFhNTCB0YWcuICRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhIGFuZAojICRtb2R1bGVfZGVzY3Jp cHRpb24gYXJlIHVzZWQgdG8gaW5kZXggdGhlIGl0ZW0sIGRhdGEgYW5kIGRlc2NyaXB0aW9uCiMg WE1MIHRhZ3MgcmVzcGVjdGl2ZWx5LgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcHJpbnRfbW9kdWxl ZGF0YSB7CglteSAkbW9kdWxlX2l0ZW0gPSAkX1swXTsKCW15ICRtb2R1bGVfZGF0YSA9ICRfWzFd OwoJbXkgJG1vZHVsZV9kZXNjcmlwdGlvbiA9ICRfWzJdOwoJbXkgQGRhdGEgPSBAeyRfWzNdfTsK CW15ICRyZXN1bHQ7CgoJZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsKCQkKCQkkcmVzdWx0 ID0gJyc7CgoJCSMgSXRlbQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSkp IHsKCQkJJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfaXRlbX0gLiAnOyc7CgkJfQoKCQkj IERhdGEKCQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0pKSB7CgkJCSRyZXN1 bHQgLj0gJGVsZW1lbnQtPnskbW9kdWxlX2RhdGF9IC4gJzsnOwoJCX0KCgkJIyBEZXNjcmlwdGlv bgoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kZXNjcmlwdGlvbn0pKSB7CgkJCSRy ZXN1bHQgLj0gJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufTsKCQl9CgoJCXByaW50ICRy ZXN1bHQgLiAiXG4iOwkKCX0KfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNYWluCiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCgpteSBAcmVzdWx0ID0gcnVuX3F1ZXJ5KCJTRUxFQ1QgTmFtZSwgUGF0aE5hbWUsIFN0 YXRlIEZST00gV2luMzJfU2VydmljZSIpOwpwcmludF9tb2R1bGVkYXRhICgiTmFtZSIsICJQYXRo TmFtZSIsICJTdGF0ZSIsIFxAcmVzdWx0KTsJCmV4aXQgMDsK' WHERE id_module_inventory = 21; + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (22,1,'Users','User list','','Username','',0); + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (23,9,'Users','User list','/usr/bin/perl','Name;FullName;Status','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV91c2Vycy5wbAojIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9hQGFy dGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2lj YXMgUy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMg Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u LCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsKdXNl IHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7Cgoj IENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21p X2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAkd21p X2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKCXBy aW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJZXhp dCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdWWzFd OwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1bl9x dWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMg dGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBy dW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoKCSR3 cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CglteSAk b3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdl dF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQoL1xu LywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xpbmVz IDwgMikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5lcyk7 CgkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNo aWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15ICRp ID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlpZiAo JGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBsaXN0 CgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBAY29s dW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9ICQj Y29sdW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7CgkJ CQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxzZSB7 CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19I',0); +UPDATE tmodule_inventory SET code = code || 'D0gJGNvbHVtblskal07CgkJ CX0KCQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEs IAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEgWE1M IHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlwdGlv biBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBYTUwg dGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVkYXRh IHsKCW15ICRtb2R1bGVfaXRlbSA9ICRfWzBdOwoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07Cglt eSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07CglteSBAZGF0YSA9IEB7JF9bM119OwoJbXkg JHJlc3VsdDsKCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCQoJCSRyZXN1bHQgPSAn JzsKCgkJIyBJdGVtCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkgewoJ CQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsKCQl9CgoJCSMgRGF0 YQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSkpIHsKCQkJJHJlc3VsdCAu PSAkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0gLiAnOyc7CgkJfQoKCQkjIERlc2NyaXB0aW9uCgkJ aWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufSkpIHsKCQkJJHJlc3Vs dCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGVzY3JpcHRpb259OwoJCX0KCgkJcHJpbnQgJHJlc3Vs dCAuICJcbiI7CQoJfQp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE1haW4KIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKCm15IEByZXN1bHQgPSBydW5fcXVlcnkoIlNFTEVDVCBOYW1lLCBGdWxsTmFtZSwgU3RhdHVz IEZST00gV2luMzJfVXNlckFjY291bnQiKTsKcHJpbnRfbW9kdWxlZGF0YSAoIk5hbWUiLCAiRnVs bE5hbWUiLCAiU3RhdHVzIiwgXEByZXN1bHQpOwpleGl0IDA7Cg==' WHERE id_module_inventory = 23; + +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (24,9,'Services','Services installed','','Name;Command;Status','',0); +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (25,15,'Software','Installed software applications','','Name;Version;Description','',0); +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (26,7,'Cisco Interface Remote Inventory','Remote inventory module to get all cards in a Cisco','/usr/bin/perl','Name;Card Name;ID/Serial','IyEvdXNyL2Jpbi9wZXJsDQojSW52ZW50YXJpbyBkZSBUYXJqZXRhcw0KI1Nsb3Q7UGFydE51bWJlcjtTZXJpYWxOdW1iZXINCg0KIyEvdXNyL2Jpbi9wZXJsIC13DQoNCm15ICR0YXJnZXRfaXAgPSAkQVJHVlswXTsNCm15ICRjb21tdW5pdHkgPSAkQVJHVlsxXTsNCg0KI34gRXhlY3V0ZSBjb21tYW5kDQokY29tbWFuZCA9IGBzbm1wd2FsayAtdjJjIC1jICRjb21tdW5pdHkgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjJgOw0KDQojfiBTcGxpdCB0aGUgb3V0cHV0IGluIGxpbmVzDQpAdGVtcCA9IHNwbGl0ICgiXG4iLCAkY29tbWFuZCk7DQpteSBAdmFsdWVzOw0KDQojfiBFYWNoIGxpbmUNCmZvcmVhY2ggKEB0ZW1wKSB7DQoJI34gc3dhcCBkb3RzIGJ5IHNwYWNlcw0KCSRfID1+IHMvXC4vIC9nOw0KCSN+IHNwbGl0IHRoZSBsaW5lIGJ5IHNwYWNlcw0KCUBsaW5lID0gc3BsaXQgKC8gLywgJF8pOw0KCSN+IHNhdmUgdGhlIDd0aCB2YWx1ZQ0KCXB1c2ggKEB2YWx1ZXMsICRsaW5lWzddKTsNCn0NCg0KZm9yZWFjaCAoQHZhbHVlcykgew0KCSN+IHByaW50ICIkXyI7DQoJJFBJRCA9ICcnOw0KCSRQSUQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjEzLiRfYDsNCgkkUElEIC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4xMS4kX2A7DQoJJFBJRCA9fiBzL1wifFxufFw8fFw+fFwmfFxbfFxdLy9nOw0KDQoJaWYgKCRQSUQgbmUgIiIgKSB7DQoJCSRyZXN1bHQgPSAnJzsNCgkJIyRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBzeXNOYW1lLjBgIC4gJzsnOw0KCQkkcmVzdWx0IC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS43LiRfYCAuICc7JzsNCgkJIyRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjIuJF9gIC4gJzsnOw0KCQkkcmVzdWx0IC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4xMy4kX2AgLiAnOyc7DQoJCSRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjExLiRfYDsNCgkJDQoJCSRyZXN1bHQgPX4gcy9cInxcbnxcPHxcPnxcJnxcW3xcXS8vZzsNCgkJcHJpbnQgJHJlc3VsdCAuICJcbiI7DQoJfQ0KfQ0KZXhpdCAwOw0K',0); +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (27,7,'Cisco Inventory','Get remote device information about the cisco device','/usr/bin/perl','IP;Hardware;SerialNumber;IOS','IyEvdXNyL2Jpbi9wZXJsDQoNCiNJbmZvcm1hY2lvbiBkZWwgRXF1aXBvDQojSVA7SGFyZHdhcmU7U2VyaWFsTnVtYmVyO0lPUw0KDQpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07DQpteSAkY29tbXVuaXR5ID0gJEFSR1ZbMV07DQoNCiRyZXN1bHQgPSAnJzsNCiMkcmVzdWx0IC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgc3lzTmFtZS4wYCAuICc7JzsNCiRyZXN1bHQgLj0gJHRhcmdldF9pcCAuICc7JzsNCiRlcnJvciA9ICcnOw0KJGVycm9yIC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4yLjEgfCBncmVwIGV4aXN0c2A7DQokc2VyaWFsID0gJyc7DQokc2VyaWFsIC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4xMS4xYDsNCiRzZXJpYWwgPX4gcy9cInxcbnxcPHxcPnxcJnxcW3xcXS8vZzsNCg0KaWYgKCRlcnJvciBlcSAiIiAmJiAkc2VyaWFsIG5lICIiKXsNCiAgICAkcmVzdWx0IC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4yLjFgIC4gJzsnOw0KICAgICRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjExLjFgIC4gJzsnOw0KDQp9IGVsc2Ugew0KICAgICRWU1MgPSAnJzsNCiAgICAkVlNTIC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4yLjEgfCBncmVwIFZpcnR1YWxgOw0KICAgIGlmICgkVlNTIGVxICIiKSB7DQogICAgICAgICRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjIuMTAwMWAgLiAnOyc7DQogICAgICAgICRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjExLjEwMDFgIC4gJzsnOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjIuMWAgLiAnOyc7DQogICAgICAgICRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjExLjJgIC4gJzsnOw0KICAgIH0NCn0NCg0KJHJlc3VsdCAuPSBgc25tcGdldCAtdjJjIC1jICRjb21tdW5pdHkgLU92cSAkdGFyZ2V0X2lwIHN5c0Rlc2NyLjAgfCBncmVwIElPU2A7DQokcmVzdWx0ID1+IHMvXCJ8XG58XDx8XD58XCZ8XFt8XF0vL2c7DQpwcmludCAkcmVzdWx0IC4gIlxuIjsNCmV4aXQgMDsNCg==',0); +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (28,1,'IP','IP address','','Interface;Address','',0); +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (29,1,'Routes','Routes table','','Destination;Gateway;Mask;Flags;Metric;Use;Interface','',0); +INSERT INTO tmodule_inventory (id_module_inventory, id_os, name, description, interpreter, data_format, code, block_mode) VALUES (30,7,'Cisco Configuration','This script will collect a remote CISCO configuration','/usr/bin/perl','Configuration dump','IyEvdXNyL2Jpbi9wZXJsIAojCiMgKGMpIEFydGljYSAyMDE0CiMgVGhpcyBpcyBhbiBFbnRlcnByaXNlIGludmVudG9yeSBzY3JpcHQgZm9yIFBhbmRvcmEgRk1TIDUKIyBUaGlzIHNjcmlwdCB3aWxsIGNvbGxlY3QgYSByZW1vdGUgQ0lTQ08gY29uZmlndXJhdGlvbgojIFJFTUVNQkVSIFRPIEFDVElWQVRFIElUIEFTIEJMT0NLIE1PREUgISEhCgp1c2Ugd2FybmluZ3M7CnVzZSBzdHJpY3Q7CnVzZSBOZXQ6OlRlbG5ldDsKCm15ICR0YXJnZXQgPSAiIjsKbXkgJGxvZ2luX3Bhc3MgPSAiIjsKbXkgJGVuYWJsZV9wYXNzID0gIiI7Cm15ICRvdXRwdXRfZmlsZSA9ICIvdG1wL2Npc2NvIi4kJDsKbXkgJFRJTUVPVVQ9NTsKCiMgTG9hZCBjb25maWcgZmlsZSBmcm9tIGNvbW1hbmQgbGluZQppZiAoJCNBUkdWIDwgMiAgKXsKICAgICAgICBwcmludCAiSSBuZWVkIHNldmVyYWwgcGFyYW1ldGVycyBpbiB0aGlzIGZvcm1hdDogXG5cbiI7CglwcmludCAiICAgICAgZ2V0X2NvbmZpZy5wbCA8aXBfYWRkcmVzcz4gPGxvZ2luX3Bhc3M+IDxlbmFibGVfcGFzcz4gXG5cbiI7CiAgICAgICAgZXhpdDsKfQoKJHRhcmdldCA9ICRBUkdWWzBdOwokbG9naW5fcGFzcyA9ICRBUkdWWzFdOwokZW5hYmxlX3Bhc3MgPSAkQVJHVlsyXTsKCm15ICR0ZWxuZXQgPSBuZXcgTmV0OjpUZWxuZXQgKCBUaW1lb3V0PT4kVElNRU9VVCwgRXJybW9kZT0+J3JldHVybicpOyAKJHRlbG5ldC0+b3BlbigkdGFyZ2V0KTsgCiR0ZWxuZXQtPndhaXRmb3IoJy9QYXNzd29yZDovaScpOyAKJHRlbG5ldC0+cHJpbnQoJGxvZ2luX3Bhc3MpOyAKCiR0ZWxuZXQtPndhaXRmb3IoJy9cPiQvaScpOyAKJHRlbG5ldC0+cHJpbnQoJ2VuJyk7CiR0ZWxuZXQtPndhaXRmb3IoJy9QYXNzd29yZDovaScpOwokdGVsbmV0LT5wcmludCgkZW5hYmxlX3Bhc3MpOwokdGVsbmV0LT53YWl0Zm9yKCcvXCMvJyk7CiR0ZWxuZXQtPmNtZF9yZW1vdmVfbW9kZSgxKTsKCiR0ZWxuZXQtPnByaW50KCdzaG93IHJ1bm5pbmctY29uZmlnJyk7CgpteSAkZmggPSAkdGVsbmV0LT5pbnB1dF9sb2coJG91dHB1dF9maWxlKTsKbXkgJG91dHB1dCA9IDE7Cgp3aGlsZSAoZGVmaW5lZCgkb3V0cHV0KSl7Cgkkb3V0cHV0ID0gJHRlbG5ldC0+d2FpdGZvcignL01vcmUvaScpOyAKCSR0ZWxuZXQtPnByaW50KCIiKTsgCn0KCm15ICRidWZmZXIgPSAiIjsKCm9wZW4gT1VURiwgJG91dHB1dF9maWxlOwp3aGlsZSAoPE9VVEY+KSB7CgkkXyA9fiBzL1x4MDgvL2c7CgkkXyA9fiBzL1wtXC1Nb3JlXC1cLVtcdFxzXSovL2c7CgkkXyA9fiBzL1w7Ly9nOwoJJGJ1ZmZlciA9ICRidWZmZXIgLiAkXzsKfQpjbG9zZSAoT1VURik7Cgp1bmxpbmsgKCRvdXRwdXRfZmlsZSk7CnByaW50ICRidWZmZXI7Cg==',1); + + +-- Update curr val of sequence +update_currval('tmodule_inventory', 'id_module_inventory'); + +EXECUTE IMMEDIATE 'ALTER TRIGGER tmodule_inventory_inc ENABLE'; + +COMMIT; +END;; + +-- PLSQL for update curr val of sequence +-- BEGIN +-- DECLARE key_max NUMBER := 0; +-- key_currval NUMBER := 0; +-- BEGIN +-- SELECT MAX(ID_SG) INTO key_max FROM tnetwork_component_group; +-- EXECUTE IMMEDIATE 'ALTER SEQUENCE TNETWORK_COMPONENT_GROUP_S INCREMENT BY ' || key_max; +-- SELECT TNETWORK_COMPONENT_GROUP_S.NEXTVAL INTO key_currval FROM dual; +-- EXECUTE IMMEDIATE 'ALTER SEQUENCE TNETWORK_COMPONENT_GROUP_S INCREMENT BY 1'; +-- END; +-- END;; + +-- +-- Dumping data for table `tlocal_component` +-- +BEGIN +LOCK TABLE tlocal_component IN EXCLUSIVE MODE; + +EXECUTE IMMEDIATE 'ALTER TRIGGER tlocal_component_inc DISABLE'; + +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (1,'Event 1000','module_begin\r\nmodule_name Event_1000-Citrix\r\nmodule_description\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source application\r\nmodule_eventtype\r\nmodule_eventcode 1000\r\nmodule_application\r\nmodule_end ','',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (2,'Event 1004','module_begin\r\nmodule_name Event_1004-Citrix\r\nmodule_description\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source application\r\nmodule_eventtype\r\nmodule_eventcode 1004\r\nmodule_application\r\nmodule_end ','',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (3,'Event 1202','module_begin\r\nmodule_name Event_1202-Citrix\r\nmodule_description\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source application\r\nmodule_eventtype\r\nmodule_eventcode 1202\r\nmodule_application\r\nmodule_end\r\nn ','',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (4,'Event 3621','module_begin\r\nmodule_name Event_3621\nr\nmodule_description Citrix cannot connect SQL server\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source application\r\nmodule_eventtype Error\r\nmodule_eventcode 3621\r\nmodule_application\r\nmodule_end ','Citrix cannot connect SQL server',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (5,'Event 9014','module_begin\r\nmodule_name Event_9014\nr\nmodule_description Invalid licence\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source system\r\nmodule_eventtype Error\r\nmodule_eventcode 9014\r\nmodule_application MetaFrame\r\nmodule_end ','Invalid licence',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (6,'Event 5774','module_begin\r\nmodule_name Event_5774\nr\nmodule_description Server goes to grace period (Not enough licences)\r\ndurante 96hr).\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source system\r\nmodule_eventtype Error\r\n\nmodule_eventcode 5774\r\nmodule_application MetaFrame\r\nmodule_end ','Server goes to grace period (Not enough licences)',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (7,'Event 1388','module_begin\r\nmodule_name Event_1388\nr\nmodule_description Citrix internal monitoring\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source application\r\nmodule_eventtype\r\nmodule_eventcode 1388\r\nmodule_application HCAService\r\nmodule_end ','Citrix internal monitoring',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (8,'Event 3961','module_begin\r\nmodule_name Event_3961\nr\nmodule_description The Data Collector is out of memory, and the Dynamic Store data might be out of sync. Please elect a new Data Collector and make sure you have enough memory on the new Data Collector\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source System\r\nmodule_eventtype\r\nmodule_eventcode 3961\r\nmodule_application\r\nmodule_end ','The Data Collector is out of memory, and the Dynamic Store data might be out of sync. Please elect a new Data Collector and make sure you have enough memory on the new Data Collector',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (9,'Serv_HCA','module_begin\r\nmodule_name Serv_HCA\r\nmodule_description\r\nmodule_type generic_proc\r\nmodule_service HCAService\r\nmodule_end ','',9,'',25,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (10,'Serv_CTXcpusvnc','module_begin\r\nmodule_name Serv_CTXcpusvnc\r\nmodule_description\r\nmodule_type generic_proc\r\nmodule_service CTXCpuusync\r\n\nmodule_end ','',9,'',25,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (11,'Serv_IMA','module_begin\r\nmodule_name Serv_IMA\r\n\nmodule_description\r\nmodule_type generic_proc\r\nmodule_service IMAService\r\nmodule_end ','',9,'',25,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (13,'Serv_CTXSMA','module_begin\r\nmodule_name Serv_CTXSMA\r\nmodule_description\r\nmodule_type generic_proc\r\nmodule_service Citrix SMA Service\r\nmodule_end','',9,'',25,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (14,'Citrix_Sessions','module_begin\r\nmodule_name Citrix_Sessions\r\nmodule_description Opened active sessions on server\r\nmodule_type generic_data\r\nmodule_exec query session | grep Active | wc -l\r\nmodule_end ','Opened active sessions on server',9,'',25,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (15,'Users_Connected','module_begin\r\nmodule_name Users_Connected\r\nmodule_description Users connected to this server\r\nmodule_type generic_data\r\nmodule_exec quser | grep Active | wc -l\r\nmodule_interval 2\r\nmodule_end\r\n ','Users connected to this server',9,'',25,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (16,'Busy XML Threads','module_begin\r\nmodule_name Busy XML Threads\r\nmodule_description Total threads in the manager who manage the sessions. If there are more than XX, service fails. NOTE: Run this module only in managers\r\nmodule_type generic_data\r\nmodule_exec Typeperf '\\MAQUINA\Citrix Metaframe Presentation Server\Number of busy XML threads' -sc 1\r\nmodule_end\r\n','Total threads in the manager who manage the sessions. If there are more than XX, service fails. NOTE: Run this module only in managers',9,'',25,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (17,'CPU Load','module_begin module_name CPU Load module_type generic_data module_wmiquery SELECT LoadPercentage FROM Win32_Processor module_wmicolumn LoadPercentage module_description CPU Load (%) module_min_warning 80 module_max_warning 90 module_min_critical 91 module_max_critical 100 module_end','CPU Load (using WMI)',9,'',11,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (18,'FreeMemory','# Free Memory module_begin module_name FreeMemory module_type generic_data module_freepercentmemory module_description Free memory (%). module_min_warning 21 module_max_warning 30 module_min_critical 0 module_max_critical 20 module_end','Free memory (%).',9,'',11,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (19,'Microsoft Antivirus','module_begin module_name Microsoft Antivirus module_type generic_proc module_service MsMpSvc module_description Check if microsoft antivirus/malware service is running module_end','Check if microsoft antivirus/malware service is running',9,'',11,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (21,'Microsoft Firewall','module_begin module_name Microsoft Firewall module_type generic_proc module_service MpsSvc module_description Microsoft windows firewall status. module_end','Microsoft windows firewall status.',9,'',11,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (22,'Kaspersky Antivirus','module_begin module_name Kaspersky Antivirus module_type generic_proc module_service AVP module_description Kaspersky Antivirus module_end','Checks Karspersky Antivirus service status',9,'',11,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (23,'CPU Free','module_begin module_name CPU Free module_type generic_data module_exec echo $(( 100-vmstat 1 2 | tail -1 | awk '{ print $15 }')) module_max 100 module_min 0 module_description Percentage CPU Free module_end','Percentage of free CPU',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (24,'Load Average','module_begin module_name Load Average module_type generic_data module_exec uptime | awk -F "," '{print $3}' | awk '{print $3}' | tr ­d "\n" module_description Average load last minute module_end ','Load average for last minute',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (25,'Memory Free','module_begin module_name Memory Free module_type generic_data module_freepercentmemory module_description Percentage Mem Free module_end ','Percentage of free memory',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (26,'Disk Free','module_begin module_name Disk Free module_type generic_data module_freepercentdisk / module_description Percentage Free Disk module_end ','Percentage of free disk',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (27,'SSH Status','module_begin module_name SSH Status module_type generic_proc module_exec ps -Af | grep sshd | grep -v "grep" | wc -l module_description Check ssh service module_end','Monitors SSH server status',1,'',43,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (28,'Free i-nodes','module_begin module_name Free i-nodes module_type generic_data module_exec df -i | grep -E "/$" | tail -1 | awk '{print 100-(($3/$2)*100)}' module_max 100 module_min 0 module_description Percentage Free i-nodes module_end ','Percentage of free i-nodes',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (29,'FreeDiskC','module_begin module_name FreeDiskC module_type generic_data module_freepercentdisk C: module_description Free space on drive C: (%) module_min_warning 31 module_max_warning 40 module_min_critical 0 module_max_critical 30 module_end ','Free space on disk C: (%)',9,'',11,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (30,'Windows_Update_LastRun','module_begin module_name Windows_Update_LastRun module_type generic_data_string module_exec getreg LM "SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" SetupWizardLaunchTime module_description Last date and time user launch microsoft Windows update module_end','Last date and time user launch microsoft Windows update',9,'',11,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (31,'cpu_user','module_begin module_name cpu_user module_type generic_data module_interval 1 module_exec vmstat -n0 1 2 | tail -1 | awk '{ print $15 }' module_max 100 module_min 0 module_description User CPU Usage (%) module_end','User CPU Usage (%)',4,'',47,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (32,'cpu_system','module_begin module_name cpu_system module_type generic_data module_interval 1 module_exec vmstat -n0 1 2 | tail -1 | awk '{ print $16 }' module_max 100 module_min 0 module_description System CPU Usage (%) module_end','System CPU Usage (%)',4,'',47,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (33,'Load Average','module_begin module_name Load Average module_type generic_data module_exec uptime | cut -d "," -f 4 | cut -d ":" -f 2 | sed "s/ //g" module_description Average process in CPU (Last minute) module_end ','Average process in CPU (Last minute)',4,'',47,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (34,'disk_root_free','module_begin module_name disk_root_free module_type generic_data module_exec df -kh / | tail -1 | awk '{ print 100-$5 }' module_max 100 module_min 0 module_description Free disk Percentage of root partition module_end','Free disk Percentage of root partition',4,'',47,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (35,'memfree','module_begin module_name memfree module_type generic_data module_exec vmstat -H 1 2 | tail -1 | awk '{print $5}' module_description Unused RAM memory module_end ','Free memory on system',4,'',47,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (36,'sshDaemon','module_begin module_name sshDaemon module_type generic_proc module_exec ps -Af | grep sshd | grep -v "grep" | wc -l | sed "s/ //g" module_end ','Check if SSH daemon is running',4,'',47,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (37,'cpu_user','module_begin module_name cpu_user module_type generic_data module_interval 1 module_exec sar 1 2 | tail -1 | awk '{ print $2 }' module_max 100 module_min 0 module_description User CPU Usage (%) module_min_warning 70 module_max_warning 90 module_min_critical 91 module_max_critical 100 module_end','User CPU Usage (%)',8,'',48,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (38,'Load Average','module_begin module_name Load Average module_type generic_data module_exec uptime | sed 's/.*load averages: //'|awk '{print $1}' module_description Average process in CPU (Last minute) module_end ','Average process in CPU (Last minute)',8,'',48,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (39,'Cache mem free','module_begin module_name Cache mem free module_type generic_data module_exec vm_stat | grep 'Pages free'| awk '{print $3/256}' module_description Free cache memory in MB module_min_warning 500 module_max_warning 600 module_min_critical 100 module_max_critical 499 module_end ','Free cache memory in MB',8,'',48,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (40,'Free disk Percentage of root partition','module_begin module_name disk_root_free module_type generic_data module_exec df -kh / | tail -1 | awk '{ print 100-$5 }' module_max 100 module_min 0 module_description Free disk Percentage of root partition module_min_warning 70 module_max_warning 90 module_min_critical 91 module_max_critical 100 module_end','Free disk Percentage of root partition',8,'',48,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (41,'disk_usage_/','module_begin module_name disk_usage_/ module_type generic_data module_exec df -P | grep -e "/$" | awk '{print $5}' | tr -d % module_description Disk usage on / (%) module_end','Disk usage on / (%)',5,'',44,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (42,'Swap_Free','module_begin module_name Swap_Free module_type generic_data module_exec /usr/sbin/swapinfo -t | grep memory | tr -d "%" | awk '{ print 100-$5 }' module_description Unused swap memory module_end ','Unused swap memory',5,'',44,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (43,'RAM_Free','module_begin module_name RAM_Free module_type generic_data module_exec /usr/sbin/swapinfo -t | grep memory | awk '{print $4}' module_description Unused RAM memory module_end ','Unused RAM memory',5,'',44,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (44,'CPU_User','module_begin module_name CPU_User module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $16 }' module_description % of USER CPU module_end','% of USER CPU',5,'',44,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (45,'CPU_System','module_begin module_name CPU_System module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $17 }' module_description % of system CPU module_end ','% of system CPU',5,'',44,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (46,'disk_root_free','module_begin module_name disk_root_free module_type generic_data module_exec df -k / | tail -1 | tr -d "%" | awk '{ print 100-$5 }' module_max 100 module_min 0 module_description Free disk Percentage of root partition module_end','Free disk Percentage of root partition',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (47,'Swap_Free','module_begin module_name Swap_Free module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $4 }' module_description Unused swap memory module_end','Unused swap memory',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (48,'RAM_Free','module_begin module_name RAM_Free module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $5 }' module_description Unused RAM memory module_end','Unused RAM memory',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (49,'CPU_System','module_begin module_name CPU_System module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $21 }' module_description % of system CPU module_end','% of system CPU',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (50,'Disk_Seek_Operations','module_begin module_name Disk_Seek_Operations module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $14 }' module_description Disk Seek operations module_end','Disk Seek operations',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (51,'Pandora_Agent_RAM','module_begin module_name Pandora_Agent_RAM module_type generic_data module_exec ps -Afly | grep perl | grep -v grep | awk '{ print $9 }' module_description Return size in KB of memory used by process Pandora module_end ','Return size in KB of memory used by process Pandora',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (52,'InetdDaemon','module_begin module_name InetdDaemon module_type generic_proc module_exec ps -Af | grep inetd | grep -v "grep" | wc -l | awk '{ print $1 }' module_end','Check inetd daemon running',2,'',45,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (53,'Pandora_Agent_RAM','module_begin module_name Pandora_Agent_RAM module_type generic_data module_exec ps axu | grep perl | grep -v grep | awk '{ print $4 }' | tr "," "." module_end ','Return RAM used by pandora fms agent.',3,'',46,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (54,'InetdDaemon','module_begin module_name InetdDaemon module_type generic_proc module_exec ps -Af | grep inetd | grep -v "grep" | wc -l | awk '{ print $1 }' module_end ','Check inetddaemon running in system',3,'',46,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (55,'disk_root_free','module_begin module_name disk_root_free module_type generic_data module_exec df -k / | tail -1 | awk '{ print 100-$4 }' module_max 100 module_min 0 module_description Free disk Percentage of root partition module_end','Free disk Percentage of root partition',3,'',46,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (56,'OpenedFiles ','module_begin module_name OpenedFiles module_type generic_data module_exec lsof | wc -l module_description Total files opened in system module_end ','Total files opened in system ',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (57,'Zombie processes','module_begin module_name Zombie processes module_type generic_data module_exec ps ­eos | grep Z | wc ­l | tr ­d “\n” module_description Number of zombie processes module_end ','Number of zombie processes ',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tlocal_component (id, name, data, description, id_os, os_version, id_network_component_group, type, max, min, module_interval, id_module_group, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, post_process, unit, wizard_level, macros, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, tags, disabled_types_event, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (58,'Disk_IO_Wait','module_begin module_name Disk_IO_Wait module_type generic_data module_exec top -n 3 -c | grep "Cpu" | awk '{ print $6 }' | grep -o "[0-9]*" | tail -1 module_description Simple approach to IO/Wait monitoring. module_end ','Simple approach to IO/Wait monitoring. ',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); + +-- Update curr val of sequence +update_currval('tlocal_component', 'id'); + +EXECUTE IMMEDIATE 'ALTER TRIGGER tlocal_component_inc ENABLE'; + +COMMIT; +END;; + + +-- +-- Dumping data for table `tskin` +-- +BEGIN +LOCK TABLE tskin IN EXCLUSIVE MODE; + +EXECUTE IMMEDIATE 'ALTER TRIGGER tskin_inc DISABLE'; + +INSERT INTO tskin VALUES (1, 'skin default', 'skin_default', 'Default skin for Pandora FMS web console', 1); +INSERT INTO tskin VALUES (2,'Legacy', 'legacy', 'Skin of the visual style of Pandora FMS 4.x and previous versions', 1); + +-- Update curr val of sequence +update_currval('tskin', 'id'); + +EXECUTE IMMEDIATE 'ALTER TRIGGER tskin_inc ENABLE'; + +COMMIT; +END;; + +--- +--- Dumping data for table `tcollection` +--- +BEGIN +LOCK TABLE tcollection IN EXCLUSIVE MODE; + +EXECUTE IMMEDIATE 'ALTER TRIGGER tcollection_inc DISABLE'; + +INSERT INTO tcollection VALUES (1,'Apache Enterprise Plugin','apache_plugin',0,'Apache Enterprise Plugin to monitor Apache web server using a Perl script.',0); + +-- Update curr val of sequence +update_currval('tcollection', 'id'); + +EXECUTE IMMEDIATE 'ALTER TRIGGER tcollection_inc ENABLE'; + +COMMIT; +END;; + +--- Example policies +BEGIN +LOCK TABLE tpolicies IN EXCLUSIVE MODE; + +EXECUTE IMMEDIATE 'ALTER TRIGGER tpolicies_inc DISABLE'; + +INSERT INTO tpolicies VALUES (1,'Basic Web Checks','Basic checks to monitoring webs',13,0); +INSERT INTO tpolicies VALUES (2,'Basic Windows Local Monitoring','Basic checks to monitoring Windows Systems',2,0); +INSERT INTO tpolicies VALUES (3,'Basic Centos/RedHat Local Monitoring','Basic local checks to monitoring Centos/RedHat systems',2,0); +INSERT INTO tpolicies VALUES (4,'Basic SuSe Local Monitoring','Basic local checks to monitoring SuSe systems',2,0); +INSERT INTO tpolicies VALUES (5,'Basic Debian/Ubuntu Local Monitoring','Basic local checks to monitoring Debian/Ubuntu systems',2,0); +INSERT INTO tpolicies VALUES (6,'Basic AIX Local Monitoring','Basic local checks to monitoring AIX systems',2,0); +INSERT INTO tpolicies VALUES (7,'Basic HP-UX Local Monitoring','Basic local checks to monitoring HP/UX systems',2,0); +INSERT INTO tpolicies VALUES (8,'Basic Solaris Local Monitoring','Basic local checks to monitoring Solaris systems',2,0); +INSERT INTO tpolicies VALUES (9,'Basic Remote Checks','Basic Remote Checks (ping, latency, ports..)',2,0); + +-- Update curr val of sequence +update_currval('tpolicies', 'id'); + +EXECUTE IMMEDIATE 'ALTER TRIGGER tpolicies_inc ENABLE'; + +COMMIT; +END;; + +BEGIN +LOCK TABLE tpolicy_modules IN EXCLUSIVE MODE; + +EXECUTE IMMEDIATE 'ALTER TRIGGER tpolicy_modules_inc DISABLE'; + + +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (1, 1,'',9,'','Check 80 port','',0,0,300,80,'','','public','',1,1,2,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'',NULL,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (2, 1,'',9,'','Check 443 port','',0,0,300,80,'','','public','',1,1,2,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'',NULL,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (3, 1,'',30,'','Check Web Latency','',0,0,0,0,'','','public','',1,1,7,0,0,'Pandora FMS 3.0 / Webcheck','1','task_begin get http://www.google.com check_string iGoogle task_end',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'',NULL,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (4, 1,'',31,'','Check Web Content','',0,0,0,0,'','','public','',1,1,7,0,0,'Pandora FMS 3.0 / Webcheck','1','task_begin get http://www.google.com check_string iGoogle task_end',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'',NULL,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (5, 2,'module_begin module_name WMI Service module_type generic_proc module_service winmgmt module_description WMI Service enabled module_end ',2,'','WMI Service','',0,0,1,0,'','','','',3,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (6, 2,'module_begin module_name Account deleted module_type async_string module_logevent module_source Security module_eventcode 4726 module_description Account deleted module_end ',23,'','Account deleted','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (7, 8,'module_begin module_name CPU % module_type generic_data module_exec vmstat 1 1 | tail -1| awk '{print (100-$NF)}' module_description CPU usage % module_unit % module_end',1,'','CPU %','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (8, 8,'module_begin module_name CPU User module_type generic_data module_exec vmstat 1 1 | tail -1| awk '{print $(NF-2)}' module_description CPU user usage % module_unit % module_end ',1,'','CPU User','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (9, 8,'module_begin module_name Load Average module_type generic_data module_exec uptime | awk '{print $(NF-2)}' | tr -d ',' module_description Load average module_end',1,'','Load Average','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (10, 8,'module_begin module_name Memory Free % module_type generic_data module_freepercentmemory module_description Percentage Mem Free module_end ',1,'','Memory Free %','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,8.00,15.00,'0',0.00,7.00,'0',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (11, 8,'module_begin module_name Total processes module_type generic_data module_exec ps -A | wc -l | awk '{print $1}' module_description Total processes module_end ',1,'','Total processes','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (12, 8,'module_begin module_name Uptime module_type generic_data_string module_exec uptime |sed s/us\.*$//g | sed s/,\.*$//g module_description Host Up time module_end ',1,'','Uptime','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (13, 8,'module_begin module_name Swap Free % module_type generic_data module_exec swap -l |tail -1 | awk '{print $NF / $(NF-1) * 100}' module_unit % module_description Swap memory available in % module_end ',1,'','Swap Free %','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (14, 8,'module_begin module_name Service sshd status module_type generic_proc module_exec netstat -anu | grep LISTEN | grep sshd | wc -l | awk '{print $1}' module_end',2,'','Service sshd status','',0,0,1,0,'','','','',3,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (15, 9,'',6,'','Host Alive','',0,0,300,0,'','','','',2,1,2,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (16, 9,'',9,'','Check HTTP Server','',0,0,300,80,'','','','',3,1,2,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (17, 9,'',9,'','Check SSH Server','',0,0,300,22,'','','','',2,1,2,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (18, 9,'',7,'','Host Latency','',0,0,300,0,'','','','',2,1,2,0,0,'','','',0,0.000000000000000,0,0,0,'',1,80.00,149.00,'',150.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (19, 2,'module_begin module_name Free percent disk C: module_type generic_data module_freepercentdisk C: module_end ',1,'','Free percent disk C:','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (20, 2,'module_begin module_name Memory Free % module_type generic_data module_freepercentmemory module_description Percentage Mem Free module_end ',1,'','Memory Free %','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,8.00,15.00,'0',0.00,7.00,'0',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (21, 2,'module_begin module_name CPU % module_type generic_data module_cpuusage all module_unit % module_end ',1,'','CPU %','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,80.00,90.00,'',91.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (22, 2,'module_begin module_name Processor User Time % module_type generic_data module_perfcounter \Processor Information(_Total)\% User Time module_cooked 1 module_description Processor_User_Time (%) module_end ',1,'','Processor User Time %','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.001000000000000,0,0,0,'',1,75.00,84.00,'',85.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (23, 2,'module_begin module_name Total processes module_type generic_data module_exec tasklist | wc -l | gawk "{print $1}" module_end ',1,'','Total processes','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (24, 2,'module_begin module_name Load Average module_type generic_data module_perfcounter \System(_Total)\Processor Queue Length module_end ',1,'','Load Average','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (25, 2,'module_begin module_name Uptime module_type generic_data_string module_exec net statistics server | grep since | gawk "{print \"Up since \"$3\" \"$4\" \"$5}" module_end ',1,'','Uptime','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (26, 7,'module_begin module_name Memory Free % module_type generic_data module_exec echo "" > /tmp/hpvm_toptest; top -d 1 -f /tmp/hpvm_toptest 2>/dev/null 1>/dev/null; cat /tmp/hpvm_toptest | grep -i Memory | head -1 | awk '{print $8/($2+$5) * 100}' module_end ',1,'','Memory Free %','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (27, 7,'module_begin module_name CPU % module_type generic_data module_cpuusage all module_unit % module_end ',1,'','CPU %','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (28, 7,'module_begin module_name CPU User module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $(16) }' module_description % of User CPU module_unit % module_end ',1,'','CPU User','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (29, 7,'module_begin module_name Total processes module_type generic_data module_exec echo $(((ps -e | wc -l)-1)) | tr -d “\n” module_description Total processes module_end ',1,'','Total processes','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (30, 7,'module_begin module_name Zombie processes module_type generic_data module_exec ps -­elf | awk '$2~/'Z'/{print $2}' | wc -l | tr -d "\n" module_description Zombie processes module_end ',1,'','Zombie processes','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (31, 7,'module_begin module_name Service sshd status module_type generic_proc module_exec ps -ef | grep -v grep | grep "/opt/ssh/sbin/sshd" | wc -l module_description SSH running module_end ',2,'','Service sshd status','',0,0,1,0,'','','','',3,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (32, 6,'module_begin module_name CPU % module_type generic_data module_exec sar 1 | tail -1 | awk '{print 100 - $5}' module_description CPU usage in % module_unit % module_end',1,'','CPU %','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (33, 6,'module_begin module_name Memory Free % module_type generic_data module_exec svmon -G|grep memory | awk '{print (1- $3/$2 )*100}' module_description Percentage Mem Free module_end ',1,'','Memory Free %','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (34, 6,'module_begin module_name CPU User module_type generic_data module_exec sar 1 | tail -1 | awk '{print $2}' module_description CPU usage in % module_unit % module_end',1,'','CPU User','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (35, 6,'module_begin module_name Load Average module_type generic_data module_exec uptime | awk '{print $(NF-2)*1}' module_description Average process in CPU (Last minute) module_end',1,'','Load Average','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (36, 6,'module_begin module_name Uptime module_type generic_data_string module_exec uptime |sed "s/us\.*$//g" | sed "s/,\.*$//g" module_description Host Up time module_end ',1,'','Uptime','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (37, 6,'module_begin module_name Pagination use module_type generic_data module_exec lsps -s | tail -1 | awk '{print $2+0}' module_end',1,'','Pagination use','',0,0,1,0,'','','','',1,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (38, 6,'module_begin module_name Service sshd status module_type generic_proc module_exec lssrc -a | grep ssh | grep active module_end',2,'','Service sshd status','',0,0,1,0,'','','','',3,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (39, 4,'module_begin module_name Blocks in module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $9}' module_description Blocks in. i.e blocks received from device module_end',1,'','Blocks in','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (40, 4,'module_begin module_name Blocks out module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $(10)}' module_description Blocks out. i.e blocks sent from device module_end',1,'','Blocks out','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (41, 4,'module_begin module_name CPU % module_type generic_data module_cpuusage all module_unit % module_end',1,'','CPU %','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (42, 4,'module_begin module_name Memory Free % module_type generic_data module_exec free | grep -i mem | awk '{print ($4+$NF)/$2 * 100}' module_description Percentage Mem Free module_end',1,'','Memory Free %','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (43, 4,'module_begin module_name I/O Lock module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $(16)}' module_description I/O Wait Disk module_end',1,'','I/O Lock','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (44, 4,'module_begin module_name Total processes module_type generic_data module_exec ps ax | tail -n +2 | wc -l module_description Total processes module_end',1,'','Total processes','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (45, 4,'module_begin module_name Load Average module_type generic_data module_exec uptime | awk '{print $(NF-2)*1}' module_description Average process in CPU (Last minute) module_end',1,'','Load Average','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (46, 4,'module_begin module_name Service sshd status module_type generic_proc module_exec rcsshd status | grep running | wc -l module_end',2,'','Service sshd status','',0,0,1,0,'','','','',3,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (47, 7,'module_begin module_name Load Average module_type generic_data module_exec uptime | awk '{print $(NF-2)}' | tr -d ',' module_description System load average module_end ',1,'','Load Average','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (48, 7,'module_begin module_name Uptime module_type generic_data_string module_exec uptime |sed s/us\.*$//g | sed s/,\.*$//g module_description Host Up time module_end ',3,'','Uptime','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (49, 4,'module_begin module_name Uptime module_type generic_data_string module_exec uptime |sed s/us\.*$//g | sed s/,\.*$//g module_description Host Up time module_end',3,'','Uptime','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (50, 5,'module_begin module_name Blocks in module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $9}' module_description Blocks in. i.e blocks received from device module_end ',1,'','Blocks in','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (51, 5,'module_begin module_name Blocks out module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $(10)}' module_description Blocks out. i.e blocks sent from device module_end',1,'','Blocks out','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (52, 5,'module_begin module_name CPU % module_type generic_data module_cpuusage all module_unit % module_end',1,'','CPU %','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (53, 5,'module_begin module_name Memory Free % module_type generic_data module_exec free | grep -i mem | awk '{print ($4+$NF)/$2 * 100}' module_description Percentage Mem Free module_unit % module_end',1,'','Memory Free %','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (54, 5,'module_begin module_name I/O Lock module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $(16)}' module_description I/O Wait Disk module_end',1,'','I/O Lock','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (55, 5,'module_begin module_name Total processes module_type generic_data module_exec ps ax | tail -n +2 | wc -l module_description Total processes module_end',1,'','Total processes','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (56, 5,'module_begin module_name Uptime module_type generic_data_string module_exec uptime |sed s/us\.*$//g | sed s/,\.*$//g module_description Host Up time module_end',3,'','Uptime','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (57, 5,'module_begin module_name Load Average module_type generic_data module_exec uptime | awk '{print $(NF-2)*1}' module_description Average process in CPU (Last minute) module_end',1,'','Load Average','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (58, 5,'module_begin module_name Service sshd status module_type generic_proc module_exec netstat -lptn | grep sshd | wc -l module_end ',2,'','Service sshd status','',0,0,1,0,'','','','',3,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (59, 3,'module_begin module_name Blocks in module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $9}' module_description Blocks in. i.e blocks received from device module_end',1,'','Blocks in','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (60, 3,'module_begin module_name Blocks out module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $(10)}' module_description Blocks out. i.e blocks sent from device module_end',1,'','Blocks out','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (61, 3,'module_begin module_name CPU % module_type generic_data module_cpuusage all module_unit % module_end',1,'','CPU %','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (62, 3,'module_begin module_name Memory Free % module_type generic_data module_exec free | grep -i mem | awk '{print ($4+$NF)/$2 * 100}' module_description Percentage Mem Free module_unit % module_end',1,'','Memory Free %','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (63, 3,'module_begin module_name I/O Lock module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $(16)}' module_description I/O Wait Disk module_end',1,'','I/O Lock','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (64, 3,'module_begin module_name Total processes module_type generic_data module_exec ps ax | tail -n +2 | wc -l module_description Total processes module_end',1,'','Total processes','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (65, 3,'module_begin module_name Uptime module_type generic_data_string module_exec uptime |sed s/us\.*$//g | sed s/,\.*$//g module_description Host Up time module_end',3,'','Uptime','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (66, 3,'module_begin module_name Load Average module_type generic_data module_exec uptime | awk '{print $(NF-2)*1}' module_description Average process in CPU (Last minute) module_end',1,'','Load Average','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO tpolicy_modules (id, id_policy, configuration_data, id_tipo_modulo, description, name, unit, max, min, module_interval, tcp_port, tcp_send, tcp_rcv, snmp_community, snmp_oid, id_module_group, flag, id_module, disabled, id_export, plugin_user, plugin_pass, plugin_parameter, id_plugin, post_process, prediction_module, max_timeout, max_retries, custom_id, history_data, min_warning, max_warning, str_warning, min_critical, max_critical, str_critical, min_ff_event, custom_string_1, custom_string_2, custom_string_3, custom_integer_1, custom_integer_2, pending_delete, critical_instructions, warning_instructions, unknown_instructions, critical_inverse, warning_inverse, id_category, module_ff_interval, quiet, cron_interval, macros, disabled_types_event, module_macros, min_ff_event_normal, min_ff_event_warning, min_ff_event_critical, each_ff, ff_timeout, dynamic_interval, dynamic_max, dynamic_min, prediction_sample_window, prediction_samples, prediction_threshold) VALUES (67, 3,'module_begin module_name Service sshd status module_type generic_proc module_exec netstat -lptn | grep sshd | wc -l module_end',2,'','Service sshd status','',0,0,1,0,'','','','',3,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); + +-- Update curr val of sequence +update_currval('tpolicy_modules', 'id'); + +EXECUTE IMMEDIATE 'ALTER TRIGGER tpolicy_modules_inc ENABLE'; + +COMMIT; +END;; + +BEGIN +LOCK TABLE tpolicy_alerts IN EXCLUSIVE MODE; + +EXECUTE IMMEDIATE 'ALTER TRIGGER tpolicy_alerts_inc DISABLE'; + +INSERT INTO tpolicy_alerts VALUES (1,1,2,1,'',0,0,0); +INSERT INTO tpolicy_alerts VALUES (2,1,1,1,'',0,0,0); +INSERT INTO tpolicy_alerts VALUES (3,1,4,1,'',0,0,0); + +-- Update curr val of sequence +update_currval('tpolicy_alerts', 'id'); + +EXECUTE IMMEDIATE 'ALTER TRIGGER tpolicy_alerts_inc ENABLE'; + +COMMIT; +END;; + +-- +-- Dumping data for table `tprofile_view` +-- +BEGIN +LOCK TABLE tpolicy_alerts IN EXCLUSIVE MODE; + +EXECUTE IMMEDIATE 'ALTER TRIGGER tprofile_view_inc DISABLE'; + +INSERT INTO tprofile_view (id, id_profile, sec, sec2, sec3) VALUES (1, 5, '*', '*', '*'); + +-- Update curr val of sequence +update_currval('tprofile_view', 'id'); + +EXECUTE IMMEDIATE 'ALTER TRIGGER tprofile_view_inc ENABLE'; + +COMMIT; +END;; \ No newline at end of file diff --git a/pandora_console/pandoradb.data.postgreSQL.sql b/pandora_console/pandoradb.data.postgreSQL.sql index 87f17d9608..1663103460 100644 --- a/pandora_console/pandoradb.data.postgreSQL.sql +++ b/pandora_console/pandoradb.data.postgreSQL.sql @@ -1035,3 +1035,134 @@ INSERT INTO "ttag" VALUES (1,'network','Network equipment','http://artica.e INSERT INTO "tevent_response" VALUES (1,'Ping to host','Ping to the agent host','ping -c 5 _agent_address_','command',0,620,500,0,''),(2,'SSH to host','Connect via SSH to the agent','http://192.168.70.164:8022/anyterm.html?param=_User_@_agent_address_','url',0,800,450,0,'User'),(3,'Create incident from event','Create a incident from the event with the standard incidents system of Pandora FMS','index.php?sec=workspace&sec2=operation/incidents/incident_detail&insert_form&from_event=_event_id_','url',0,0,0,1,''),(4,'Create Integria IMS incident from event','Create a incident from the event with integria incidents system of Pandora FMS. Is necessary to enable and configure the Integria incidents in Pandora FMS setup.','index.php?sec=workspace&sec2=operation/integria_incidents/incident&tab=editor&from_event=_event_id_','url',0,0,0,1,''),(5,'Restart agent','Restart the agent with using UDP protocol. To use this response is necessary to have installed Pandora FMS server and console in the same machine.','/usr/share/pandora_server/util/udp_client.pl _agent_address_ 41122 "REFRESH AGENT"','command',0,620,500,0,''); INSERT INTO "tupdate_settings" VALUES ('current_update', '412'), ('customer_key', 'PANDORA-FREE'), ('updating_binary_path', 'Path where the updated binary files will be stored'), ('updating_code_path', 'Path where the updated code is stored'), ('dbname', ''), ('dbhost', ''), ('dbpass', ''), ('dbuser', ''), ('dbport', ''), ('proxy', ''), ('proxy_port', ''), ('proxy_user', ''), ('proxy_pass', ''); + +INSERT INTO "tmodule" VALUES (7, 'Web module'); + +INSERT INTO "ttipo_modulo" VALUES +(30,'web_data',9,'Remote HTTP module to check latency','mod_web_data.png'), +(31,'web_proc',9,'Remote HTTP module to check server response','mod_web_proc.png'); + +INSERT INTO "tmodule_inventory" VALUES (1,1,'CPU','CPU','/usr/bin/perl','Model;Company;Speed','IyEvdXNyL2Jpbi9wZXJsDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBwYW5kb3JhX2NwdS5wbA0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMgQ29weXJpZ2h0IChjKSAyMDA4IFJhbW9uIE5vdm9hLCBybm92b2FAYXJ0aWNhLmVzDQojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2ljYXMgUy5MDQojDQojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3INCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KdXNlIHN0cmljdDsNCnVzZSB3YXJuaW5nczsNCg0KIyBDaGVjayBmb3Igc3NoDQpteSAkc3NoX2NsaWVudCA9ICJzc2giOw0KaWYgKHN5c3RlbSgiJHNzaF9jbGllbnQgLXYgPiAvZGV2L251bGwgMj4mMSIpID4+IDggIT0gMjU1KSB7DQoJcHJpbnQgIltlcnJvcl0gJHNzaF9jbGllbnQgbm90IGZvdW5kLlxuIjsNCglleGl0IDE7DQp9DQoNCmlmICgkI0FSR1YgPCAxKSB7DQoJcHJpbnQgIlVzYWdlOiAkMCA8dGFyZ2V0IGlwPiA8dXNlcm5hbWU+XG4iOw0KCWV4aXQgMTsNCn0NCg0KbXkgJHRhcmdldF9pcCA9ICRBUkdWWzBdOw0KbXkgJHVzZXJuYW1lID0gJEFSR1ZbMV07DQoNCiMgUmV0cmlldmUgQ1BVIGRhdGENCm15ICgkbW9kZWwsICR2ZW5kb3IsICRzcGVlZCk7DQpteSBAY3B1X2luZm8gPSBgJHNzaF9jbGllbnQgJHVzZXJuYW1lXEAkdGFyZ2V0X2lwICJjYXQgL3Byb2MvY3B1aW5mbyJgOw0KZm9yZWFjaCBteSAkbGluZSAoQGNwdV9pbmZvKSB7DQoJaWYgKCRsaW5lID1+IC9tb2RlbCBuYW1lXHMrOlxzKyguKikvKSB7DQoJCSRtb2RlbCA9ICQxOw0KCX0gZWxzaWYgKCRsaW5lID1+IC92ZW5kb3JfaWRccys6XHMrKC4qKS8pIHsNCgkJJHZlbmRvciA9ICQxOw0KCX0gZWxzaWYgKCRsaW5lID1+IC9jcHUgTUh6XHMrOlxzKyguKikvKSB7DQoJCSRzcGVlZCA9ICQxOw0KCX0NCn0NCiANCnJldHVybiAxIGlmICgkbW9kZWwgZXEgJycgfHwgJHZlbmRvciBlcSAnJyB8fCAkc3BlZWQgZXEgJycpOw0KcHJpbnQgIiRtb2RlbDskdmVuZG9yOyIgLiBzcHJpbnRmICgiJS4wZiIsICRzcGVlZCkgLiAiIE1IelxuIjsNCg0KZXhpdCAwOw0K'); +INSERT INTO "tmodule_inventory" VALUES (2,9,'CPU','CPU','/usr/bin/perl','Name;Speed;Description','IyEvdXNyL2Jpbi9wZXJsDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBwYW5kb3JhX2NwdS5wbA0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMgQ29weXJpZ2h0IChjKSAyMDA4IFJhbW9uIE5vdm9hLCBybm92b2FAYXJ0aWNhLmVzDQojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2ljYXMgUy5MDQojDQojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3INCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KdXNlIHN0cmljdDsNCnVzZSB3YXJuaW5nczsNCg0KdXNlIEZpbGU6OkJhc2VuYW1lOw0KdXNlIEhUTUw6OkVudGl0aWVzICgpOw0KDQojIENoZWNrIGZvciB3bWljDQpteSAkd21pX2NsaWVudCA9ICJ3bWljIjsNCmlmIChzeXN0ZW0oIiR3bWlfY2xpZW50ID4gL2Rldi9udWxsIDI+JjEiKSAhPSAyNTYpIHsNCglwcmludCAiW2Vycm9yXSAkd21pX2NsaWVudCBub3QgZm91bmQuXG4iOw0KCWV4aXQgMTsNCn0NCg0KaWYgKCQjQVJHViAhPSAyKSB7DQoJcHJpbnQgIlVzYWdlOiAkMCA8dGFyZ2V0IGlwPiA8dXNlcm5hbWU+IDxwYXNzd29yZD5cbiI7DQoJZXhpdCAxOw0KfQ0KDQpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07DQpteSAkdXNlcm5hbWUgPSAkQVJHVlsxXTsNCm15ICRwYXNzd29yZCA9ICRBUkdWWzJdOw0KDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBTVUIgcnVuX3F1ZXJ5ICgkd3FsX3F1ZXJ5KQ0KIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMgdGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0Kc3ViIHJ1bl9xdWVyeSB7DQoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOw0KCW15IEByZXN1bHQgPSB7fTsNCg0KCSR3cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsNCg0KCSMgUnVuIHRoZSBEQ09NL1dNSSBjbGllbnQNCglteSAkb3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdldF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7DQoNCglteSBAbGluZXMgPSBzcGxpdCgvXG4vLCAkb3V0cHV0KTsNCgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMNCglpZiAoJCNsaW5lcyA8IDIpIHsNCgkJZXhpdCAxOw0KCX0NCg0KCSMgRHJvcCB0aGUgaGVhZGVyDQoJc2hpZnQgKEBsaW5lcyk7DQoJDQoJIyBHZXQgY29sdW1uIG5hbWVzDQoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNoaWZ0IChAbGluZXMpKTsNCg0KCSMgR2V0IHJvdyBkYXRhDQoJbXkgJGlkeCA9IDA7DQoJZm9yIChteSAkaSA9IDA7ICRpIDw9ICQjbGluZXM7ICRpKyspIHsNCg0KCQkjIENoZWNrIGZvciBlcnJvcnMNCgkJaWYgKCRsaW5lc1skaV0gPX4gbS9eRVJST1IvKSB7DQoJCQlleGl0IDE7DQoJCX0NCg0KCQkjIEJsYWNrIGxpc3QNCgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7DQoJCQluZXh0Ow0KCQl9DQoNCgkJbXkgQGNvbHVtbiA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOw0KCQlmb3IgKG15ICRqID0gMDsgJGogPD0gJCNjb2x1bW5fbmFtZXM7ICRqKyspIHsNCgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7DQoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOw0KCQkJfQ0KCQkJZWxzZSB7DQoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICRjb2x1bW5bJGpdOw0KCQkJfQ0KCQl9DQoJCQ0KCQkkaWR4Kys7DQoJfQ0KCQ0KCXJldHVybiBAcmVzdWx0Ow0KfQ0KDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEsIA0KIyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkNCiMgUHJpbnRzIGEgbW9kdWxlZGF0YSBYTUwgdGFnLiAkbW9kdWxlX2l0ZW0sICRtb2R1bGVfZGF0YSBhbmQNCiMgJG1vZHVsZV9kZXNjcmlwdGlvbiBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24NCiMgWE1MIHRhZ3MgcmVzcGVjdGl2ZWx5Lg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCnN1YiBwcmludF9tb2R1bGVkYXRhIHsNCglteSAkbW9kdWxlX2l0ZW0gPSAkX1swXTsNCglteSAkbW9kdWxlX2RhdGEgPSAkX1sxXTsNCglteSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07DQoJbXkgQGRhdGEgPSBAeyRfWzNdfTsNCglteSAkcmVzdWx0Ow0KDQoJZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsNCgkJDQoJCSRyZXN1bHQgPSAnJzsNCg0KCQkjIEl0ZW0NCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkgew0KCQkJJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfaXRlbX0gLiAiOyI7DQoJCX0NCg0KCQkjIERhdGENCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2RhdGF9KSkgew0KCQkJJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0gLiAiIE1oejsiOw0KCQl9DQoNCgkJIyBEZXNjcmlwdGlvbg0KCQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfZGVzY3JpcHRpb259KSkgew0KCQkJJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGVzY3JpcHRpb259IC4gIjsiOw0KCQl9DQoNCgkJcHJpbnQgJHJlc3VsdCAuICJcbiI7CQ0KCX0NCn0NCg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMgTWFpbg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KbXkgQHJlc3VsdCA9IHJ1bl9xdWVyeSgiU0VMRUNUIE5hbWUsIE1heENsb2NrU3BlZWQsIERlc2NyaXB0aW9uIEZST00gV2luMzJfUHJvY2Vzc29yIik7DQpwcmludF9tb2R1bGVkYXRhICgiTmFtZSIsICJNYXhDbG9ja1NwZWVkIiwgIkRlc2NyaXB0aW9uIiwgXEByZXN1bHQpOw0KZXhpdCAwOw0K'); +INSERT INTO "tmodule_inventory" VALUES (3,1,'RAM','Memory modules','','Model;Size',''); +INSERT INTO "tmodule_inventory" VALUES (4,9,'RAM','Memory modules','/usr/bin/perl','Tag;Capacity;Name','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9yYW0ucGwKIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKIyBDb3B5cmlnaHQgKGMpIDIwMDggUmFtb24gTm92b2EsIHJub3ZvYUBhcnRp Y2EuZXMKIyAgICAgICAgICAgKGMpIDIwMDggQXJ0aWNhIFNvbHVjaW9uZXMgVGVjbm9sb2dpY2Fz IFMuTAojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgojIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IHZlcnNpb24gMi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZv dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rvbiwg TUEgIDAyMTEwLTEzMDEsIFVTQS4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCnVzZSBzdHJpY3Q7CnVzZSB3 YXJuaW5nczsKCnVzZSBGaWxlOjpCYXNlbmFtZTsKdXNlIEhUTUw6OkVudGl0aWVzICgpOwoKIyBD aGVjayBmb3Igd21pYwpteSAkd21pX2NsaWVudCA9ICJ3bWljIjsKaWYgKHN5c3RlbSgiJHdtaV9j bGllbnQgPiAvZGV2L251bGwgMj4mMSIpICE9IDI1NikgewoJcHJpbnQgIltlcnJvcl0gJHdtaV9j bGllbnQgbm90IGZvdW5kLlxuIjsKCWV4aXQgMTsKfQoKaWYgKCQjQVJHViAhPSAyKSB7Cglwcmlu dCAiVXNhZ2U6ICQwIDx0YXJnZXQgaXA+IDx1c2VybmFtZT4gPHBhc3N3b3JkPlxuIjsKCWV4aXQg MTsKfQoKbXkgJHRhcmdldF9pcCA9ICRBUkdWWzBdOwpteSAkdXNlcm5hbWUgPSAkQVJHVlsxXTsK bXkgJHBhc3N3b3JkID0gJEFSR1ZbMl07CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFNVQiBydW5fcXVl cnkgKCR3cWxfcXVlcnkpCiMgUnVucyB0aGUgZ2l2ZW4gV1FMIHF1ZXJ5IGFuZCByZXR1cm5zIHRo ZSByZXN1bHQgYXMgYW4gYXJyYXkgb2YgaGFzaGVzLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcnVu X3F1ZXJ5IHsKCW15ICR3cWxfcXVlcnkgPSAkX1swXTsKCW15IEByZXN1bHQgPSB7fTsKCgkkd3Fs X3F1ZXJ5ID1+ICdzLyIvXCcvZyc7CgoJIyBSdW4gdGhlIERDT00vV01JIGNsaWVudAoJbXkgJG91 dHB1dCA9IGAkd21pX2NsaWVudCAtVSAnJHVzZXJuYW1lJyUnJHBhc3N3b3JkJyAvLyR0YXJnZXRf aXAgXCIkd3FsX3F1ZXJ5XCIgMj4vZGV2L251bGxgOwoKCW15IEBsaW5lcyA9IHNwbGl0KC9cbi8s ICRvdXRwdXQpOwoJIyBIZWFkZXIsIGRlc2NyaXB0aW9uLCByZXN1bHRzCglpZiAoJCNsaW5lcyA8 IDIpIHsKCQlleGl0IDE7Cgl9CgoJIyBEcm9wIHRoZSBoZWFkZXIKCXNoaWZ0IChAbGluZXMpOwoJ CgkjIEdldCBjb2x1bW4gbmFtZXMKCW15IEBjb2x1bW5fbmFtZXMgPSBzcGxpdCgvXHwvLCBzaGlm dCAoQGxpbmVzKSk7CgoJIyBHZXQgcm93IGRhdGEKCW15ICRpZHggPSAwOwoJZm9yIChteSAkaSA9 IDA7ICRpIDw9ICQjbGluZXM7ICRpKyspIHsKCgkJIyBDaGVjayBmb3IgZXJyb3JzCgkJaWYgKCRs aW5lc1skaV0gPX4gbS9eRVJST1IvKSB7CgkJCWV4aXQgMTsKCQl9CgoJCSMgQmxhY2sgbGlzdAoJ CWlmICgkbGluZXNbJGldID1+IG0vRmlsZSAxLykgewoJCQluZXh0OwoJCX0KCgkJbXkgQGNvbHVt biA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOwoJCWZvciAobXkgJGogPSAwOyAkaiA8PSAkI2Nv bHVtbl9uYW1lczsgJGorKykgewoJCQlpZiAoISBkZWZpbmVkKCRjb2x1bW5bJGpdKSkgewoJCQkJ JHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOwoJCQl9CgkJCWVsc2UgewoJ CQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICRjb2x1bW5bJGpdOwoJCQl9 CgkJfQoJCQoJCSRpZHgrKzsKCX0KCQoJcmV0dXJuIEByZXN1bHQ7Cn0KCiMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCiMgU1VCIHByaW50X21vZHVsZWRhdGEgKCRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhLCAK IyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkKIyBQcmludHMgYSBtb2R1bGVkYXRhIFhNTCB0 YWcuICRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhIGFuZAojICRtb2R1bGVfZGVzY3JpcHRpb24g YXJlIHVzZWQgdG8gaW5kZXggdGhlIGl0ZW0sIGRhdGEgYW5kIGRlc2NyaXB0aW9uCiMgWE1MIHRh Z3MgcmVzcGVjdGl2ZWx5LgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcHJpbnRfbW9kdWxlZGF0YSB7 CglteSAkbW9kdWxlX2l0ZW0gPSAkX1swXTsKCW15ICRtb2R1bGVfZGF0YSA9ICRfWzFdOwoJbXkg JG1vZHVsZV9kZXNjcmlwdGlvbiA9ICRfWzJdOwoJbXkgQGRhdGEgPSBAeyRfWzNdfTsKCW15ICRy ZXN1bHQ7CgoJZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsKCQkKCQkkcmVzdWx0ID0gJyc7 CgoJCSMgSXRlbQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSkpIHsKCQkJ JHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfaXRlbX0gLiAnOyc7CgkJfQoKCQkjIERhdGEK CQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0pKSB7CgkJCSRyZXN1bHQgLj0g JyAnIC4gc3ByaW50ZigiJS4xZiIsICRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSAvIDEwNDg1NzYp IC4gIiBNQnl0ZXM7IjsKCQl9CgoJCSMgRGVzY3JpcHRpb24KCQlpZiAoZGVmaW5lZCgkZWxlbWVu dC0+eyRtb2R1bGVfZGVzY3JpcHRpb259KSkgewoJCQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1v ZHVsZV9kZXNjcmlwdGlvbn07CgkJfQoKCQlwcmludCAkcmVzdWx0IC4gIlxuIjsJCgl9Cn0KCiMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjCiMgTWFpbgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKbXkgQHJlc3VsdCA9IHJ1 bl9xdWVyeSgiU0VMRUNUIFRhZywgQ2FwYWNpdHksIE5hbWUgRlJPTSBXaW4zMl9QaHlzaWNhbE1l bW9yeSIpOwpwcmludF9tb2R1bGVkYXRhICgiVGFnIiwgIkNhcGFjaXR5IiwgIk5hbWUiLCBcQHJl c3VsdCk7CmV4aXQgMDsK'); +INSERT INTO "tmodule_inventory" VALUES (5,1,'Video','Video cards','','Controller;Model;Company',''); +INSERT INTO "tmodule_inventory" VALUES (6,9,'Video','Video cards','/usr/bin/perl','Caption;AdapterRAM;VideoProcessor','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV92aWRlby5wbAojIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9hQGFy dGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2lj YXMgUy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMg Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u LCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsKdXNl IHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7Cgoj IENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21p X2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAkd21p X2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKCXBy aW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJZXhp dCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdWWzFd OwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1bl9x dWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMg dGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBy dW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoKCSR3 cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CglteSAk b3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdl dF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQoL1xu LywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xpbmVz IDwgMikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5lcyk7 CgkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNo aWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15ICRp ID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlpZiAo JGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBsaXN0 CgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBAY29s dW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9ICQj Y29sdW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7CgkJ CQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxzZSB7 CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gJGNvbHVtblskal07CgkJ CX0KCQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEs IAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEgWE1M IHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlwdGlv biBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBYTUwg dGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVkYXRh IHsKCW15ICRtb2R1bGVfaXRlbSA9ICRfWzBdOwoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07Cglt eSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07CglteSBAZGF0YSA9IEB7JF9bM119OwoJbXkg JHJlc3VsdDsKCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCQoJCSRyZXN1bHQgPSAn JzsKCgkJIyBJdGVtCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkgewoJ CQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsKCQl9CgoJCSMgRGF0 YQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSkpIHsKCQkJJHJlc3VsdCAu PSAnICcgLiBzcHJpbnRmKCIlLjFmIiwgJGVsZW1lbnQtPnskbW9kdWxlX2RhdGF9IC8gMTA0ODU3 NikgLiAiIE1CeXRlczsiOwoJCX0KCgkJIyBEZXNjcmlwdGlvbgoJCWlmIChkZWZpbmVkKCRlbGVt ZW50LT57JG1vZHVsZV9kZXNjcmlwdGlvbn0pKSB7CgkJCSRyZXN1bHQgLj0gJyAnIC4gJGVsZW1l bnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufTsKCQl9CgoJCXByaW50ICRyZXN1bHQgLiAiXG4iOwkK CX0KfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNYWluCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpteSBAcmVz dWx0ID0gcnVuX3F1ZXJ5KCJTRUxFQ1QgQ2FwdGlvbiwgQWRhcHRlclJBTSwgVmlkZW9Qcm9jZXNz b3IgRlJPTSBXaW4zMl9WaWRlb0NvbnRyb2xsZXIiKTsKcHJpbnRfbW9kdWxlZGF0YSAoIkNhcHRp b24iLCAiQWRhcHRlclJBTSIsICJWaWRlb1Byb2Nlc3NvciIsIFxAcmVzdWx0KTsKZXhpdCAwOwo='); +INSERT INTO "tmodule_inventory" VALUES (7,1,'NIC','Network Interface Cards','','Device;Model;Company;MACAddress',''); +INSERT INTO "tmodule_inventory" VALUES (8,9,'NIC','Network Interface Cards','/usr/bin/perl','Caption;MACAddress;IPAddress','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9uaWMucGwKIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKIyBDb3B5cmlnaHQgKGMpIDIwMDggUmFtb24gTm92b2EsIHJub3ZvYUBhcnRp Y2EuZXMKIyAgICAgICAgICAgKGMpIDIwMDggQXJ0aWNhIFNvbHVjaW9uZXMgVGVjbm9sb2dpY2Fz IFMuTAojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgojIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IHZlcnNpb24gMi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZv dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rvbiwg TUEgIDAyMTEwLTEzMDEsIFVTQS4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCnVzZSBzdHJpY3Q7CnVzZSB3 YXJuaW5nczsKCnVzZSBGaWxlOjpCYXNlbmFtZTsKdXNlIEhUTUw6OkVudGl0aWVzICgpOwoKIyBD aGVjayBmb3Igd21pYwpteSAkd21pX2NsaWVudCA9ICJ3bWljIjsKaWYgKHN5c3RlbSgiJHdtaV9j bGllbnQgPiAvZGV2L251bGwgMj4mMSIpICE9IDI1NikgewoJcHJpbnQgIltlcnJvcl0gJHdtaV9j bGllbnQgbm90IGZvdW5kLlxuIjsKCWV4aXQgMTsKfQoKaWYgKCQjQVJHViAhPSAyKSB7Cglwcmlu dCAiVXNhZ2U6ICQwIDx0YXJnZXQgaXA+IDx1c2VybmFtZT4gPHBhc3N3b3JkPlxuIjsKCWV4aXQg MTsKfQoKbXkgJHRhcmdldF9pcCA9ICRBUkdWWzBdOwpteSAkdXNlcm5hbWUgPSAkQVJHVlsxXTsK bXkgJHBhc3N3b3JkID0gJEFSR1ZbMl07CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFNVQiBydW5fcXVl cnkgKCR3cWxfcXVlcnkpCiMgUnVucyB0aGUgZ2l2ZW4gV1FMIHF1ZXJ5IGFuZCByZXR1cm5zIHRo ZSByZXN1bHQgYXMgYW4gYXJyYXkgb2YgaGFzaGVzLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcnVu X3F1ZXJ5IHsKCW15ICR3cWxfcXVlcnkgPSAkX1swXTsKCW15IEByZXN1bHQgPSB7fTsKCgkkd3Fs X3F1ZXJ5ID1+ICdzLyIvXCcvZyc7CgoJIyBSdW4gdGhlIERDT00vV01JIGNsaWVudAoJbXkgJG91 dHB1dCA9IGAkd21pX2NsaWVudCAtVSAnJHVzZXJuYW1lJyUnJHBhc3N3b3JkJyAvLyR0YXJnZXRf aXAgXCIkd3FsX3F1ZXJ5XCIgMj4vZGV2L251bGxgOwoKCW15IEBsaW5lcyA9IHNwbGl0KC9cbi8s ICRvdXRwdXQpOwoJIyBIZWFkZXIsIGRlc2NyaXB0aW9uLCByZXN1bHRzCglpZiAoJCNsaW5lcyA8 IDIpIHsKCQlleGl0IDE7Cgl9CgoJIyBEcm9wIHRoZSBoZWFkZXIKCXNoaWZ0IChAbGluZXMpOwoJ CgkjIEdldCBjb2x1bW4gbmFtZXMKCW15IEBjb2x1bW5fbmFtZXMgPSBzcGxpdCgvXHwvLCBzaGlm dCAoQGxpbmVzKSk7CgoJIyBHZXQgcm93IGRhdGEKCW15ICRpZHggPSAwOwoJZm9yIChteSAkaSA9 IDA7ICRpIDw9ICQjbGluZXM7ICRpKyspIHsKCgkJIyBDaGVjayBmb3IgZXJyb3JzCgkJaWYgKCRs aW5lc1skaV0gPX4gbS9eRVJST1IvKSB7CgkJCWV4aXQgMTsKCQl9CgoJCSMgQmxhY2sgbGlzdAoJ CWlmICgkbGluZXNbJGldID1+IG0vRmlsZSAxLykgewoJCQluZXh0OwoJCX0KCgkJbXkgQGNvbHVt biA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOwoJCWZvciAobXkgJGogPSAwOyAkaiA8PSAkI2Nv bHVtbl9uYW1lczsgJGorKykgewoJCQlpZiAoISBkZWZpbmVkKCRjb2x1bW5bJGpdKSkgewoJCQkJ JHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOwoJCQl9CgkJCWVsc2UgewoJ CQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICRjb2x1bW5bJGpdOwoJCQl9 CgkJfQoJCQoJCSRpZHgrKzsKCX0KCQoJcmV0dXJuIEByZXN1bHQ7Cn0KCiMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCiMgU1VCIHByaW50X21vZHVsZWRhdGEgKCRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhLCAK IyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkKIyBQcmludHMgYSBtb2R1bGVkYXRhIFhNTCB0 YWcuICRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhIGFuZAojICRtb2R1bGVfZGVzY3JpcHRpb24g YXJlIHVzZWQgdG8gaW5kZXggdGhlIGl0ZW0sIGRhdGEgYW5kIGRlc2NyaXB0aW9uCiMgWE1MIHRh Z3MgcmVzcGVjdGl2ZWx5LgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcHJpbnRfbW9kdWxlZGF0YSB7 CglteSAkbW9kdWxlX2l0ZW0gPSAkX1swXTsKCW15ICRtb2R1bGVfZGF0YSA9ICRfWzFdOwoJbXkg JG1vZHVsZV9kZXNjcmlwdGlvbiA9ICRfWzJdOwoJbXkgQGRhdGEgPSBAeyRfWzNdfTsKCW15ICRy ZXN1bHQ7CgoJZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsKCQkKCQkkcmVzdWx0ID0gJyc7 CgoJCSMgSXRlbQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSkpIHsKCQkJ JHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfaXRlbX0gLiAnOyc7CgkJfQoKCQkjIERhdGEK CQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0pKSB7CgkJCSRyZXN1bHQgLj0g JGVsZW1lbnQtPnskbW9kdWxlX2RhdGF9IC4gJzsnOwoJCX0KCgkJIyBEZXNjcmlwdGlvbgoJCWlm IChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kZXNjcmlwdGlvbn0pKSB7CgkJCSRyZXN1bHQg Lj0gJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufTsKCQl9CgoJCXByaW50ICRyZXN1bHQg LiAiXG4iOwkKCX0KfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNYWluCiMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CgpteSBAcmVzdWx0ID0gcnVuX3F1ZXJ5KCJTRUxFQ1QgQ2FwdGlvbiwgTUFDQWRkcmVzcywgSVBB ZGRyZXNzIEZST00gV2luMzJfTmV0d29ya0FkYXB0ZXJDb25maWd1cmF0aW9uIik7CnByaW50X21v ZHVsZWRhdGEgKCJDYXB0aW9uIiwgIk1BQ0FkZHJlc3MiLCAiSVBBZGRyZXNzIiwgXEByZXN1bHQp OwpleGl0IDA7Cg=='); +INSERT INTO "tmodule_inventory" VALUES (9,1,'HD','Hard drives','','Type;Model;Size',''); +INSERT INTO "tmodule_inventory" VALUES (10,9,'HD','Hard drives','/usr/bin/perl','Model;Size;SystemName','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9oZC5wbAojIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9hQGFydGlj YS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2ljYXMg Uy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVj ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91 bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBN QSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsKdXNlIHdh cm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7CgojIENo ZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21pX2Ns aWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAkd21pX2Ns aWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKCXByaW50 ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJZXhpdCAx Owp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdWWzFdOwpt eSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1bl9xdWVy eSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMgdGhl IHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBydW5f cXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoKCSR3cWxf cXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CglteSAkb3V0 cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdldF9p cCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQoL1xuLywg JG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xpbmVzIDwg MikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5lcyk7CgkK CSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNoaWZ0 IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15ICRpID0g MDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlpZiAoJGxp bmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBsaXN0CgkJ aWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBAY29sdW1u ID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9ICQjY29s dW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7CgkJCQkk cmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxzZSB7CgkJ CQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gJGNvbHVtblskal07CgkJCX0K CQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEsIAoj ICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEgWE1MIHRh Zy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlwdGlvbiBh cmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBYTUwgdGFn cyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVkYXRhIHsK CW15ICRtb2R1bGVfaXRlbSA9ICRfWzBdOwoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07CglteSAk bW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07CglteSBAZGF0YSA9IEB7JF9bM119OwoJbXkgJHJl c3VsdDsKCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCQoJCSRyZXN1bHQgPSAnJzsK CgkJIyBJdGVtCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkgewoJCQkk cmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsKCQl9CgoJCSMgRGF0YQoJ CWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSkpIHsKCQkJJHJlc3VsdCAuPSAn ICcgLiBzcHJpbnRmKCIlLjFmIiwgJGVsZW1lbnQtPnskbW9kdWxlX2RhdGF9IC8gMTA3Mzc0MTgy NCkgLiAiIEdCeXRlczsiOwoJCX0KCgkJIyBEZXNjcmlwdGlvbgoJCWlmIChkZWZpbmVkKCRlbGVt ZW50LT57JG1vZHVsZV9kZXNjcmlwdGlvbn0pKSB7CgkJCSRyZXN1bHQgLj0gJyAoJyAuICRlbGVt ZW50LT57JG1vZHVsZV9kZXNjcmlwdGlvbn0gLiAiKSI7CgkJfQoKCQlwcmludCAkcmVzdWx0IC4g IlxuIjsJCgl9Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTWFpbgojIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoK bXkgQHJlc3VsdCA9IHJ1bl9xdWVyeSgiU0VMRUNUIE1vZGVsLCBTaXplLCBTeXN0ZW1OYW1lIEZS T00gV2luMzJfRGlza0RyaXZlIik7CnByaW50X21vZHVsZWRhdGEgKCJNb2RlbCIsICJTaXplIiwg IlN5c3RlbU5hbWUiLCBcQHJlc3VsdCk7CQpleGl0IDA7Cg=='); +INSERT INTO "tmodule_inventory" VALUES (11,1,'CDROM','CD-ROM drives','','Type;Model;Features',''); +INSERT INTO "tmodule_inventory" VALUES (12,9,'CDROM','CD-ROM drives','/usr/bin/perl','Name;Description;Drive','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9jZHJvbS5wbAojIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9hQGFy dGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2lj YXMgUy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMg Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u LCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsKdXNl IHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7Cgoj IENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21p X2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAkd21p X2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKCXBy aW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJZXhp dCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdWWzFd OwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1bl9x dWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMg dGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBy dW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoKCSR3 cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CglteSAk b3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdl dF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQoL1xu LywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xpbmVz IDwgMikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5lcyk7 CgkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNo aWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15ICRp ID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlpZiAo JGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBsaXN0 CgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBAY29s dW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9ICQj Y29sdW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7CgkJ CQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxzZSB7 CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gJGNvbHVtblskal07CgkJ CX0KCQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEs IAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEgWE1M IHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlwdGlv biBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBYTUwg dGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVkYXRh IHsKCW15ICRtb2R1bGVfaXRlbSA9ICRfWzBdOwoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07Cglt eSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07CglteSBAZGF0YSA9IEB7JF9bM119OwoJbXkg JHJlc3VsdDsKCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCQoJCSRyZXN1bHQgPSAn JzsKCgkJIyBJdGVtCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkgewoJ CQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsKCQl9CgoJCSMgRGF0 YQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSkpIHsKCQkJJHJlc3VsdCAu PSAkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0gLiAnOyc7CgkJfQoKCQkjIERlc2NyaXB0aW9uCgkJ aWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufSkpIHsKCQkJJHJlc3Vs dCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGVzY3JpcHRpb259OwoJCX0KCgkJcHJpbnQgJHJlc3Vs dCAuICJcbiI7CQoJfQp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE1haW4KIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKCm15IEByZXN1bHQgPSBydW5fcXVlcnkoIlNFTEVDVCBOYW1lLCBEZXNjcmlwdGlvbiwgRHJp dmUgRlJPTSBXaW4zMl9DRFJPTURyaXZlIik7CnByaW50X21vZHVsZWRhdGEgKCJOYW1lIiwgIkRl c2NyaXB0aW9uIiwgIkRyaXZlIiwgXEByZXN1bHQpOwpleGl0IDA7Cg=='); +INSERT INTO "tmodule_inventory" VALUES (13,1,'Software','Installed software packages','','Name;Version;Description',''); +INSERT INTO "tmodule_inventory" VALUES (14,9,'Software','Installed software packages','/usr/bin/perl','Name;Version','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9zb2Z0d2FyZS5wbAoj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9h QGFydGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xv Z2ljYXMgUy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl CiMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9z dG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsK dXNlIHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7 CgojIENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIk d21pX2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAk d21pX2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsK CXByaW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJ ZXhpdCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdW WzFdOwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1 bl9xdWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVy bnMgdGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1 YiBydW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoK CSR3cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50Cglt eSAkb3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRh cmdldF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQo L1xuLywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xp bmVzIDwgMikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5l cyk7CgkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8s IHNoaWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15 ICRpID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlp ZiAoJGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBs aXN0CgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBA Y29sdW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9 ICQjY29sdW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7 CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxz ZSB7CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gJGNvbHVtblskal07 CgkJCX0KCQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2Rh dGEsIAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEg WE1MIHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlw dGlvbiBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBY TUwgdGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVk YXRhIHsKCW15ICRtb2R1bGVfaXRlbSA9ICRfWzBdOwoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07 CglteSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07CglteSBAZGF0YSA9IEB7JF9bM119OwoJ bXkgJHJlc3VsdDsKCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCQoJCSRyZXN1bHQg PSAnJzsKCgkJIyBJdGVtCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkg ewoJCQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsKCQl9CgoJCSMg RGF0YQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSkpIHsKCQkJJHJlc3Vs dCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX07CgkJfQoKCQlwcmludCAkcmVzdWx0IC4gIlxu IjsJCgl9Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTWFpbgojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKbXkg QHJlc3VsdCA9IHJ1bl9xdWVyeSgiU0VMRUNUIE5hbWUsIFZlcnNpb24gRlJPTSBXaW4zMl9Qcm9k dWN0Iik7CnByaW50X21vZHVsZWRhdGEgKCJOYW1lIiwgIlZlcnNpb24iLCAiIiwgXEByZXN1bHQp OwpleGl0IDA7Cg=='); +INSERT INTO "tmodule_inventory" VALUES (15,9,'Patches','Installed patches','/usr/bin/perl','HotFixID;Description;FixComments','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9wYXRjaC5wbAojIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9hQGFy dGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2lj YXMgUy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMg Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u LCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsKdXNl IHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7Cgoj IENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21p X2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAkd21p X2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKCXBy aW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJZXhp dCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdWWzFd OwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1bl9x dWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMg dGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBy dW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoKCSR3 cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CglteSAk b3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdl dF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQoL1xu LywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xpbmVz IDwgMikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5lcyk7 CgkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNo aWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15ICRp ID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlpZiAo JGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBsaXN0 CgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBAY29s dW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9ICQj Y29sdW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7CgkJ CQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxzZSB7 CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gJGNvbHVtblskal07CgkJ CX0KCQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEs IAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEgWE1M IHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlwdGlv biBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBYTUwg dGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVkYXRh IHsKCW15ICRtb2R1bGVfaXRlbSA9ICRfWzBdOwoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07Cglt eSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07CglteSBAZGF0YSA9IEB7JF9bM119OwoJbXkg JHJlc3VsdDsKCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCQoJCSRyZXN1bHQgPSAn JzsKCgkJIyBJdGVtCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkgewoJ CQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsKCQl9CgoJCSMgRGF0 YQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSkpIHsKCQkJJHJlc3VsdCAu PSAkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0gLiAnOyc7CgkJfQoKCQkjIERlc2NyaXB0aW9uCgkJ aWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufSkpIHsKCQkJJHJlc3Vs dCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGVzY3JpcHRpb259OwoJCX0KCgkJcHJpbnQgJHJlc3Vs dCAuICJcbiI7CQoJfQp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE1haW4KIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKCm15IEByZXN1bHQgPSBydW5fcXVlcnkoIlNFTEVDVCBIb3RGaXhJRCwgRGVzY3JpcHRpb24s IEZpeENvbW1lbnRzIEZST00gV2luMzJfUXVpY2tGaXhFbmdpbmVlcmluZyIpOwpwcmludF9tb2R1 bGVkYXRhICgiSG90Rml4SUQiLCAiRGVzY3JpcHRpb24iLCAiRml4Q29tbWVudHMiLCBcQHJlc3Vs dCk7CmV4aXQgMDsK'); +INSERT INTO "tmodule_inventory" VALUES (16,1,'Init services','Services programmed to lauch in Unix','','Service',''); +INSERT INTO "tmodule_inventory" VALUES (17,9,'Init services','Windows services','/usr/bin/perl','Name;PathName;State','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9zZXJ2aWNlcy5wbAoj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9h QGFydGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xv Z2ljYXMgUy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl CiMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9z dG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsK dXNlIHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7 CgojIENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIk d21pX2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAk d21pX2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsK CXByaW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJ ZXhpdCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdW WzFdOwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1 bl9xdWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVy bnMgdGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1 YiBydW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoK CSR3cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50Cglt eSAkb3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRh cmdldF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQo L1xuLywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xp bmVzIDwgMikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5l cyk7CgkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8s IHNoaWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15 ICRpID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlp ZiAoJGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBs aXN0CgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBA Y29sdW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9 ICQjY29sdW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7 CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxz ZSB7CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gJGNvbHVtblskal07 CgkJCX0KCQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2Rh dGEsIAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEg WE1MIHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlw dGlvbiBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBY TUwgdGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVk YXRhIHsKCW15ICRtb2R1bGVfaXRlbSA9ICRfWzBdOwoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07 CglteSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07CglteSBAZGF0YSA9IEB7JF9bM119OwoJ bXkgJHJlc3VsdDsKCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCQoJCSRyZXN1bHQg PSAnJzsKCgkJIyBJdGVtCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkg ewoJCQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsKCQl9CgoJCSMg RGF0YQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSkpIHsKCQkJJHJlc3Vs dCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0gLiAnOyc7CgkJfQoKCQkjIERlc2NyaXB0aW9u CgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufSkpIHsKCQkJJHJl c3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGVzY3JpcHRpb259OwoJCX0KCgkJcHJpbnQgJHJl c3VsdCAuICJcbiI7CQoJfQp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE1haW4KIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKCm15IEByZXN1bHQgPSBydW5fcXVlcnkoIlNFTEVDVCBOYW1lLCBQYXRoTmFtZSwgU3Rh dGUgRlJPTSBXaW4zMl9TZXJ2aWNlIik7CnByaW50X21vZHVsZWRhdGEgKCJOYW1lIiwgIlBhdGhO YW1lIiwgIlN0YXRlIiwgXEByZXN1bHQpOwpleGl0IDA7Cg=='); +INSERT INTO "tmodule_inventory" ("id_module_inventory", "id_os", "name", "description", "interpreter", "data_format", "code", "block_mode") VALUES (18,1,'File system','UNIX filesystem mounted on system','','Device;Free size;Total size;Mount point','',0); +INSERT INTO "tmodule_inventory" VALUES (19,9,'File system','Disk drives','','Device;Total size;Free size;Mount point',''); +INSERT INTO "tmodule_inventory" VALUES (20,1,'Process','Process running on system','','Process output from ps',''); +INSERT INTO "tmodule_inventory" VALUES (21,9,'Process','Process running on system','/usr/bin/perl','Name;PathName;State','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9wcm9jZXNzZXMucGwK IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKIyBDb3B5cmlnaHQgKGMpIDIwMDggUmFtb24gTm92b2EsIHJub3Zv YUBhcnRpY2EuZXMKIyAgICAgICAgICAgKGMpIDIwMDggQXJ0aWNhIFNvbHVjaW9uZXMgVGVjbm9s b2dpY2FzIFMuTAojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vcgojIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2Fy ZQojIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJv c3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCnVzZSBzdHJpY3Q7 CnVzZSB3YXJuaW5nczsKCnVzZSBGaWxlOjpCYXNlbmFtZTsKdXNlIEhUTUw6OkVudGl0aWVzICgp OwoKIyBDaGVjayBmb3Igd21pYwpteSAkd21pX2NsaWVudCA9ICJ3bWljIjsKaWYgKHN5c3RlbSgi JHdtaV9jbGllbnQgPiAvZGV2L251bGwgMj4mMSIpICE9IDI1NikgewoJcHJpbnQgIltlcnJvcl0g JHdtaV9jbGllbnQgbm90IGZvdW5kLlxuIjsKCWV4aXQgMTsKfQoKaWYgKCQjQVJHViAhPSAyKSB7 CglwcmludCAiVXNhZ2U6ICQwIDx0YXJnZXQgaXA+IDx1c2VybmFtZT4gPHBhc3N3b3JkPlxuIjsK CWV4aXQgMTsKfQoKbXkgJHRhcmdldF9pcCA9ICRBUkdWWzBdOwpteSAkdXNlcm5hbWUgPSAkQVJH VlsxXTsKbXkgJHBhc3N3b3JkID0gJEFSR1ZbMl07CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFNVQiBy dW5fcXVlcnkgKCR3cWxfcXVlcnkpCiMgUnVucyB0aGUgZ2l2ZW4gV1FMIHF1ZXJ5IGFuZCByZXR1 cm5zIHRoZSByZXN1bHQgYXMgYW4gYXJyYXkgb2YgaGFzaGVzLgojIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpz dWIgcnVuX3F1ZXJ5IHsKCW15ICR3cWxfcXVlcnkgPSAkX1swXTsKCW15IEByZXN1bHQgPSB7fTsK Cgkkd3FsX3F1ZXJ5ID1+ICdzLyIvXCcvZyc7CgoJIyBSdW4gdGhlIERDT00vV01JIGNsaWVudAoJ bXkgJG91dHB1dCA9IGAkd21pX2NsaWVudCAtVSAnJHVzZXJuYW1lJyUnJHBhc3N3b3JkJyAvLyR0 YXJnZXRfaXAgXCIkd3FsX3F1ZXJ5XCIgMj4vZGV2L251bGxgOwoKCW15IEBsaW5lcyA9IHNwbGl0 KC9cbi8sICRvdXRwdXQpOwoJIyBIZWFkZXIsIGRlc2NyaXB0aW9uLCByZXN1bHRzCglpZiAoJCNs aW5lcyA8IDIpIHsKCQlleGl0IDE7Cgl9CgoJIyBEcm9wIHRoZSBoZWFkZXIKCXNoaWZ0IChAbGlu ZXMpOwoJCgkjIEdldCBjb2x1bW4gbmFtZXMKCW15IEBjb2x1bW5fbmFtZXMgPSBzcGxpdCgvXHwv LCBzaGlmdCAoQGxpbmVzKSk7CgoJIyBHZXQgcm93IGRhdGEKCW15ICRpZHggPSAwOwoJZm9yICht eSAkaSA9IDA7ICRpIDw9ICQjbGluZXM7ICRpKyspIHsKCgkJIyBDaGVjayBmb3IgZXJyb3JzCgkJ aWYgKCRsaW5lc1skaV0gPX4gbS9eRVJST1IvKSB7CgkJCWV4aXQgMTsKCQl9CgoJCSMgQmxhY2sg bGlzdAoJCWlmICgkbGluZXNbJGldID1+IG0vRmlsZSAxLykgewoJCQluZXh0OwoJCX0KCgkJbXkg QGNvbHVtbiA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOwoJCWZvciAobXkgJGogPSAwOyAkaiA8 PSAkI2NvbHVtbl9uYW1lczsgJGorKykgewoJCQlpZiAoISBkZWZpbmVkKCRjb2x1bW5bJGpdKSkg ewoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOwoJCQl9CgkJCWVs c2UgewoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICRjb2x1bW5bJGpd OwoJCQl9CgkJfQoJCQoJCSRpZHgrKzsKCX0KCQoJcmV0dXJuIEByZXN1bHQ7Cn0KCiMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCiMgU1VCIHByaW50X21vZHVsZWRhdGEgKCRtb2R1bGVfaXRlbSwgJG1vZHVsZV9k YXRhLCAKIyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkKIyBQcmludHMgYSBtb2R1bGVkYXRh IFhNTCB0YWcuICRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhIGFuZAojICRtb2R1bGVfZGVzY3Jp cHRpb24gYXJlIHVzZWQgdG8gaW5kZXggdGhlIGl0ZW0sIGRhdGEgYW5kIGRlc2NyaXB0aW9uCiMg WE1MIHRhZ3MgcmVzcGVjdGl2ZWx5LgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcHJpbnRfbW9kdWxl ZGF0YSB7CglteSAkbW9kdWxlX2l0ZW0gPSAkX1swXTsKCW15ICRtb2R1bGVfZGF0YSA9ICRfWzFd OwoJbXkgJG1vZHVsZV9kZXNjcmlwdGlvbiA9ICRfWzJdOwoJbXkgQGRhdGEgPSBAeyRfWzNdfTsK CW15ICRyZXN1bHQ7CgoJZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsKCQkKCQkkcmVzdWx0 ID0gJyc7CgoJCSMgSXRlbQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSkp IHsKCQkJJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfaXRlbX0gLiAnOyc7CgkJfQoKCQkj IERhdGEKCQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0pKSB7CgkJCSRyZXN1 bHQgLj0gJGVsZW1lbnQtPnskbW9kdWxlX2RhdGF9IC4gJzsnOwoJCX0KCgkJIyBEZXNjcmlwdGlv bgoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kZXNjcmlwdGlvbn0pKSB7CgkJCSRy ZXN1bHQgLj0gJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufTsKCQl9CgoJCXByaW50ICRy ZXN1bHQgLiAiXG4iOwkKCX0KfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNYWluCiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCgpteSBAcmVzdWx0ID0gcnVuX3F1ZXJ5KCJTRUxFQ1QgTmFtZSwgUGF0aE5hbWUsIFN0 YXRlIEZST00gV2luMzJfU2VydmljZSIpOwpwcmludF9tb2R1bGVkYXRhICgiTmFtZSIsICJQYXRo TmFtZSIsICJTdGF0ZSIsIFxAcmVzdWx0KTsJCmV4aXQgMDsK'); +INSERT INTO "tmodule_inventory" VALUES (22,1,'Users','User list','','Username',''); +INSERT INTO "tmodule_inventory" VALUES (23,9,'Users','User list','/usr/bin/perl','Name;FullName;Status','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV91c2Vycy5wbAojIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9hQGFy dGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2lj YXMgUy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMg Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u LCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsKdXNl IHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7Cgoj IENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21p X2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAkd21p X2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKCXBy aW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJZXhp dCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdWWzFd OwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1bl9x dWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMg dGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBy dW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoKCSR3 cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CglteSAk b3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdl dF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQoL1xu LywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xpbmVz IDwgMikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5lcyk7 CgkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNo aWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15ICRp ID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlpZiAo JGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBsaXN0 CgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBAY29s dW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9ICQj Y29sdW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7CgkJ CQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxzZSB7 CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gJGNvbHVtblskal07CgkJ CX0KCQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEs IAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEgWE1M IHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlwdGlv biBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBYTUwg dGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVkYXRh IHsKCW15ICRtb2R1bGVfaXRlbSA9ICRfWzBdOwoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07Cglt eSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07CglteSBAZGF0YSA9IEB7JF9bM119OwoJbXkg JHJlc3VsdDsKCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCQoJCSRyZXN1bHQgPSAn JzsKCgkJIyBJdGVtCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkgewoJ CQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsKCQl9CgoJCSMgRGF0 YQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSkpIHsKCQkJJHJlc3VsdCAu PSAkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0gLiAnOyc7CgkJfQoKCQkjIERlc2NyaXB0aW9uCgkJ aWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufSkpIHsKCQkJJHJlc3Vs dCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGVzY3JpcHRpb259OwoJCX0KCgkJcHJpbnQgJHJlc3Vs dCAuICJcbiI7CQoJfQp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE1haW4KIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKCm15IEByZXN1bHQgPSBydW5fcXVlcnkoIlNFTEVDVCBOYW1lLCBGdWxsTmFtZSwgU3RhdHVz IEZST00gV2luMzJfVXNlckFjY291bnQiKTsKcHJpbnRfbW9kdWxlZGF0YSAoIk5hbWUiLCAiRnVs bE5hbWUiLCAiU3RhdHVzIiwgXEByZXN1bHQpOwpleGl0IDA7Cg=='); +INSERT INTO "tmodule_inventory" VALUES (25,15,'Software','Installed software applications','','Name;Version;Description',''); + + +INSERT INTO `tmodule_inventory` VALUES +(25,7,'Cisco Interface Remote Inventory','Remote inventory module to get all cards in a Cisco','/usr/bin/perl','Name;Card Name;ID/Serial','IyEvdXNyL2Jpbi9wZXJsDQojSW52ZW50YXJpbyBkZSBUYXJqZXRhcw0KI1Nsb3Q7UGFydE51bWJlcjtTZXJpYWxOdW1iZXINCg0KIyEvdXNyL2Jpbi9wZXJsIC13DQoNCm15ICR0YXJnZXRfaXAgPSAkQVJHVlswXTsNCm15ICRjb21tdW5pdHkgPSAkQVJHVlsxXTsNCg0KI34gRXhlY3V0ZSBjb21tYW5kDQokY29tbWFuZCA9IGBzbm1wd2FsayAtdjJjIC1jICRjb21tdW5pdHkgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjJgOw0KDQojfiBTcGxpdCB0aGUgb3V0cHV0IGluIGxpbmVzDQpAdGVtcCA9IHNwbGl0ICgiXG4iLCAkY29tbWFuZCk7DQpteSBAdmFsdWVzOw0KDQojfiBFYWNoIGxpbmUNCmZvcmVhY2ggKEB0ZW1wKSB7DQoJI34gc3dhcCBkb3RzIGJ5IHNwYWNlcw0KCSRfID1+IHMvXC4vIC9nOw0KCSN+IHNwbGl0IHRoZSBsaW5lIGJ5IHNwYWNlcw0KCUBsaW5lID0gc3BsaXQgKC8gLywgJF8pOw0KCSN+IHNhdmUgdGhlIDd0aCB2YWx1ZQ0KCXB1c2ggKEB2YWx1ZXMsICRsaW5lWzddKTsNCn0NCg0KZm9yZWFjaCAoQHZhbHVlcykgew0KCSN+IHByaW50ICIkXyI7DQoJJFBJRCA9ICcnOw0KCSRQSUQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjEzLiRfYDsNCgkkUElEIC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4xMS4kX2A7DQoJJFBJRCA9fiBzL1wifFxufFw8fFw+fFwmfFxbfFxdLy9nOw0KDQoJaWYgKCRQSUQgbmUgIiIgKSB7DQoJCSRyZXN1bHQgPSAnJzsNCgkJIyRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBzeXNOYW1lLjBgIC4gJzsnOw0KCQkkcmVzdWx0IC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS43LiRfYCAuICc7JzsNCgkJIyRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjIuJF9gIC4gJzsnOw0KCQkkcmVzdWx0IC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4xMy4kX2AgLiAnOyc7DQoJCSRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjExLiRfYDsNCgkJDQoJCSRyZXN1bHQgPX4gcy9cInxcbnxcPHxcPnxcJnxcW3xcXS8vZzsNCgkJcHJpbnQgJHJlc3VsdCAuICJcbiI7DQoJfQ0KfQ0KZXhpdCAwOw0K'); + +INSERT INTO `tmodule_inventory` VALUES +(26,7,'Cisco Inventory','Get remote device information about the cisco device','/usr/bin/perl','IP;Hardware;SerialNumber;IOS','IyEvdXNyL2Jpbi9wZXJsDQoNCiNJbmZvcm1hY2lvbiBkZWwgRXF1aXBvDQojSVA7SGFyZHdhcmU7U2VyaWFsTnVtYmVyO0lPUw0KDQpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07DQpteSAkY29tbXVuaXR5ID0gJEFSR1ZbMV07DQoNCiRyZXN1bHQgPSAnJzsNCiMkcmVzdWx0IC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgc3lzTmFtZS4wYCAuICc7JzsNCiRyZXN1bHQgLj0gJHRhcmdldF9pcCAuICc7JzsNCiRlcnJvciA9ICcnOw0KJGVycm9yIC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4yLjEgfCBncmVwIGV4aXN0c2A7DQokc2VyaWFsID0gJyc7DQokc2VyaWFsIC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4xMS4xYDsNCiRzZXJpYWwgPX4gcy9cInxcbnxcPHxcPnxcJnxcW3xcXS8vZzsNCg0KaWYgKCRlcnJvciBlcSAiIiAmJiAkc2VyaWFsIG5lICIiKXsNCiAgICAkcmVzdWx0IC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4yLjFgIC4gJzsnOw0KICAgICRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjExLjFgIC4gJzsnOw0KDQp9IGVsc2Ugew0KICAgICRWU1MgPSAnJzsNCiAgICAkVlNTIC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4yLjEgfCBncmVwIFZpcnR1YWxgOw0KICAgIGlmICgkVlNTIGVxICIiKSB7DQogICAgICAgICRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjIuMTAwMWAgLiAnOyc7DQogICAgICAgICRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjExLjEwMDFgIC4gJzsnOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjIuMWAgLiAnOyc7DQogICAgICAgICRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjExLjJgIC4gJzsnOw0KICAgIH0NCn0NCg0KJHJlc3VsdCAuPSBgc25tcGdldCAtdjJjIC1jICRjb21tdW5pdHkgLU92cSAkdGFyZ2V0X2lwIHN5c0Rlc2NyLjAgfCBncmVwIElPU2A7DQokcmVzdWx0ID1+IHMvXCJ8XG58XDx8XD58XCZ8XFt8XF0vL2c7DQpwcmludCAkcmVzdWx0IC4gIlxuIjsNCmV4aXQgMDsNCg=='); + + +INSERT INTO "tmodule_inventory" VALUES (24,9,'Services','Services installed','','Name;Command;Status',''); +SELECT setval('tmodule_inventory_id_module_inventory_seq', (SELECT (SELECT MAX(id_module_inventory) FROM tmodule_inventory))); + +-- +-- Dumping data for table `tlocal_component` +-- + +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (1,'Event 1000','module_begin\r\nmodule_name Event_1000-Citrix\r\nmodule_description\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source application\r\nmodule_eventtype\r\nmodule_eventcode 1000\r\nmodule_application\r\nmodule_end ','',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (2,'Event 1004','module_begin\r\nmodule_name Event_1004-Citrix\r\nmodule_description\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source application\r\nmodule_eventtype\r\nmodule_eventcode 1004\r\nmodule_application\r\nmodule_end ','',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (3,'Event 1202','module_begin\r\nmodule_name Event_1202-Citrix\r\nmodule_description\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source application\r\nmodule_eventtype\r\nmodule_eventcode 1202\r\nmodule_application\r\nmodule_end\r\nn ','',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (4,'Event 3621','module_begin\r\nmodule_name Event_3621\nr\nmodule_description Citrix cannot connect SQL server\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source application\r\nmodule_eventtype Error\r\nmodule_eventcode 3621\r\nmodule_application\r\nmodule_end ','Citrix cannot connect SQL server',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (5,'Event 9014','module_begin\r\nmodule_name Event_9014\nr\nmodule_description Invalid licence\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source system\r\nmodule_eventtype Error\r\nmodule_eventcode 9014\r\nmodule_application MetaFrame\r\nmodule_end ','Invalid licence',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (6,'Event 5774','module_begin\r\nmodule_name Event_5774\nr\nmodule_description Server goes to grace period (Not enough licences)\r\ndurante 96hr).\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source system\r\nmodule_eventtype Error\r\n\nmodule_eventcode 5774\r\nmodule_application MetaFrame\r\nmodule_end ','Server goes to grace period (Not enough licences)',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (7,'Event 1388','module_begin\r\nmodule_name Event_1388\nr\nmodule_description Citrix internal monitoring\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source application\r\nmodule_eventtype\r\nmodule_eventcode 1388\r\nmodule_application HCAService\r\nmodule_end ','Citrix internal monitoring',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (8,'Event 3961','module_begin\r\nmodule_name Event_3961\nr\nmodule_description The Data Collector is out of memory, and the Dynamic Store data might be out of sync. Please elect a new Data Collector and make sure you have enough memory on the new Data Collector\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source System\r\nmodule_eventtype\r\nmodule_eventcode 3961\r\nmodule_application\r\nmodule_end ','The Data Collector is out of memory, and the Dynamic Store data might be out of sync. Please elect a new Data Collector and make sure you have enough memory on the new Data Collector',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (9,'Serv_HCA','module_begin\r\nmodule_name Serv_HCA\r\nmodule_description\r\nmodule_type generic_proc\r\nmodule_service HCAService\r\nmodule_end ','',9,'',25,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (10,'Serv_CTXcpusvnc','module_begin\r\nmodule_name Serv_CTXcpusvnc\r\nmodule_description\r\nmodule_type generic_proc\r\nmodule_service CTXCpuusync\r\n\nmodule_end ','',9,'',25,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (11,'Serv_IMA','module_begin\r\nmodule_name Serv_IMA\r\n\nmodule_description\r\nmodule_type generic_proc\r\nmodule_service IMAService\r\nmodule_end ','',9,'',25,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (13,'Serv_CTXSMA','module_begin\r\nmodule_name Serv_CTXSMA\r\nmodule_description\r\nmodule_type generic_proc\r\nmodule_service Citrix SMA Service\r\nmodule_end','',9,'',25,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (14,'Citrix_Sessions','module_begin\r\nmodule_name Citrix_Sessions\r\nmodule_description Opened active sessions on server\r\nmodule_type generic_data\r\nmodule_exec query session | grep Active | wc -l\r\nmodule_end ','Opened active sessions on server',9,'',25,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (15,'Users_Connected','module_begin\r\nmodule_name Users_Connected\r\nmodule_description Users connected to this server\r\nmodule_type generic_data\r\nmodule_exec quser | grep Active | wc -l\r\nmodule_interval 2\r\nmodule_end\r\n ','Users connected to this server',9,'',25,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (16,'Busy XML Threads','module_begin\r\nmodule_name Busy XML Threads\r\nmodule_description Total threads in the manager who manage the sessions. If there are more than XX, service fails. NOTE: Run this module only in managers\r\nmodule_type generic_data\r\nmodule_exec Typeperf '\\MAQUINA\Citrix Metaframe Presentation Server\Number of busy XML threads' -sc 1\r\nmodule_end\r\n','Total threads in the manager who manage the sessions. If there are more than XX, service fails. NOTE: Run this module only in managers',9,'',25,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (17,'CPU Load','module_begin module_name CPU Load module_type generic_data module_wmiquery SELECT LoadPercentage FROM Win32_Processor module_wmicolumn LoadPercentage module_description CPU Load (%) module_min_warning 80 module_max_warning 90 module_min_critical 91 module_max_critical 100 module_end','CPU Load (using WMI)',9,'',11,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (18,'FreeMemory','# Free Memory module_begin module_name FreeMemory module_type generic_data module_freepercentmemory module_description Free memory (%). module_min_warning 21 module_max_warning 30 module_min_critical 0 module_max_critical 20 module_end','Free memory (%).',9,'',11,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (19,'Microsoft Antivirus','module_begin module_name Microsoft Antivirus module_type generic_proc module_service MsMpSvc module_description Check if microsoft antivirus/malware service is running module_end','Check if microsoft antivirus/malware service is running',9,'',11,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (21,'Microsoft Firewall','module_begin module_name Microsoft Firewall module_type generic_proc module_service MpsSvc module_description Microsoft windows firewall status. module_end','Microsoft windows firewall status.',9,'',11,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (22,'Kaspersky Antivirus','module_begin module_name Kaspersky Antivirus module_type generic_proc module_service AVP module_description Kaspersky Antivirus module_end','Checks Karspersky Antivirus service status',9,'',11,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (23,'CPU Free','module_begin module_name CPU Free module_type generic_data module_exec echo $(( 100-"vmstat 1 2 | tail -1 | awk '{ print $15 }'")) module_max 100 module_min 0 module_description Percentage CPU Free module_end','Percentage of free CPU',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (24,'Load Average','module_begin module_name Load Average module_type generic_data module_exec uptime | awk -F "," '{print $3}' | awk '{print $3}' | tr ­d "\n" module_description Average load last minute module_end ','Load average for last minute',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (25,'Memory Free','module_begin module_name Memory Free module_type generic_data module_freepercentmemory module_description Percentage Mem Free module_end ','Percentage of free memory',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (26,'Disk Free','module_begin module_name Disk Free module_type generic_data module_freepercentdisk / module_description Percentage Free Disk module_end ','Percentage of free disk',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (27,'SSH Status','module_begin module_name SSH Status module_type generic_proc module_exec ps -Af | grep sshd | grep -v "grep" | wc -l module_description Check ssh service module_end','Monitors SSH server status',1,'',43,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (28,'Free i-nodes','module_begin module_name Free i-nodes module_type generic_data module_exec df -i | grep -E "/$" | tail -1 | awk '{print 100-(($3/$2)*100)}' module_max 100 module_min 0 module_description Percentage Free i-nodes module_end ','Percentage of free i-nodes',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (29,'FreeDiskC','module_begin module_name FreeDiskC module_type generic_data module_freepercentdisk C: module_description Free space on drive C: (%) module_min_warning 31 module_max_warning 40 module_min_critical 0 module_max_critical 30 module_end ','Free space on disk C: (%)',9,'',11,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (30,'Windows_Update_LastRun','module_begin module_name Windows_Update_LastRun module_type generic_data_string module_exec getreg LM "SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" SetupWizardLaunchTime module_description Last date and time user launch microsoft Windows update module_end','Last date and time user launch microsoft Windows update',9,'',11,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (31,'cpu_user','module_begin module_name cpu_user module_type generic_data module_interval 1 module_exec vmstat -n0 1 2 | tail -1 | awk '{ print $15 }' module_max 100 module_min 0 module_description User CPU Usage (%) module_end','User CPU Usage (%)',4,'',47,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (32,'cpu_system','module_begin module_name cpu_system module_type generic_data module_interval 1 module_exec vmstat -n0 1 2 | tail -1 | awk '{ print $16 }' module_max 100 module_min 0 module_description System CPU Usage (%) module_end','System CPU Usage (%)',4,'',47,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (33,'Load Average','module_begin module_name Load Average module_type generic_data module_exec uptime | cut -d "," -f 4 | cut -d ":" -f 2 | sed "s/ //g" module_description Average process in CPU (Last minute) module_end ','Average process in CPU (Last minute)',4,'',47,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (34,'disk_root_free','module_begin module_name disk_root_free module_type generic_data module_exec df -kh / | tail -1 | awk '{ print 100-$5 }' module_max 100 module_min 0 module_description Free disk Percentage of root partition module_end','Free disk Percentage of root partition',4,'',47,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (35,'memfree','module_begin module_name memfree module_type generic_data module_exec vmstat -H 1 2 | tail -1 | awk '{print $5}' module_description Unused RAM memory module_end ','Free memory on system',4,'',47,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (36,'sshDaemon','module_begin module_name sshDaemon module_type generic_proc module_exec ps -Af | grep sshd | grep -v "grep" | wc -l | sed "s/ //g" module_end ','Check if SSH daemon is running',4,'',47,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (37,'cpu_user','module_begin module_name cpu_user module_type generic_data module_interval 1 module_exec sar 1 2 | tail -1 | awk '{ print $2 }' module_max 100 module_min 0 module_description User CPU Usage (%) module_min_warning 70 module_max_warning 90 module_min_critical 91 module_max_critical 100 module_end','User CPU Usage (%)',8,'',48,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (38,'Load Average','module_begin module_name Load Average module_type generic_data module_exec uptime | sed 's/.*load averages: //'|awk '{print $1}' module_description Average process in CPU (Last minute) module_end ','Average process in CPU (Last minute)',8,'',48,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (39,'Cache mem free','module_begin module_name Cache mem free module_type generic_data module_exec vm_stat | grep 'Pages free'| awk '{print $3/256}' module_description Free cache memory in MB module_min_warning 500 module_max_warning 600 module_min_critical 100 module_max_critical 499 module_end ','Free cache memory in MB',8,'',48,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (40,'Free disk Percentage of root partition','module_begin module_name disk_root_free module_type generic_data module_exec df -kh / | tail -1 | awk '{ print 100-$5 }' module_max 100 module_min 0 module_description Free disk Percentage of root partition module_min_warning 70 module_max_warning 90 module_min_critical 91 module_max_critical 100 module_end','Free disk Percentage of root partition',8,'',48,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (41,'disk_usage_/','module_begin module_name disk_usage_/ module_type generic_data module_exec df -P | grep -e "/$" | awk '{print $5}' | tr -d % module_description Disk usage on / (%) module_end','Disk usage on / (%)',5,'',44,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (42,'Swap_Free','module_begin module_name Swap_Free module_type generic_data module_exec /usr/sbin/swapinfo -t | grep memory | tr -d "%" | awk '{ print 100-$5 }' module_description Unused swap memory module_end ','Unused swap memory',5,'',44,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (43,'RAM_Free','module_begin module_name RAM_Free module_type generic_data module_exec /usr/sbin/swapinfo -t | grep memory | awk '{print $4}' module_description Unused RAM memory module_end ','Unused RAM memory',5,'',44,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (44,'CPU_User','module_begin module_name CPU_User module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $16 }' module_description % of USER CPU module_end','% of USER CPU',5,'',44,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (45,'CPU_System','module_begin module_name CPU_System module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $17 }' module_description % of system CPU module_end ','% of system CPU',5,'',44,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (46,'disk_root_free','module_begin module_name disk_root_free module_type generic_data module_exec df -k / | tail -1 | tr -d "%" | awk '{ print 100-$5 }' module_max 100 module_min 0 module_description Free disk Percentage of root partition module_end','Free disk Percentage of root partition',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (47,'Swap_Free','module_begin module_name Swap_Free module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $4 }' module_description Unused swap memory module_end','Unused swap memory',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (48,'RAM_Free','module_begin module_name RAM_Free module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $5 }' module_description Unused RAM memory module_end','Unused RAM memory',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (49,'CPU_System','module_begin module_name CPU_System module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $21 }' module_description % of system CPU module_end','% of system CPU',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (50,'Disk_Seek_Operations','module_begin module_name Disk_Seek_Operations module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $14 }' module_description Disk Seek operations module_end','Disk Seek operations',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (51,'Pandora_Agent_RAM','module_begin module_name Pandora_Agent_RAM module_type generic_data module_exec ps -Afly | grep perl | grep -v grep | awk '{ print $9 }' module_description Return size in KB of memory used by process Pandora module_end ','Return size in KB of memory used by process Pandora',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (52,'InetdDaemon','module_begin module_name InetdDaemon module_type generic_proc module_exec ps -Af | grep inetd | grep -v "grep" | wc -l | awk '{ print $1 }' module_end','Check inetd daemon running',2,'',45,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (53,'Pandora_Agent_RAM','module_begin module_name Pandora_Agent_RAM module_type generic_data module_exec ps axu | grep perl | grep -v grep | awk '{ print $4 }' | tr "," "." module_end ','Return RAM used by pandora fms agent.',3,'',46,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (54,'InetdDaemon','module_begin module_name InetdDaemon module_type generic_proc module_exec ps -Af | grep inetd | grep -v "grep" | wc -l | awk '{ print $1 }' module_end ','Check inetddaemon running in system',3,'',46,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (55,'disk_root_free','module_begin module_name disk_root_free module_type generic_data module_exec df -k / | tail -1 | awk '{ print 100-$4 }' module_max 100 module_min 0 module_description Free disk Percentage of root partition module_end','Free disk Percentage of root partition',3,'',46,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (56,'OpenedFiles ','module_begin module_name OpenedFiles module_type generic_data module_exec lsof | wc -l module_description Total files opened in system module_end ','Total files opened in system ',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (57,'Zombie processes','module_begin module_name Zombie processes module_type generic_data module_exec ps ­eos | grep Z | wc ­l | tr ­d “\n” module_description Number of zombie processes module_end ','Number of zombie processes ',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO "tlocal_component" ("id", "name", "data", "description", "id_os", "os_version", "id_network_component_group", "type", "max", "min", "module_interval", "id_module_group", "history_data", "min_warning", "max_warning", "str_warning", "min_critical", "max_critical", "str_critical", "min_ff_event", "post_process", "unit", "wizard_level", "macros", "critical_instructions", "warning_instructions", "unknown_instructions", "critical_inverse", "warning_inverse", "id_category", "tags", "disabled_types_event", "min_ff_event_normal", "min_ff_event_warning", "min_ff_event_critical", "each_ff", "ff_timeout", "dynamic_interval", "dynamic_max", "dynamic_min", "prediction_sample_window", "prediction_samples", "prediction_threshold") VALUES (58,'Disk_IO_Wait','module_begin module_name Disk_IO_Wait module_type generic_data module_exec top -n 3 -c | grep "Cpu" | awk '{ print $6 }' | grep -o "[0-9]*" | tail -1 module_description Simple approach to IO/Wait monitoring. module_end ','Simple approach to IO/Wait monitoring. ',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +SELECT setval('tlocal_component_id_seq', (SELECT (SELECT MAX(id) FROM tlocal_component)),'basic'); + +-- +-- Dumping data for table `tskin` +-- +INSERT INTO "tskin" VALUES (1,'skin default', 'skin_default', 'Default skin for Pandora FMS web console', 1); +INSERT INTO "tskin" VALUES (2,'Legacy', 'legacy', 'Skin of the visual style of Pandora FMS 4.x and previous versions', 1); +SELECT setval('tskin_id_seq', (SELECT (SELECT MAX(id) FROM tskin))); + +INSERT INTO `tmodule_inventory` VALUES (27,1,'IP','IP address','','Interface;Address',''); +INSERT INTO `tmodule_inventory` VALUES (28,1,'Routes','Routes table','','Destination;Gateway;Mask;Flags;Metric;Use;Interface',''); + +--- +--- Dumping data for table `tcollection` +--- + +INSERT INTO `tcollection` VALUES (1,'Apache Enterprise Plugin','apache_plugin',0,'Apache Enterprise Plugin to monitor Apache web server using a Perl script.',0); + +--- Example policies + +INSERT INTO `tpolicies` VALUES (1,'Basic Remote Checks','',13,0),(2,'Basic Linux Local Monitoring','',2,0),(3,'Basic Windows Local Monitoring','',2,0); +INSERT INTO `tpolicy_modules` VALUES (1,1,'',9,'','Check 80 port','',0,0,300,80,'','','public','',1,1,2,0,0,'','','',0,0.0000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0),(2,1,'',9,'','Check 443 port','',0,0,0,80,'','','public','',1,1,2,0,0,'','','',0,0.0000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0),(3,1,'',30,'','Check Web Latency','',0,0,0,0,'','','public','',1,1,7,0,0,'Pandora FMS 3.0 / Webcheck','1','task_begin get http://www.google.com check_string iGoogle task_end',0,0.0000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0),(4,1,'',31,'','Check Web Content','',0,0,0,0,'','','public','',1,1,7,0,0,'Pandora FMS 3.0 / Webcheck','1','task_begin get http://www.google.com check_string iGoogle task_end',0,0.0000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0),(5,2,'module_begin module_name Physical mem. free module_type generic_data module_freepercentmemory module_description Percentage Mem Free Phys module_end',1,'','Physical mem. free','',0,0,0,0,'','','','',1,1,1,0,0,'','','',0,0.0000000000000,0,0,0,'',1,31.00,40.00,'',0.00,30.00,'',0,NULL,NULL,NULL,0,0,0),(6,2,'module_begin module_name Zombie processes module_type generic_data module_exec ps -eos | grep Z | wc -l | tr -d “\n” module_description Number of zombie processes module_end',1,'','Zombie processes','',0,0,0,0,'','','','',1,1,1,0,0,'','','',0,0.0000000000000,0,0,0,'',1,30.00,60.00,'',61.00,100.00,'',0,NULL,NULL,NULL,0,0,0),(7,2,'module_begin module_name Processes high CPU module_type generic_data_string module_exec ps -eo pcpu,pid | sort -n | grep -v CPU | tail -1 | awk '{if ($1>90) print $2; else print "NA"}' | tr -d "\n" module_description PID Processes > 90% CPU module_end',3,'','Processes high CPU','',0,0,0,0,'','','','',1,1,1,0,0,'','','',0,0.0000000000000,0,0,0,'',1,50.00,100.00,'',101.00,300.00,'',0,NULL,NULL,NULL,0,0,0),(8,2,'module_begin module_name Free inodos / module_type generic_data module_exec df -i | grep -E "/$" | awk '{print 100-(($3/$2)*100)}' module_max 100 module_min 0 module_description Percentage Free i-nodos module_end',1,'','Free inodos /','',0,0,0,0,'','','','',1,1,1,0,0,'','','',0,0.0000000000000,0,0,0,'',1,21.00,30.00,'',0.00,20.00,'',0,NULL,NULL,NULL,0,0,0),(9,3,'module_begin module_name WMI Service module_type generic_proc module_service winmgmt module_description WMI Service enabled module_end',2,'','WMI Service','',0,0,0,0,'','','','',1,1,1,0,0,'','','',0,0.0000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0),(10,3,'module_begin module_name SNMP Service module_type generic_proc module_service SNMP module_description SNMP Service enabled module_end',2,'','SNMP Service','',0,0,0,0,'','','','',1,1,1,0,0,'','','',0,0.0000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0),(11,3,'module_begin module_name Disk Structure Corrupted module_type async_string module_logevent module_source System module_eventcode 55 module_application Ntfs module_description Disk structure corrupted module_end',23,'','Disk Structure Corrupted','',0,0,0,0,'','','','',1,1,1,0,0,'','','',0,0.0000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0),(12,3,'module_begin module_name Account deleted module_type async_string module_logevent module_source Security module_eventcode 4726 module_description Account deleted module_end',23,'','Account deleted','',0,0,0,0,'','','','',1,1,1,0,0,'','','',0,0.0000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0); +INSERT INTO `tpolicy_alerts` VALUES (1,1,2,1,'',0,0,0),(2,1,1,1,'',0,0,0),(3,1,4,1,'',0,0,0),(4,2,8,1,'',0,0,0),(5,2,5,1,'',0,0,0),(6,2,7,1,'',0,0,0),(7,2,6,1,'',0,0,0),(8,3,10,1,'',0,0,0),(9,3,9,1,'',0,0,0); + +-- +-- Dumping data for table `tprofile_view` +-- +INSERT INTO "tprofile_view" ("id_profile", "sec", "sec2") VALUES (5, '*', '*'); \ No newline at end of file diff --git a/pandora_console/pandoradb.oracle.sql b/pandora_console/pandoradb.oracle.sql index b8bc64f78c..614f954380 100644 --- a/pandora_console/pandoradb.oracle.sql +++ b/pandora_console/pandoradb.oracle.sql @@ -2174,3 +2174,1060 @@ CREATE TABLE IF NOT EXISTS trel_item ( ); CREATE SEQUENCE trel_item_s INCREMENT BY 1 START WITH 1; CREATE OR REPLACE TRIGGER trel_item_inc BEFORE INSERT ON trel_item REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT trel_item_s.nextval INTO :NEW.id FROM dual; END trel_item_inc;; + +-- ----------------------------------------------------- +-- Table "tlocal_component" +-- ----------------------------------------------------- +-- tlocal_component is a repository of local modules for +-- physical agents on Windows / Unix physical agents +CREATE TABLE tlocal_component ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + name CLOB NOT NULL, + data CLOB NOT NULL, + description VARCHAR2(1024) default NULL, + id_os NUMBER(10, 0) default 0 NOT NULL, + os_version VARCHAR2(100) default '', + id_network_component_group NUMBER(10, 0) default 0 NOT NULL REFERENCES tnetwork_component_group(id_sg) ON DELETE CASCADE, + type NUMBER(6, 0) default 6 NOT NULL, + max NUMBER(19, 0) default 0 NOT NULL, + min NUMBER(19, 0) default 0 NOT NULL, + module_interval NUMBER(10, 0) default 0 NULL, + id_module_group NUMBER(10, 0) default 0 NOT NULL, + history_data NUMBER(5, 0) default 1 NOT NULL, + min_warning DOUBLE PRECISION default 0 NOT NULL, + max_warning DOUBLE PRECISION default 0 NOT NULL, + str_warning CLOB default '', + min_critical DOUBLE PRECISION default 0 NOT NULL, + max_critical DOUBLE PRECISION default 0 NOT NULL, + str_critical CLOB default '', + min_ff_event NUMBER(10, 0) default 0 NOT NULL, + post_process DOUBLE PRECISION default 0 NOT NULL, + unit CLOB default '', + wizard_level VARCHAR2(100) default 'nowizard' NOT NULL, + macros CLOB default '', + critical_instructions VARCHAR2(255) default '', + warning_instructions VARCHAR2(255) default '', + unknown_instructions VARCHAR2(255) default '', + critical_inverse NUMBER(1, 0) default 0 NOT NULL, + warning_inverse NUMBER(1, 0) default 0 NOT NULL, + id_category NUMBER(10, 0) default 0 NOT NULL, + tags CLOB default '', + disabled_types_event CLOB default '', + min_ff_event_normal INTEGER default 0, + min_ff_event_warning INTEGER default 0, + min_ff_event_critical INTEGER default 0, + each_ff NUMBER(1, 0) default 0, + ff_timeout INTEGER default 0, + dynamic_interval INTEGER default 0, + dynamic_max INTEGER default 0, + dynamic_min INTEGER default 0, + dynamic_next INTEGER default 0 NOT NULL, + dynamic_two_tailed NUMBER(1, 0) default 0, + prediction_sample_window INTEGER default 0, + prediction_samples INTEGER default 0, + prediction_threshold INTEGER default 0, + CONSTRAINT t_local_component_wizard_cons CHECK (wizard_level IN ('basic','advanced','nowizard')) +); + +CREATE SEQUENCE tlocal_component_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tlocal_component_inc BEFORE INSERT ON tlocal_component REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tlocal_component_s.nextval INTO :NEW.ID FROM dual; END tlocal_component_inc;; +-- on update trigger +CREATE OR REPLACE TRIGGER tlocal_component_update AFTER UPDATE OF ID_SG ON tnetwork_component_group FOR EACH ROW BEGIN UPDATE tlocal_component SET ID_NETWORK_COMPONENT_GROUP = :NEW.ID_SG WHERE ID_NETWORK_COMPONENT_GROUP = :OLD.ID_SG; END;; + + +-- ----------------------------------------------------- +-- Table "tpolicy_modules" +-- ----------------------------------------------------- +CREATE TABLE tpolicy_modules ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_policy NUMBER(10, 0) default 0 NOT NULL, + configuration_data CLOB default '', + id_tipo_modulo NUMBER(5, 0) default 0 NOT NULL, + description VARCHAR2(1024) default '', + name VARCHAR2(200) default '' NOT NULL, + unit CLOB default '', + max NUMBER(19, 0) default 0 NOT NULL, + min NUMBER(19, 0) default 0 NOT NULL, + module_interval NUMBER(10, 0) default 0 NOT NULL, + tcp_port NUMBER(10, 0) default 0 NOT NULL, + tcp_send CLOB default '', + tcp_rcv CLOB default '', + snmp_community VARCHAR2(100) default '', + snmp_oid VARCHAR2(255) default '0', + id_module_group NUMBER(10, 0) default 0 NOT NULL, + flag NUMBER(5, 0) default 0 NOT NULL, + id_module NUMBER(10, 0) default 0 NOT NULL, + disabled NUMBER(5, 0) default 0 NOT NULL, + id_export NUMBER(5, 0) default 0 NOT NULL, + plugin_user CLOB default '', + plugin_pass CLOB default '', + plugin_parameter CLOB, + id_plugin NUMBER(10, 0) default 0 NOT NULL, + post_process BINARY_DOUBLE default NULL, + prediction_module NUMBER(19, 0) default 0 NOT NULL, + max_timeout NUMBER(10, 0) default 0 NOT NULL, + max_retries NUMBER(10, 0) default 0 NOT NULL, + custom_id VARCHAR2(255) default '', + history_data NUMBER(5, 0) default 1 NOT NULL, + min_warning BINARY_DOUBLE default 0, + max_warning BINARY_DOUBLE default 0, + str_warning CLOB default '', + min_critical BINARY_DOUBLE default 0, + max_critical BINARY_DOUBLE default 0, + str_critical CLOB default '', + min_ff_event NUMBER(10, 0) default 0 NOT NULL, + custom_string_1 CLOB default '', + custom_string_2 CLOB default '', + custom_string_3 CLOB default '', + custom_integer_1 NUMBER(10, 0) default 0 NOT NULL, + custom_integer_2 NUMBER(10, 0) default 0 NOT NULL, + pending_delete NUMBER(5, 0) default 0 NOT NULL, + critical_instructions CLOB default '', + warning_instructions CLOB default '', + unknown_instructions CLOB default '', + critical_inverse NUMBER(1, 0) default 0 NOT NULL, + warning_inverse NUMBER(1, 0) default 0 NOT NULL, + id_category NUMBER(10, 0) default 0 NOT NULL, + module_ff_interval NUMBER(19, 0) default 0 NOT NULL, + quiet NUMBER(5, 0) default 0 NOT NULL, + cron_interval VARCHAR2(100) DEFAULT '', + macros CLOB default '', + disabled_types_event CLOB default '', + module_macros CLOB default '', + min_ff_event_normal INTEGER default 0, + min_ff_event_warning INTEGER default 0, + min_ff_event_critical INTEGER default 0, + each_ff NUMBER(1, 0) default 0, + ff_timeout INTEGER default 0, + dynamic_interval INTEGER default 0, + dynamic_max INTEGER default 0, + dynamic_min INTEGER default 0, + dynamic_next INTEGER NOT NULL default 0, + dynamic_two_tailed INTEGER default 0, + prediction_sample_window INTEGER default 0, + prediction_samples INTEGER default 0, + prediction_threshold INTEGER default 0 +); +CREATE UNIQUE INDEX tpolicy_modules_id_pol_na_idx ON tpolicy_modules(id_policy, name); +CREATE INDEX tpolicy_modules_id_policy_idx ON tpolicy_modules(id_policy); + +CREATE SEQUENCE tpolicy_modules_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicy_modules_inc BEFORE INSERT ON tpolicy_modules REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicy_modules_s.nextval INTO :NEW.ID FROM dual; END tpolicy_modules_inc;; + + +-- ----------------------------------------------------- +-- Table "tpolicies" +-- ----------------------------------------------------- +-- 'status' could be 0 (without changes, updated), 1 (needy update only database) or 2 (needy update database and conf files) +CREATE TABLE tpolicies ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + name VARCHAR2(255) NOT NULL, + description VARCHAR2(255) default '', + id_group NUMBER(10, 0) default 0 NOT NULL, + status NUMBER(10, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tpolicies_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicies_inc BEFORE INSERT ON tpolicies REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicies_s.nextval INTO :NEW.ID FROM dual; END tpolicies_inc;; + + +-- ----------------------------------------------------- +-- Table "tpolicy_alerts" +-- ----------------------------------------------------- +CREATE TABLE tpolicy_alerts ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_policy NUMBER(10, 0) default 0 NOT NULL REFERENCES tpolicies(id) ON DELETE CASCADE, + id_policy_module NUMBER(10, 0) default 0 NOT NULL, + id_alert_template NUMBER(10, 0) default 0 NOT NULL REFERENCES talert_templates(id) ON DELETE CASCADE, + name_extern_module VARCHAR2(300) default '', + disabled NUMBER(5, 0) default 0 NOT NULL, + standby NUMBER(5, 0) default 0 NOT NULL, + pending_delete NUMBER(5, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tpolicy_alerts_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicy_alerts_inc BEFORE INSERT ON tpolicy_alerts REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicy_alerts_s.nextval INTO :NEW.ID FROM dual; END tpolicy_alerts_inc;; +-- on update trigger +CREATE OR REPLACE TRIGGER tpolicy_alerts_update AFTER UPDATE OF ID ON tpolicies FOR EACH ROW BEGIN UPDATE tpolicy_alerts SET ID_POLICY = :NEW.ID WHERE ID_POLICY = :OLD.ID; END;; +-- on update trigger 1 +CREATE OR REPLACE TRIGGER tpolicy_alerts_update1 AFTER UPDATE OF ID ON talert_templates FOR EACH ROW BEGIN UPDATE tpolicy_alerts SET ID_ALERT_TEMPLATE = :NEW.ID WHERE ID_ALERT_TEMPLATE = :OLD.ID; END;; + + +-- ----------------------------------------------------- +-- Table "tpolicy_agents" +-- ----------------------------------------------------- +CREATE TABLE tpolicy_agents ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_policy NUMBER(10, 0) default 0 NOT NULL, + id_agent NUMBER(10, 0) default 0 NOT NULL, + policy_applied NUMBER(5, 0) default 0 NOT NULL, + pending_delete NUMBER(5, 0) default 0 NOT NULL, + last_apply_utimestamp NUMBER(10, 0) default 0 NOT NULL +); +CREATE UNIQUE INDEX tpolicy_agents_id_po_id_ag_idx ON tpolicy_agents(id_policy, id_agent); + +CREATE SEQUENCE tpolicy_agents_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicy_agents_inc BEFORE INSERT ON tpolicy_agents REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicy_agents_s.nextval INTO :NEW.ID FROM dual; END tpolicy_agents_inc;; + + +-- ----------------------------------------------------- +-- Table "tdashboard" +-- ----------------------------------------------------- +CREATE TABLE tdashboard ( + id NUMBER(19, 0) NOT NULL PRIMARY KEY, + name VARCHAR2(60) default '' NOT NULL, + id_user VARCHAR2(60) default '' NOT NULL, + id_group NUMBER(10, 0) default 0 NOT NULL, + active NUMBER(5, 0) default 0 NOT NULL, + cells CLOB default '' +); + +CREATE SEQUENCE tdashboard_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tdashboard_inc BEFORE INSERT ON tdashboard REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tdashboard_s.nextval INTO :NEW.ID FROM dual; END tdashboard_inc;; + + +-- ----------------------------------------------------- +-- Table "twidget" +-- ----------------------------------------------------- +CREATE TABLE twidget ( + id NUMBER(19, 0) NOT NULL PRIMARY KEY, + class_name VARCHAR2(60) default '' NOT NULL, + unique_name VARCHAR2(60) default '' NOT NULL, + description CLOB default '' NOT NULL, + options CLOB default '' NOT NULL, + page VARCHAR2(120) default '' NOT NULL +); + +CREATE SEQUENCE twidget_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER twidget_inc BEFORE INSERT ON twidget REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT twidget_s.nextval INTO :NEW.ID FROM dual; END twidget_inc;; + + +-- ----------------------------------------------------- +-- Table "twidget_dashboard" +-- ----------------------------------------------------- +CREATE TABLE twidget_dashboard ( + id NUMBER(19, 0) NOT NULL PRIMARY KEY, + options CLOB default '', + "order" NUMBER(10, 0) default 0 NOT NULL, + id_dashboard NUMBER(19, 0) default 0 NOT NULL REFERENCES tdashboard(id) ON DELETE CASCADE, + id_widget NUMBER(19, 0) default 0 NOT NULL, + prop_width DOUBLE PRECISION default 0.32 NOT NULL, + prop_height DOUBLE PRECISION default 0.32 NOT NULL +); + +CREATE SEQUENCE twidget_dashboard_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER twidget_dashboard_inc BEFORE INSERT ON twidget_dashboard REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT twidget_dashboard_s.nextval INTO :NEW.ID FROM dual; END twidget_dashboard_inc;; +-- on update trigger +CREATE OR REPLACE TRIGGER twidget_dashboard_update AFTER UPDATE OF ID ON tdashboard FOR EACH ROW BEGIN UPDATE twidget_dashboard SET ID_DASHBOARD = :NEW.ID WHERE ID_DASHBOARD = :OLD.ID; END;; +-- on update trigger 1 +CREATE OR REPLACE TRIGGER twidget_dashboard_update1 AFTER UPDATE OF ID ON twidget FOR EACH ROW BEGIN UPDATE twidget_dashboard SET ID_WIDGET = :NEW.ID WHERE ID_WIDGET = :OLD.ID; END;; + + +-- ----------------------------------------------------- +-- Table "tmodule_inventory" +-- ----------------------------------------------------- +CREATE TABLE tmodule_inventory ( + id_module_inventory NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_os NUMBER(10, 0) default NULL REFERENCES tconfig_os(id_os) ON DELETE CASCADE, + name VARCHAR2(100) default '', + description VARCHAR2(100) default '', + interpreter VARCHAR2(100) default '', + data_format VARCHAR2(100) default '', + code CLOB default '', + block_mode NUMBER(3, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tmodule_inventory_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tmodule_inventory_inc BEFORE INSERT ON tmodule_inventory REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tmodule_inventory_s.nextval INTO :NEW.ID_MODULE_INVENTORY FROM dual; END tmodule_inventory_inc;; + + +-- ----------------------------------------------------- +-- Table "tagente_datos_inventory" +-- ----------------------------------------------------- +CREATE TABLE tagente_datos_inventory ( + id_agent_module_inventory NUMBER (10, 0) NOT NULL, + data CLOB default '', + utimestamp NUMBER(10, 0) default 0 NOT NULL, + timestamp TIMESTAMP default NULL +); +CREATE INDEX tagente_datos_inventory_id ON tagente_datos_inventory(id_agent_module_inventory); +CREATE INDEX tagente_datos_inventory_ut ON tagente_datos_inventory(utimestamp); + +-- This sequence will not work with the 'insert_id' procedure + +-- on update trigger +CREATE OR REPLACE TRIGGER tmodule_inventory_update AFTER UPDATE OF ID_OS ON tconfig_os FOR EACH ROW BEGIN UPDATE tmodule_inventory SET ID_OS = :NEW.ID_OS WHERE ID_OS = :OLD.ID_OS; END;; + + +-- ----------------------------------------------------- +-- Table "tagent_module_inventory" +-- ----------------------------------------------------- +CREATE TABLE tagent_module_inventory ( + id_agent_module_inventory NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_agente NUMBER(10, 0) NOT NULL REFERENCES tagente(id_agente) ON DELETE CASCADE, + id_module_inventory NUMBER(10, 0) NOT NULL REFERENCES tmodule_inventory(id_module_inventory) ON DELETE CASCADE, + target VARCHAR2(100) default '', + "interval" NUMBER(10, 0) default 3600 NOT NULL, + username VARCHAR2(100) default '', + password VARCHAR2(100) default '', + data CLOB default '', + timestamp TIMESTAMP default NULL, + utimestamp NUMBER(19, 0) default 0 NOT NULL, + flag NUMBER(5, 0) default 1 NOT NULL, + id_policy_module_inventory NUMBER(10, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tagent_module_inventory_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tagent_module_inventory_inc BEFORE INSERT ON tagent_module_inventory REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tagent_module_inventory_s.nextval INTO :NEW.ID_AGENT_MODULE_INVENTORY FROM dual; END tagent_module_inventory_inc;; +-- on update trigger +CREATE OR REPLACE TRIGGER tagent_module_inventory_update AFTER UPDATE OF ID_AGENTE ON tagente FOR EACH ROW BEGIN UPDATE tagent_module_inventory SET ID_AGENTE = :NEW.ID_AGENTE WHERE ID_AGENTE = :OLD.ID_AGENTE; END;; +-- on update trigger 1 +CREATE OR REPLACE TRIGGER tagent_module_inventor_update1 AFTER UPDATE OF ID_MODULE_INVENTORY ON tmodule_inventory FOR EACH ROW BEGIN UPDATE tagent_module_inventory SET ID_MODULE_INVENTORY = :NEW.ID_MODULE_INVENTORY WHERE ID_MODULE_INVENTORY = :OLD.ID_MODULE_INVENTORY; END;; + + +-- ----------------------------------------------------- +-- Table "ttrap_custom_values" +-- ----------------------------------------------------- +CREATE TABLE ttrap_custom_values ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + oid VARCHAR2(255) default '' NOT NULL, + custom_oid VARCHAR2(255) default '' NOT NULL, + text VARCHAR2(255) default '', + description VARCHAR2(255) default '', + severity NUMBER(10, 0) default 2 NOT NULL, + CONSTRAINT oid_custom_oid UNIQUE(oid, custom_oid) +); + +CREATE SEQUENCE ttrap_custom_values_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER ttrap_custom_values_inc BEFORE INSERT ON ttrap_custom_values REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT ttrap_custom_values_s.nextval INTO :NEW.ID FROM dual; END ttrap_custom_values_inc;; + + +-- ----------------------------------------------------- +-- Table "tmetaconsole_setup" +-- ----------------------------------------------------- +--Table to store metaconsole sources +CREATE TABLE tmetaconsole_setup ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + server_name VARCHAR2(1000) default '', + server_url CLOB default '', + dbuser CLOB default '', + dbpass CLOB default '', + dbhost CLOB default '', + dbport CLOB default '', + dbname CLOB default '', + auth_token CLOB default '', + id_group NUMBER(10, 0) default 0 NOT NULL, + api_password CLOB default '', + disabled NUMBER(10, 0) default 0, + last_event_replication NUMBER(19, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tmetaconsole_setup_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tmetaconsole_setup_inc BEFORE INSERT ON tmetaconsole_setup REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tmetaconsole_setup_s.nextval INTO :NEW.ID FROM dual; END tmetaconsole_setup_inc;; + + +-- ----------------------------------------------------- +-- Table "tprofile_view" +-- ----------------------------------------------------- +--Table to define by each profile defined in Pandora, to which sec/page has access independently of its ACL (for showing in the console or not). By default have access to all pages allowed by ACL, if forbidden here, then pages are not shown. +CREATE TABLE tprofile_view ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_profile NUMBER(10, 0) default 0 NOT NULL, + sec CLOB default '', + sec2 CLOB default '', + sec3 CLOB default '' +); + +CREATE SEQUENCE tprofile_view_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tprofile_view_inc BEFORE INSERT ON tprofile_view REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tprofile_view_s.nextval INTO :NEW.ID FROM dual; END tprofile_view_inc;; + + +-- ----------------------------------------------------- +-- Table "tservice" +-- ----------------------------------------------------- +--Table to define services to monitor +CREATE TABLE tservice ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + name VARCHAR2(100) default '' NOT NULL, + description CLOB default '' NOT NULL, + id_group NUMBER(10, 0) default 0 NOT NULL, + critical BINARY_DOUBLE default 0 NOT NULL, + warning BINARY_DOUBLE default 0 NOT NULL, + service_interval BINARY_DOUBLE default 0 NOT NULL, + service_value BINARY_DOUBLE default 0 NOT NULL, + status NUMBER(10, 0) default -1 NOT NULL, + utimestamp NUMBER(10, 0) default 0 NOT NULL, + auto_calculate NUMBER(10, 0) default 1 NOT NULL, + id_agent_module NUMBER(10, 0) default 0 NOT NULL, + sla_interval DOUBLE PRECISION default 0 NOT NULL, + sla_id_module NUMBER(10, 0) default 0 NOT NULL, + sla_value_id_module NUMBER(10, 0) default 0 NOT NULL, + sla_limit DOUBLE PRECISION default 100 NOT NULL, + id_template_alert_warning NUMBER(10, 0) default 0 NOT NULL, + id_template_alert_critical NUMBER(10, 0) default 0 NOT NULL, + id_template_alert_unknown NUMBER(10, 0) default 0 NOT NULL, + id_template_alert_critical_sla NUMBER(10, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tservice_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tservice_inc BEFORE INSERT ON tservice REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tservice_s.nextval INTO :NEW.ID FROM dual; END tservice_inc;; + + +-- ----------------------------------------------------- +-- Table "tservice_element" +-- ----------------------------------------------------- +--Table to define the modules and the weights of the modules that define a service +CREATE TABLE tservice_element ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_service NUMBER(10, 0) NOT NULL, + weight_ok BINARY_DOUBLE default 0 NOT NULL, + weight_warning BINARY_DOUBLE default 0 NOT NULL, + weight_critical DOUBLE PRECISION default 0 NOT NULL, + weight_unknown DOUBLE PRECISION default 0 NOT NULL, + description CLOB default '', + id_agente_modulo NUMBER(10, 0) default 0 NOT NULL, + id_agent NUMBER(10, 0) default 0 NOT NULL, + id_service_child NUMBER(10, 0) default 0 NOT NULL, + id_server_meta NUMBER(10, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tservice_element_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tservice_element_inc BEFORE INSERT ON tservice_element REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tservice_element_s.nextval INTO :NEW.ID FROM dual; END tservice_element_inc;; + + +-- ----------------------------------------------------- +-- Table "tcollection" +-- ----------------------------------------------------- +CREATE TABLE tcollection ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + name VARCHAR2(100) default '' NOT NULL, + short_name VARCHAR2(100) default '' NOT NULL, + id_group NUMBER(10, 0) default 0 NOT NULL, + description CLOB, + status NUMBER(10, 0) default 0 NOT NULL +); +-- status: 0 - Not apply +-- status: 1 - Applied + +CREATE SEQUENCE tcollection_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tcollection_inc BEFORE INSERT ON tcollection REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tcollection_s.nextval INTO :NEW.ID FROM dual; END tcollection_inc;; + + +-- ----------------------------------------------------- +-- Table "tpolicy_collections" +-- ----------------------------------------------------- +CREATE TABLE tpolicy_collections ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_policy NUMBER(10, 0) default 0 NOT NULL REFERENCES tpolicies (id) ON DELETE CASCADE, + id_collection NUMBER(10, 0) default 0 NOT NULL REFERENCES tcollection (id) ON DELETE CASCADE, + pending_delete NUMBER(5, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tpolicy_collections_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicy_collections_inc BEFORE INSERT ON tpolicy_collections REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicy_collections_s.nextval INTO :NEW.ID FROM dual; END tpolicy_collections_inc;; +-- on update trigger +CREATE OR REPLACE TRIGGER tpolicy_collections_update AFTER UPDATE OF ID ON tpolicies FOR EACH ROW BEGIN UPDATE tpolicy_collections SET ID_POLICY = :NEW.ID WHERE ID_POLICY = :OLD.ID; END;; +-- on update trigger 1 +CREATE OR REPLACE TRIGGER tpolicy_collections_update1 AFTER UPDATE OF ID ON tcollection FOR EACH ROW BEGIN UPDATE tpolicy_collections SET ID_COLLECTION = :NEW.ID WHERE ID_COLLECTION = :OLD.ID; END;; + + +-- ----------------------------------------------------- +-- Table "tpolicy_alerts_actions" +-- ----------------------------------------------------- +CREATE TABLE tpolicy_alerts_actions ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_policy_alert NUMBER(10, 0) default 0 NOT NULL REFERENCES tpolicy_alerts (id) ON DELETE CASCADE, + id_alert_action NUMBER(10, 0) default 0 NOT NULL REFERENCES talert_actions (id) ON DELETE CASCADE, + fires_min NUMBER(10, 0) default 0, + fires_max NUMBER(10, 0) default 0 +); + +CREATE SEQUENCE tpolicy_alerts_actions_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicy_alerts_actions_inc BEFORE INSERT ON tpolicy_alerts_actions REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicy_alerts_actions_s.nextval INTO :NEW.ID FROM dual; END tpolicy_alerts_actions_inc;; +-- on update trigger +CREATE OR REPLACE TRIGGER tpolicy_alerts_actions_update AFTER UPDATE OF ID ON tpolicy_alerts FOR EACH ROW BEGIN UPDATE tpolicy_alerts_actions SET ID_POLICY_ALERT = :NEW.ID WHERE ID_POLICY_ALERT = :OLD.ID; END;; +-- on update trigger 1 +CREATE OR REPLACE TRIGGER tpolicy_alerts_actions_update1 AFTER UPDATE OF ID ON talert_actions FOR EACH ROW BEGIN UPDATE tpolicy_alerts_actions SET ID_ALERT_ACTION = :NEW.ID WHERE ID_ALERT_ACTION = :OLD.ID; END;; + +-- ----------------------------------------------------- +-- Table "tpolicy_plugins" +-- ----------------------------------------------------- +CREATE TABLE tpolicy_plugins ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_policy NUMBER(10, 0) default 0 NOT NULL, + plugin_exec CLOB default '', + pending_delete NUMBER(5, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tpolicy_plugins_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicy_plugins_inc BEFORE INSERT ON tpolicy_plugins REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicy_plugins_s.nextval INTO :NEW.ID FROM dual; END tpolicy_plugins_inc;; + + +-- ----------------------------------------------------- +-- Table "tsesion_extended" +-- ----------------------------------------------------- +CREATE TABLE tsesion_extended ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_sesion NUMBER(10, 0) NOT NULL, + extended_info CLOB default '', + hash VARCHAR2(255) default '' +); + +CREATE SEQUENCE tsesion_extended_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tsesion_extended_inc BEFORE INSERT ON tsesion_extended REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tsesion_extended_s.nextval INTO :NEW.ID FROM dual; END tsesion_extended_inc;; + + +-- ----------------------------------------------------- +-- Table `tskin` +-- ----------------------------------------------------- +CREATE TABLE tskin ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + name CLOB DEFAULT '' NOT NULL, + relative_path CLOB DEFAULT '' NOT NULL, + description CLOB DEFAULT '' NOT NULL, + disabled NUMBER(10,0) default 0 NOT NULL +); + +CREATE SEQUENCE tskin_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tskin_inc BEFORE INSERT ON tskin REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tskin_s.nextval INTO :NEW.ID FROM dual; END tskin_inc;; + + +-- ----------------------------------------------------- +-- Table `tpolicy_queue` +-- ----------------------------------------------------- +CREATE TABLE tpolicy_queue ( + id NUMBER(19, 0) NOT NULL PRIMARY KEY, + id_policy NUMBER(10, 0) default 0 NOT NULL, + id_agent NUMBER(10, 0) default 0 NOT NULL, + operation VARCHAR2(15) default '' NOT NULL, + progress NUMBER(10, 0) default 0 NOT NULL, + end_utimestamp NUMBER(10, 0) default 0 NOT NULL, + priority NUMBER(10, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tpolicy_queue_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicy_queue_inc BEFORE INSERT ON tpolicy_queue REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicy_queue_s.nextval INTO :NEW.ID FROM dual; END tpolicy_queue_inc;; + + +-- ----------------------------------------------------- +-- Table `tmodule_synth` +-- ----------------------------------------------------- +CREATE TABLE tmodule_synth ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_agent_module_source NUMBER(10, 0) default 0 NOT NULL, + id_agent_module_target NUMBER(10, 0) default 0 NOT NULL REFERENCES tagente_modulo(id_agente_modulo) ON DELETE CASCADE, + fixed_value BINARY_DOUBLE default NULL, + operation VARCHAR2(20) default 'NOP', + "order" NUMBER(11, 0) default 0 NOT NULL, + CONSTRAINT t_module_synth_operation_cons CHECK (operation IN ('ADD', 'SUB', 'DIV', 'MUL', 'AVG', 'NOP')) +); + +CREATE SEQUENCE tmodule_synth_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tmodule_synth_inc BEFORE INSERT ON tmodule_synth REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tmodule_synth_s.nextval INTO :NEW.ID FROM dual; END tmodule_synth_inc;; + + +-- ----------------------------------------------------- +-- Table `tevent_rule` +-- ----------------------------------------------------- +CREATE TABLE tevent_rule ( + id_event_rule NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_event_alert NUMBER(10, 0) NOT NULL, + operation VARCHAR2(20) NOT NULL, + "order" NUMBER(10, 0) default '0', + window NUMBER(10, 0) default '0' NOT NULL, + count NUMBER(10, 0) default '1' NOT NULL, + agent CLOB default '', + id_usuario VARCHAR2(100) default '' NOT NULL, + id_grupo NUMBER(10, 0) default '0' NOT NULL, + evento CLOB default '' NOT NULL, + event_type VARCHAR2(50) default 'unknown', + module CLOB default '', + alert CLOB default '', + criticity NUMBER(10, 0) default '0' NOT NULL, + user_comment CLOB NOT NULL, + id_tag NUMBER(10, 0) default '0' NOT NULL, + name CLOB default '', + CONSTRAINT t_event_rule_operation_cons CHECK (operation IN ('NOP', 'AND','OR','XOR','NAND','NOR','NXOR')), + CONSTRAINT t_event_rule_event_type CHECK (event_type IN ('','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal')) +); +CREATE INDEX tevent_rule_id_event_alert_idx ON tevent_rule(id_event_alert); + +CREATE SEQUENCE tevent_rule_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tevent_rule_inc BEFORE INSERT ON tevent_rule REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tevent_rule_s.nextval INTO :NEW.ID_EVENT_RULE FROM dual; END tevent_rule_inc;; + + +-- ----------------------------------------------------- +-- Table `tevent_alert` +-- ----------------------------------------------------- +-- use to_char(time_from, 'hh24:mi:ss') function to retrieve time_from field info +-- use to_char(time_to, 'hh24:mi:ss') function to retrieve time_to field info +CREATE TABLE tevent_alert ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + name CLOB default '', + description CLOB, + "order" NUMBER(10, 0) default 0, + "mode" VARCHAR2(20), + field1 CLOB default '' NOT NULL, + field2 CLOB default '' NOT NULL, + field3 CLOB default '' NOT NULL, + field4 CLOB default '' NOT NULL, + field5 CLOB default '' NOT NULL, + field6 CLOB default '' NOT NULL, + field7 CLOB default '' NOT NULL, + field8 CLOB default '' NOT NULL, + field9 CLOB default '' NOT NULL, + field10 CLOB default '' NOT NULL, + time_threshold NUMBER(10, 0) default 0 NOT NULL, + max_alerts NUMBER(10, 0) default 1 NOT NULL, + min_alerts NUMBER(10, 0) default 0 NOT NULL, + time_from TIMESTAMP default to_date('00:00:00','hh24:mi:ss'), + time_to TIMESTAMP default to_date('00:00:00','hh24:mi:ss'), + monday NUMBER(10, 0) default 1, + tuesday NUMBER(10, 0) default 1, + wednesday NUMBER(10, 0) default 1, + thursday NUMBER(10, 0) default 1, + friday NUMBER(10, 0) default 1, + saturday NUMBER(10, 0) default 1, + sunday NUMBER(10, 0) default 1, + recovery_notify NUMBER(10, 0) default '0', + field2_recovery CLOB default '' NOT NULL, + field3_recovery CLOB NOT NULL, + id_group NUMBER(10, 0) default 0 NULL, + internal_counter NUMBER(10, 0) default 0, + last_fired NUMBER(19, 0) default 0 NOT NULL, + last_reference NUMBER(19, 0) default 0 NOT NULL, + times_fired NUMBER(10, 0) default 0 NOT NULL, + disabled NUMBER(10, 0) default 0, + standby NUMBER(10, 0) default 0, + priority NUMBER(10, 0) default 0, + force_execution NUMBER(10, 0) default 0, + "group_by" VARCHAR2(20) default '', + CONSTRAINT t_event_alert_group_by CHECK ("group_by" IN ('','id_agente','id_agentmodule','id_alert_am','id_grupo')), + CONSTRAINT t_event_alert_mode_cons CHECK ("mode" IN ('PASS','DROP')) +); + +CREATE SEQUENCE tevent_alert_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tevent_alert_inc BEFORE INSERT ON tevent_alert REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tevent_alert_s.nextval INTO :NEW.ID FROM dual; END tevent_alert_inc;; + + +-- ----------------------------------------------------- +-- Table `tevent_alert_action` +-- ----------------------------------------------------- +CREATE TABLE tevent_alert_action ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_event_alert NUMBER(10, 0) NOT NULL REFERENCES tevent_alert(id) ON DELETE CASCADE, + id_alert_action NUMBER(10, 0) NOT NULL REFERENCES talert_actions(id) ON DELETE CASCADE, + fires_min NUMBER(10, 0) default 0, + fires_max NUMBER(10, 0) default 0, + module_action_threshold NUMBER(10, 0) default 0 NOT NULL, + last_execution NUMBER(19, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tevent_alert_action_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tevent_alert_action_inc BEFORE INSERT ON tevent_alert_action REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tevent_alert_action_s.nextval INTO :NEW.ID FROM dual; END tevent_alert_action_inc;; + +-- on update trigger +CREATE OR REPLACE TRIGGER tevent_alert_action_update AFTER UPDATE OF ID ON tevent_alert FOR EACH ROW BEGIN UPDATE tevent_alert_action SET ID_EVENT_ALERT = :NEW.ID WHERE ID_EVENT_ALERT = :OLD.ID; END;; +-- on update trigger 1 +CREATE OR REPLACE TRIGGER tevent_alert_action_update1 AFTER UPDATE OF ID ON talert_actions FOR EACH ROW BEGIN UPDATE tevent_alert_action SET ID_ALERT_ACTION = :NEW.ID WHERE ID_ALERT_ACTION = :OLD.ID; END;; + + +-- ----------------------------------------------------- +-- Table `tpolicy_modules_inventory` +-- ----------------------------------------------------- +CREATE TABLE tpolicy_modules_inventory ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_policy NUMBER(10, 0) NOT NULL REFERENCES tpolicies(id) ON DELETE CASCADE, + id_module_inventory NUMBER(10, 0) NOT NULL REFERENCES tmodule_inventory(id_module_inventory) ON DELETE CASCADE, + interval NUMBER(10, 0) default 3600 NOT NULL, + username VARCHAR2(100) default '', + password VARCHAR2(100) default '', + pending_delete NUMBER(5, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tpolicy_modules_inventory_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tpolicy_modules_inventory_inc BEFORE INSERT ON tpolicy_modules_inventory REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tpolicy_modules_inventory_s.nextval INTO :NEW.ID FROM dual; END tpolicy_modules_inventory_inc;; + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_enterprise` +-- ----------------------------------------------------- +CREATE TABLE tnetworkmap_enterprise ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + name VARCHAR2(500) default '', + id_group NUMBER(10, 0) default 0 NOT NULL, + options CLOB default '' +); + +CREATE SEQUENCE tnetworkmap_enterprise_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tnetworkmap_enterprise_inc BEFORE INSERT ON tnetworkmap_enterprise REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tnetworkmap_enterprise_s.nextval INTO :NEW.ID FROM dual; END tnetworkmap_enterprise_inc;; + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_enterprise_nodes` +-- ----------------------------------------------------- +CREATE TABLE tnetworkmap_enterprise_nodes ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_networkmap_enterprise NUMBER(10, 0) NOT NULL REFERENCES tnetworkmap_enterprise(id) ON DELETE CASCADE, + x NUMBER(10, 0) default 0 NOT NULL, + y NUMBER(10, 0) default 0 NOT NULL, + z NUMBER(10, 0) default 0 NOT NULL, + id_agent NUMBER(10, 0) default 0 NOT NULL, + id_module NUMBER(10, 0) default 0 NOT NULL, + id_agent_module NUMBER(10, 0) default 0 NOT NULL, + parent NUMBER(10, 0) default 0, + options CLOB default '', + deleted NUMBER(10, 0) default 0 NOT NULL, + state CLOB default '' +); + +CREATE SEQUENCE tnetworkmap_enterprise_nodes_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tnetworkmap_enter_nod_inc BEFORE INSERT ON tnetworkmap_enterprise_nodes REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tnetworkmap_enterprise_nodes_s.nextval INTO :NEW.ID FROM dual; END tnetworkmap_enter_nod_inc;; +-- on update trigger +CREATE OR REPLACE TRIGGER tnetworkmap_enter_nod_update AFTER UPDATE OF ID ON tnetworkmap_enterprise FOR EACH ROW BEGIN UPDATE tnetworkmap_enterprise_nodes SET ID_NETWORKMAP_ENTERPRISE = :NEW.ID WHERE ID_NETWORKMAP_ENTERPRISE = :OLD.ID; END;; + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_ent_rel_nodes` (Before `tnetworkmap_enterprise_relation_nodes`) +-- ----------------------------------------------------- +CREATE TABLE tnetworkmap_ent_rel_nodes ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_networkmap_enterprise NUMBER(10, 0) NOT NULL REFERENCES tnetworkmap_enterprise(id) ON DELETE CASCADE, + parent NUMBER(10, 0) default 0, + parent_type VARCHAR2(30) default 'node', + child NUMBER(10, 0) default 0, + child_type VARCHAR2(30) default 'node', + deleted NUMBER(10, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tnetworkmap_ent_rel_nodes_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tnetworkmap_ent_rel_nodes_inc BEFORE INSERT ON tnetworkmap_ent_rel_nodes REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tnetworkmap_ent_rel_nodes_s.nextval INTO :NEW.ID FROM dual; END tnetworkmap_ent_rel_nodes_inc;; +-- on update trigger +CREATE OR REPLACE TRIGGER tnetworkmap_enter_rel_nod_upd AFTER UPDATE OF ID ON tnetworkmap_enterprise FOR EACH ROW BEGIN UPDATE tnetworkmap_ent_rel_nodes SET ID_NETWORKMAP_ENTERPRISE = :NEW.ID WHERE ID_NETWORKMAP_ENTERPRISE = :OLD.ID; END;; + + +-- ----------------------------------------------------- +-- Table `treport_template` +-- ----------------------------------------------------- +CREATE TABLE treport_template ( + id_report NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_user varchar2(100) default '' NOT NULL, + name varchar2(150) default '' NOT NULL, + description CLOB NOT NULL, + private NUMBER(10, 0) default 0 NOT NULL, + id_group NUMBER(10, 0) default NULL NULL, + custom_logo varchar2(200) default NULL, + header CLOB default NULL, + first_page CLOB default NULL, + footer CLOB default NULL, + custom_font varchar2(200) default NULL, + metaconsole NUMBER(5, 0) DEFAULT 0 +); + +CREATE SEQUENCE treport_template_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER treport_template_inc BEFORE INSERT ON treport_template REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT treport_template_s.nextval INTO :NEW.ID_REPORT FROM dual; END treport_template_inc;; + + +-- ----------------------------------------------------- +-- Table `treport_content_template` +-- ----------------------------------------------------- +CREATE TABLE treport_content_template ( + id_rc NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_report NUMBER(10, 0) default 0 NOT NULL REFERENCES treport_template(id_report) ON DELETE CASCADE, + id_gs NUMBER(10, 0) default NULL NULL, + text_agent_module CLOB default NULL, + type varchar2(30) default 'simple_graph', + period NUMBER(10, 0) default 0 NOT NULL, + "order" NUMBER(10, 0) default 0 NOT NULL, + description CLOB, + text_agent CLOB default '', + text CLOB default NULL, + external_source CLOB default NULL, + treport_custom_sql_id NUMBER(10, 0) default 0, + header_definition CLOB default NULL, + column_separator CLOB default NULL, + line_separator CLOB default NULL, + time_from TIMESTAMP default to_date('00:00:00','hh24:mi:ss'), + time_to TIMESTAMP default to_date('00:00:00','hh24:mi:ss'), + monday NUMBER(5, 0) default 1 NOT NULL, + tuesday NUMBER(5, 0) default 1 NOT NULL, + wednesday NUMBER(5, 0) default 1 NOT NULL, + thursday NUMBER(5, 0) default 1 NOT NULL, + friday NUMBER(5, 0) default 1 NOT NULL, + saturday NUMBER(5, 0) default 1 NOT NULL, + sunday NUMBER(5, 0) default 1 NOT NULL, + only_display_wrong NUMBER(5, 0) default 0 not null, + top_n NUMBER(10, 0) default 0 NOT NULL, + top_n_value NUMBER(10, 0) default 10 NOT NULL, + exception_condition NUMBER(10, 0) default 0 NOT NULL, + exception_condition_value DOUBLE PRECISION default 0 NOT NULL, + show_resume DOUBLE PRECISION default 0 NOT NULL, + order_uptodown DOUBLE PRECISION default 0 NOT NULL, + show_graph DOUBLE PRECISION default 0 NOT NULL, + group_by_agent DOUBLE PRECISION default 0 NOT NULL, + style CLOB DEFAULT '' NOT NULL, + id_group NUMBER(10, 0) DEFAULT 0 NOT NULL, + id_module_group NUMBER(10, 0) DEFAULT 0 NOT NULL, + server_name CLOB default '', + exact_match NUMBER(10, 0) default 0, + module_names CLOB default NULL, + module_free_text CLOB default NULL, + each_agent NUMBER(5, 0) default 1 NOT NULL +); + +CREATE SEQUENCE treport_content_template_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER treport_content_template_inc BEFORE INSERT ON treport_content_template REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT treport_content_template_s.nextval INTO :NEW.ID_RC FROM dual; END treport_content_template_inc;; + + +-- ----------------------------------------------------- +-- Table `treport_content_sla_com_temp` (treport_content_sla_combined_template) +-- ----------------------------------------------------- +CREATE TABLE treport_content_sla_com_temp ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_report_content NUMBER(10, 0) NOT NULL REFERENCES treport_content_template(id_rc) ON DELETE CASCADE, + text_agent CLOB default '', + text_agent_module CLOB default '', + sla_max DOUBLE PRECISION default 0 NOT NULL, + sla_min DOUBLE PRECISION default 0 NOT NULL, + sla_limit DOUBLE PRECISION default 0 NOT NULL, + server_name CLOB default '', + exact_match NUMBER(5, 0) default 0 +); + +CREATE SEQUENCE treport_content_sla_com_temp_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER treport_content_sla_c_t_inc BEFORE INSERT ON treport_content_sla_com_temp REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT treport_content_sla_com_temp_s.nextval INTO :NEW.ID FROM dual; END treport_content_sla_c_t_inc;; + + +-- ----------------------------------------------------- +-- Table `treport_content_item_temp` (treport_content_item_template) +-- ----------------------------------------------------- +CREATE TABLE treport_content_item_temp ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_report_content NUMBER(10, 0) NOT NULL REFERENCES treport_content_template(id_rc) ON DELETE CASCADE, + text_agent CLOB default '', + text_agent_module CLOB default '', + server_name CLOB default '', + exact_match NUMBER(5, 0) default 0, + operation CLOB +); + +CREATE SEQUENCE treport_content_item_temp_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER treport_content_item_temp_inc BEFORE INSERT ON treport_content_item_temp REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT treport_content_item_temp_s.nextval INTO :NEW.ID FROM dual; END treport_content_item_temp_inc;; + + +-- ----------------------------------------------------- +-- Table `tgraph_template` +-- ----------------------------------------------------- +CREATE TABLE tgraph_template ( + id_graph_template NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_user VARCHAR2(255) NOT NULL, + name VARCHAR2(255) NOT NULL, + description CLOB default '', + period NUMBER(11, 0) default 0 NOT NULL, + width SMALLINT default 0 NOT NULL, + height SMALLINT default 0 NOT NULL, + private SMALLINT default 0 NOT NULL, + events SMALLINT default 0 NOT NULL, + stacked SMALLINT default 0 NOT NULL, + id_group NUMBER(8, 0) default 0 +); + +CREATE SEQUENCE tgraph_template_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tgraph_template_inc BEFORE INSERT ON tgraph_template REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tgraph_template_s.nextval INTO :NEW.ID_GRAPH_TEMPLATE FROM dual; END tgraph_template_inc;; + + +-- --------------------------------------------------------------------- +-- Table `tgraph_source_template` +-- --------------------------------------------------------------------- +CREATE TABLE tgraph_source_template ( + id_gs_template NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_template NUMBER(10, 0) default 0 NOT NULL, + agent VARCHAR2(255), + module VARCHAR2(255), + weight FLOAT(5) DEFAULT 2 NOT NULL, + exact_match SMALLINT default 0 NOT NULL +); + +CREATE SEQUENCE tgraph_source_template_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tgraph_source_template_inc BEFORE INSERT ON tgraph_source_template REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tgraph_source_template_s.nextval INTO :NEW.ID_GS_TEMPLATE FROM dual; END tgraph_source_template_inc;; + + +-- --------------------------------------------------------------------- +-- Table `textension_translate_string` +-- --------------------------------------------------------------------- +CREATE TABLE textension_translate_string ( + id NUMBER(10, 0) NOT NULL PRIMARY KEY, + lang VARCHAR2(50) NOT NULL, + string VARCHAR2(4000) NOT NULL, + translation VARCHAR2(4000) NOT NULL +); + +CREATE SEQUENCE textension_translate_string_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER textension_translate_str_inc BEFORE INSERT ON textension_translate_string REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT textension_translate_string_s.nextval INTO :NEW.ID FROM dual; END;; + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_event` +-- --------------------------------------------------------------------- +-- use to_char(timestamp, 'hh24:mi:ss') function to retrieve timestamp field info +CREATE TABLE tmetaconsole_event ( + id_evento NUMBER(19, 0) NOT NULL PRIMARY KEY, + id_source_event NUMBER(19, 0) NOT NULL, + id_agente NUMBER(10, 0) DEFAULT 0, + agent_name VARCHAR2(600) DEFAULT '', + id_usuario VARCHAR2(100) DEFAULT '0', + id_grupo NUMBER(10, 0) DEFAULT 0, + group_name CLOB DEFAULT '', + estado NUMBER(10, 0) DEFAULT 0, + timestamp TIMESTAMP DEFAULT NULL, + evento CLOB DEFAULT '', + utimestamp NUMBER(19, 0) DEFAULT 0, + event_type VARCHAR2(50) DEFAULT 'unknown', + id_agentmodule NUMBER(10, 0) DEFAULT 0, + module_name CLOB DEFAULT '', + id_alert_am NUMBER(10, 0) DEFAULT 0, + alert_template_name CLOB DEFAULT '', + criticity NUMBER(10, 0) DEFAULT 0, + user_comment CLOB, + tags CLOB, + source VARCHAR2(100) DEFAULT '', + id_extra VARCHAR2(100) DEFAULT '', + critical_instructions CLOB DEFAULT '', + warning_instructions CLOB DEFAULT '', + unknown_instructions CLOB DEFAULT '', + owner_user VARCHAR2(100) DEFAULT '0', + ack_utimestamp NUMBER(19, 0) DEFAULT 0, + server_id NUMBER(10, 0) DEFAULT 0 NOT NULL, + custom_data CLOB DEFAULT '', + CONSTRAINT tmetaconsole_e_event_type_cons CHECK (event_type IN ('going_unknown','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal', 'configuration_change')) +); +CREATE INDEX tmetaconsole_e_id_1_idx ON tmetaconsole_event(id_agente, id_evento); +CREATE INDEX tmetaconsole_e_id_am_idx ON tmetaconsole_event(id_agentmodule); +CREATE INDEX tmetaconsole_e_id_server_idx ON tmetaconsole_event(server_id); +CREATE INDEX tmetaconsole_e_id_grupo_idx ON tmetaconsole_event(id_grupo); +CREATE INDEX tmetaconsole_e_criticity_idx ON tmetaconsole_event(criticity); +CREATE INDEX tmetaconsole_e_estado_idx ON tmetaconsole_event(estado); + +CREATE SEQUENCE tmetaconsole_event_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tmetaconsole_event_inc BEFORE INSERT ON tmetaconsole_event REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tmetaconsole_event_s.nextval INTO :NEW.ID_EVENTO FROM dual; END;; + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_event_history` +-- --------------------------------------------------------------------- +-- use to_char(timestamp, 'hh24:mi:ss') function to retrieve timestamp field info +CREATE TABLE tmetaconsole_event_history ( + id_evento NUMBER(19, 0) NOT NULL PRIMARY KEY, + id_source_event NUMBER(19, 0) NOT NULL, + id_agente NUMBER(10, 0) default 0 NOT NULL, + agent_name VARCHAR2(600) default '', + id_usuario VARCHAR2(100) default '0' NOT NULL, + id_grupo NUMBER(10, 0) default 0 NOT NULL, + group_name CLOB default '', + estado NUMBER(10, 0) default 0 NOT NULL, + timestamp TIMESTAMP default NULL, + evento CLOB default '', + utimestamp NUMBER(19, 0) default 0 NOT NULL, + event_type VARCHAR2(50) default 'unknown', + id_agentmodule NUMBER(10, 0) default 0 NOT NULL, + module_name CLOB default '', + id_alert_am NUMBER(10, 0) default 0 NOT NULL, + alert_template_name CLOB default '', + criticity NUMBER(10, 0) default 0 NOT NULL, + user_comment CLOB, + tags CLOB, + source VARCHAR2(100) default '' NOT NULL, + id_extra VARCHAR2(100) default '' NOT NULL, + critical_instructions VARCHAR2(255) default '', + warning_instructions VARCHAR2(255) default '', + unknown_instructions VARCHAR2(255) default '', + owner_user VARCHAR2(100) default '0' NOT NULL, + ack_utimestamp NUMBER(19, 0) default 0 NOT NULL, + server_id NUMBER(10, 0) default 0 NOT NULL, + custom_data CLOB default '', + CONSTRAINT tmeta_eh_event_type_cons CHECK (event_type IN ('going_unknown','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal', 'configuration_change')) +); +CREATE INDEX tmetaconsole_eh_id_1_idx ON tmetaconsole_event_history(id_agente, id_evento); +CREATE INDEX tmetaconsole_eh_id_am_idx ON tmetaconsole_event_history(id_agentmodule); +CREATE INDEX tmetaconsole_eh_id_server_idx ON tmetaconsole_event_history(server_id); +CREATE INDEX tmetaconsole_eh_id_grupo_idx ON tmetaconsole_event_history(id_grupo); +CREATE INDEX tmetaconsole_eh_criticity_idx ON tmetaconsole_event_history(criticity); +CREATE INDEX tmetaconsole_eh_estado_idx ON tmetaconsole_event_history(estado); + +CREATE SEQUENCE tmetaconsole_event_h_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tmetaconsole_event_h_inc BEFORE INSERT ON tmetaconsole_event_history REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tmetaconsole_event_h_s.nextval INTO :NEW.ID_EVENTO FROM dual; END;; + +-- --------------------------------------------------------------------- +-- Table `tagent_module_log` +-- --------------------------------------------------------------------- +CREATE TABLE tagent_module_log ( + id_agent_module_log NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_agent NUMBER(10, 0) NOT NULL REFERENCES tagente(id_agente) ON DELETE CASCADE, + source VARCHAR2(4000) NOT NULL, + timestamp TIMESTAMP NULL, + utimestamp NUMBER(10, 0) default 0 NOT NULL +); + +CREATE SEQUENCE tagent_module_log_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tagent_module_log_inc BEFORE INSERT ON tagent_module_log REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tagent_module_log_s.nextval INTO :NEW.ID_AGENT_MODULE_LOG FROM dual; END tagent_module_log_inc;; + +-- --------------------------------------------------------------------- +-- Table `tevent_custom_field` +-- --------------------------------------------------------------------- +CREATE TABLE tevent_custom_field ( + id_group NUMBER(4, 0) default 0 NOT NULL PRIMARY KEY, + value VARCHAR2(255) default '' NOT NULL +); + +-- This sequence will not work with the 'insert_id' procedure + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_agent` +-- --------------------------------------------------------------------- +CREATE TABLE tmetaconsole_agent ( + id_agente NUMBER(10, 0) NOT NULL PRIMARY KEY, + id_tagente NUMBER(10, 0) NOT NULL, + id_tmetaconsole_setup NUMBER(10) NOT NULL REFERENCES tmetaconsole_setup(id) ON DELETE CASCADE, + nombre VARCHAR2(600) default '' NOT NULL, + direccion VARCHAR2(100) default '' NULL, + comentarios VARCHAR2(255) default '' NULL, + id_grupo NUMBER(10, 0) default 0 NOT NULL, + ultimo_contacto TIMESTAMP NOT NULL, + modo NUMBER(1, 0) default 0 NOT NULL, + intervalo NUMBER(11, 0) default 300 NOT NULL, + id_os NUMBER(10, 0) default 0 NOT NULL, + os_version VARCHAR2(100) default '', + agent_version VARCHAR2(100) default '', + ultimo_contacto_remoto TIMESTAMP default NULL, + disabled NUMBER(1, 0) default 0 NOT NULL, + remote NUMBER(1) default 0 NOT NULL, + id_parent NUMBER(10, 0) default 0 NOT NULL, + custom_id VARCHAR2(255) default '', + server_name VARCHAR2(100) default '', + cascade_protection NUMBER(1, 0) default 0 NOT NULL, + cascade_protection_module NUMBER(10, 0) default 0 NOT NULL, + -- Number of hours of diference with the server timezone + timezone_offset NUMBER(2, 2) default 0 NULL, + -- Path in the server to the image of the icon representing the agent + icon_path VARCHAR2(127) default NULL, + -- Set it to one to update the position data (altitude, longitude, latitude) when getting information from the agent or to 0 to keep the last value and do not update it + update_gis_data NUMBER(1) default 1 NOT NULL, + url_address CLOB NULL, + quiet NUMBER(1) default 0 NOT NULL, + normal_count NUMBER(20, 0) default 0 NOT NULL, + warning_count NUMBER(20, 0) default 0 NOT NULL, + critical_count NUMBER(20, 0) default 0 NOT NULL, + unknown_count NUMBER(20, 0) default 0 NOT NULL, + notinit_count NUMBER(20, 0) default 0 NOT NULL, + total_count NUMBER(20, 0) default 0 NOT NULL, + fired_count NUMBER(20, 0) default 0 NOT NULL, + update_module_count NUMBER(1, 0) default 0 NOT NULL, + update_alert_count NUMBER(1, 0) default 0 NOT NULL, + alias varchar2(600) NOT NULL default '', + transactional_agent NUMBER(1) default 0 NOT NULL +); +CREATE INDEX tmetaconsole_agent_nombre_idx ON tmetaconsole_agent(nombre); +CREATE INDEX tmetaconsole_agent_dir_idx ON tmetaconsole_agent(direccion); +CREATE INDEX tmetaconsole_agent_dis_idx ON tmetaconsole_agent(disabled); +CREATE INDEX tmetaconsole_agent_id_g_idx ON tmetaconsole_agent(id_grupo); + +CREATE SEQUENCE tmetaconsole_agent_s INCREMENT BY 1 START WITH 1; +CREATE OR REPLACE TRIGGER tmetaconsole_agent_inc BEFORE INSERT ON tmetaconsole_agent REFERENCING NEW AS NEW FOR EACH ROW BEGIN SELECT tmetaconsole_agent_s.nextval INTO :NEW.ID_AGENTE FROM dual; END tmetaconsole_agent_inc;; diff --git a/pandora_console/pandoradb.postgreSQL.sql b/pandora_console/pandoradb.postgreSQL.sql index 4b88d354dd..8dd25296a5 100644 --- a/pandora_console/pandoradb.postgreSQL.sql +++ b/pandora_console/pandoradb.postgreSQL.sql @@ -1826,3 +1826,824 @@ CREATE TABLE IF NOT EXISTS "trel_item" ( "id_item" INTEGER default 0, "deleted" SMALLINT NOT NULL default 0 ); + +-- ----------------------------------------------------- +-- Table "tlocal_component" +-- ----------------------------------------------------- +-- tlocal_component is a repository of local modules for +-- physical agents on Windows / Unix physical agents +CREATE TABLE "tlocal_component" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "name" TEXT NOT NULL, + "data" TEXT NOT NULL, + "description" varchar(1024) default NULL, + "id_os" INTEGER NOT NULL default 0, + "os_version" varchar(100) default '', + "id_network_component_group" INTEGER NOT NULL default 0 REFERENCES tnetwork_component_group("id_sg") ON DELETE CASCADE ON UPDATE CASCADE, + "type" SMALLINT NOT NULL default 6, + "max" INTEGER NOT NULL default 0, + "min" INTEGER NOT NULL default 0, + "module_interval" INTEGER NOT NULL default 0, + "id_module_group" INTEGER NOT NULL default 0, + "history_data" INTEGER default '1', + "min_warning" DOUBLE PRECISION default NULL, + "max_warning" DOUBLE PRECISION default NULL, + "str_warning" TEXT default '', + "min_critical" DOUBLE PRECISION default NULL, + "max_critical" DOUBLE PRECISION default NULL, + "str_critical" TEXT default '', + "min_ff_event" INTEGER NOT NULL default 0, + "post_process" DOUBLE PRECISION default NULL, + "unit" TEXT default '', + "wizard_level" type_tlocal_component_wizard_level default 'nowizard', + "macros" TEXT default '', + "critical_instructions" TEXT default '', + "warning_instructions" TEXT default '', + "unknown_instructions" TEXT default '', + "critical_inverse" SMALLINT default 0 NOT NULL, + "warning_inverse" SMALLINT default 0 NOT NULL, + "id_category" INTEGER NOT NULL default 0, + "tags" TEXT default '', + "disabled_types_event" TEXT default '', + "min_ff_event_normal" INTEGER default 0, + "min_ff_event_warning" INTEGER default 0, + "min_ff_event_critical" INTEGER default 0, + "dynamic_interval" INTEGER default 0, + "dynamic_max" INTEGER default 0, + "dynamic_min" INTEGER default 0, + "dynamic_next" INTEGER default 0 NOT NULL, + "dynamic_two_tailed" SMALLINT default 0, + "each_ff" SMALLINT default 0, + "ff_timeout" INTEGER default 0 +); + + +-- ----------------------------------------------------- +-- Table "tpolicy_modules" +-- ----------------------------------------------------- +CREATE TABLE "tpolicy_modules" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_policy" INTEGER NOT NULL default 0, + "configuration_data" TEXT NOT NULL, + "id_tipo_modulo" SMALLINT NOT NULL default 0, + "description" varchar(1024) NOT NULL default '', + "name" varchar(200) NOT NULL default '', + "unit" TEXT default '', + "max" BIGINT NOT NULL default 0, + "min" BIGINT NOT NULL default 0, + "module_interval" INTEGER NOT NULL default 0, + "tcp_port" INTEGER NOT NULL default 0, + "tcp_send" text default '', + "tcp_rcv" text default '', + "snmp_community" varchar(100) default '', + "snmp_oid" varchar(255) default '0', + "id_module_group" INTEGER NOT NULL default 0, + "flag" SMALLINT NOT NULL default 0, + "id_module" INTEGER NOT NULL default 0, + "disabled" SMALLINT NOT NULL default 0, + "id_export" SMALLINT NOT NULL default 0, + "plugin_user" text default '', + "plugin_pass" text default '', + "plugin_parameter" text, + "id_plugin" INTEGER NOT NULL default 0, + "post_process" DOUBLE PRECISION default NULL, + "prediction_module" BIGINT NOT NULL default 0, + "max_timeout" INTEGER NOT NULL default 0, + "max_retries" INTEGER NOT NULL default 0, + "custom_id" varchar(255) default '', + "history_data" SMALLINT NOT NULL default 1, + "min_warning" DOUBLE PRECISION default 0, + "max_warning" DOUBLE PRECISION default 0, + "str_warning" text default '', + "min_critical" DOUBLE PRECISION default 0, + "max_critical" DOUBLE PRECISION default 0, + "str_critical" text default '', + "min_ff_event" INTEGER NOT NULL default 0, + "custom_string_1" text default '', + "custom_string_2" text default '', + "custom_string_3" text default '', + "custom_integer_1" INTEGER NOT NULL default 0, + "custom_integer_2" INTEGER NOT NULL default 0, + "pending_delete" SMALLINT NOT NULL default 0, + "critical_instructions" TEXT default '', + "warning_instructions" TEXT default '', + "unknown_instructions" TEXT default '', + "critical_inverse" SMALLINT default 0 NOT NULL, + "warning_inverse" SMALLINT default 0 NOT NULL, + "id_category" INTEGER NOT NULL default 0, + "module_ff_interval" INTEGER NOT NULL default 0, + "quiet" SMALLINT NOT NULL default 0, + "cron_interval" varchar(100) default '', + "macros" text default '', + "disabled_types_event" TEXT default '', + "module_macros" TEXT default '', + "min_ff_event_normal" INTEGER default 0, + "min_ff_event_warning" INTEGER default 0, + "min_ff_event_critical" INTEGER default 0, + "each_ff" SMALLINT default 0, + "ff_timeout" INTEGER default 0, + "dynamic_interval" INTEGER default 0, + "dynamic_max" INTEGER default 0, + "dynamic_min" INTEGER default 0, + "dynamic_next" INTEGER NOT NULL default 0, + "dynamic_two_tailed" INTEGER default 0 +); +CREATE UNIQUE INDEX "tpolicy_modules_id_policy_name_idx" ON "tpolicy_modules"("id_policy", "name"); +CREATE INDEX "tpolicy_modules_id_policy_idx" ON "tpolicy_modules"("id_policy"); + + +-- ----------------------------------------------------- +-- Table "tpolicies" +-- ----------------------------------------------------- +-- 'status' could be 0 (without changes, updated), 1 (needy update only database) or 2 (needy update database and conf files) +CREATE TABLE "tpolicies" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "name" text NOT NULL default '', + "description" varchar(255) NOT NULL default '', + "id_group" INTEGER NOT NULL default 0, + "status" INTEGER NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table "tpolicy_alerts" +-- ----------------------------------------------------- +CREATE TABLE "tpolicy_alerts" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_policy" INTEGER NOT NULL default 0 REFERENCES tpolicies("id") ON DELETE CASCADE ON UPDATE CASCADE, + "id_policy_module" INTEGER NOT NULL default 0, + "id_alert_template" INTEGER NOT NULL default 0 REFERENCES talert_templates("id") ON DELETE CASCADE ON UPDATE CASCADE, + "name_extern_module" TEXT NOT NULL default '', + "disabled" SMALLINT NOT NULL default 0, + "standby" SMALLINT NOT NULL default 0, + "pending_delete" SMALLINT NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table "tpolicy_agents" +-- ----------------------------------------------------- +CREATE TABLE "tpolicy_agents" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_policy" INTEGER NOT NULL default 0, + "id_agent" INTEGER NOT NULL default 0, + "policy_applied" SMALLINT NOT NULL default 0, + "pending_delete" SMALLINT NOT NULL default 0, + "last_apply_utimestamp" INTEGER NOT NULL default 0 +); +CREATE UNIQUE INDEX "tpolicy_agents_id_policy_id_agent_idx" ON "tpolicy_agents"("id_policy", "id_agent"); + + +-- ----------------------------------------------------- +-- Table "tdashboard" +-- ----------------------------------------------------- +CREATE TABLE "tdashboard" ( + "id" BIGSERIAL NOT NULL PRIMARY KEY, + "name" varchar(60) NOT NULL default '', + "id_user" varchar(60) NOT NULL default '', + "id_group" INTEGER NOT NULL default 0, + "active" SMALLINT NOT NULL default 0, + "cells" text default '' +); + + +-- ----------------------------------------------------- +-- Table "twidget" +-- ----------------------------------------------------- +CREATE TABLE "twidget" ( + "id" BIGSERIAL NOT NULL PRIMARY KEY, + "class_name" varchar(60) NOT NULL default '', + "unique_name" varchar(60) NOT NULL default '', + "description" text NOT NULL default '', + "options" text NOT NULL default '', + "page" varchar(120) NOT NULL default '' +); + + +-- ----------------------------------------------------- +-- Table "twidget_dashboard" +-- ----------------------------------------------------- +CREATE TABLE "twidget_dashboard" ( + "id" BIGSERIAL NOT NULL PRIMARY KEY, + "options" text NOT NULL default '', + "order" INTEGER NOT NULL default 0, + "id_dashboard" BIGINT NOT NULL default 0 REFERENCES tdashboard("id") ON DELETE CASCADE ON UPDATE CASCADE, + "id_widget" BIGINT NOT NULL default 0, + "prop_width" DOUBLE PRECISION NOT NULL default 0.32, + "prop_height" DOUBLE PRECISION NOT NULL default 0.32, +); + + +-- ----------------------------------------------------- +-- Table "tmodule_inventory" +-- ----------------------------------------------------- +CREATE TABLE "tmodule_inventory" ( + "id_module_inventory"SERIAL NOT NULL PRIMARY KEY, + "id_os" INTEGER default NULL REFERENCES tconfig_os("id_os") ON UPDATE CASCADE ON DELETE CASCADE, + "name" varchar(100) default '', + "description" varchar(100) default '', + "interpreter" varchar(100) default '', + "data_format" varchar(100) default '', + "code" BYTEA NOT NULL +); + + +-- --------------------------------------------------------------------- +-- Table "tagent_module_inventory" +-- --------------------------------------------------------------------- +CREATE TABLE "tagent_module_inventory" ( + "id_agent_module_inventory" SERIAL NOT NULL PRIMARY KEY, + "id_agente" INTEGER NOT NULL REFERENCES tagente("id_agente") ON UPDATE CASCADE ON DELETE CASCADE, + "id_module_inventory" INTEGER NOT NULL REFERENCES tmodule_inventory("id_module_inventory") ON UPDATE CASCADE ON DELETE CASCADE, + "target" varchar(100) default '', + "interval" INTEGER NOT NULL default 3600, + "username" varchar(100) default '', + "password" varchar(100) default '', + "data" BYTEA NOT NULL, + "timestamp" TIMESTAMP without time zone default '1970-01-01 00:00:00', + "utimestamp" INTEGER NOT NULL default 0, + "flag" SMALLINT NOT NULL default 1, + "id_policy_module_inventory" INTEGER NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table "tagente_datos_inventory" +-- ----------------------------------------------------- +CREATE TABLE "tagente_datos_inventory" ( + "id_agent_module_inventory" SERIAL NOT NULL, + "data" BYTEA NOT NULL, + "utimestamp" INTEGER NOT NULL default 0, + "timestamp" TIMESTAMP without time zone default '1970-01-01 00:00:00' +); +CREATE UNIQUE INDEX "tagente_datos_inventory_id" ON "tagente_datos_inventory"("id_agent_module_inventory"); +CREATE UNIQUE INDEX "tagente_datos_inventory_ut" ON "tagente_datos_inventory"("utimestamp"); + + +-- ----------------------------------------------------- +-- Table "ttrap_custom_values" +-- ----------------------------------------------------- +CREATE TABLE "ttrap_custom_values" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "oid" varchar(255) NOT NULL default '', + "custom_oid" varchar(255) NOT NULL default '', + "text" varchar(255) default '', + "description" varchar(255) default '', + "severity" INTEGER NOT NULL default 2 +); + + +-- ----------------------------------------------------- +-- Table "tmetaconsole_setup" +-- ----------------------------------------------------- +--Table to store metaconsole sources +CREATE TABLE "tmetaconsole_setup" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "server_name" text default '', + "server_url" text default '', + "dbuser" text default '', + "dbpass" text default '', + "dbhost" text default '', + "dbport" text default '', + "dbname" text default '', + "auth_token" text default '', + "id_group" INTEGER NOT NULL default 0, + "api_password" text default '', + "disabled" SMALLINT NOT NULL default 0, + "last_event_replication" BIGINT NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table "tprofile_view" +-- ----------------------------------------------------- +--Table to define by each profile defined in Pandora, to which sec/page has access independently of its ACL (for showing in the console or not). By default have access to all pages allowed by ACL, if forbidden here, then pages are not shown. +CREATE TABLE "tprofile_view" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_profile" INTEGER NOT NULL default 0, + "sec" text default '', + "sec2" text default '' +); + + +-- --------------------------------------------------------------------- +-- Table "tservice" +-- --------------------------------------------------------------------- +--Table to define services to monitor +CREATE TABLE "tservice" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "name" varchar(100) NOT NULL default '', + "description" text NOT NULL default '', + "id_group" INTEGER NOT NULL default 0, + "critical" DOUBLE PRECISION NOT NULL default 0, + "warning" DOUBLE PRECISION NOT NULL default 0, + "service_interval" DOUBLE PRECISION NOT NULL default 0, + "service_value" DOUBLE PRECISION NOT NULL default 0, + "status" INTEGER NOT NULL default -1, + "utimestamp" INTEGER NOT NULL default 0, + "auto_calculate" INTEGER NOT NULL default 1, + "id_agent_module" INTEGER NOT NULL default 0, + "sla_interval" DOUBLE PRECISION NOT NULL default 0, + "sla_id_module" INTEGER NOT NULL default 0, + "sla_value_id_module" INTEGER NOT NULL default 0, + "sla_limit" DOUBLE PRECISION NOT NULL default 100, + "id_template_alert_warning" INTEGER NOT NULL default 0, + "id_template_alert_critical" INTEGER NOT NULL default 0, + "id_template_alert_unknown" INTEGER NOT NULL default 0, + "id_template_alert_critical_sla" INTEGER NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table "tservice_element" +-- ----------------------------------------------------- +--Table to define the modules and the weights of the modules that define a service +CREATE TABLE "tservice_element" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_service" INTEGER NOT NULL, + "weight_ok" DOUBLE PRECISION NOT NULL default 0, + "weight_warning" DOUBLE PRECISION NOT NULL default 0, + "weight_critical" DOUBLE PRECISION NOT NULL default 0, + "weight_unknown" DOUBLE PRECISION NOT NULL default 0, + "description" text NOT NULL default '', + "id_agente_modulo" INTEGER NOT NULL default 0, + "id_agent" INTEGER NOT NULL default 0, + "id_service_child" INTEGER NOT NULL default 0, + "id_server_meta" INTEGER NOT NULL default 0 +); + + +-- --------------------------------------------------------------------- +-- Table "tcollection" +-- --------------------------------------------------------------------- +CREATE TABLE "tcollection" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "name" varchar(100) NOT NULL default '', + "short_name" varchar(100) NOT NULL default '', + "id_group" INTEGER NOT NULL default 0, + "description" TEXT, + "status" INTEGER NOT NULL default 0 +); +-- status: 0 - Not apply +-- status: 1 - Applied + + +-- ----------------------------------------------------- +-- Table "tpolicy_collections" +-- ----------------------------------------------------- +CREATE TABLE "tpolicy_collections" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_policy" INTEGER NOT NULL default 0 REFERENCES "tpolicies" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + "id_collection" INTEGER NOT NULL default 0 REFERENCES "tcollection" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + "pending_delete" SMALLINT NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table "tpolicy_alerts_actions" +-- ----------------------------------------------------- +CREATE TABLE "tpolicy_alerts_actions" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_policy_alert" INTEGER NOT NULL default 0 REFERENCES "tpolicy_alerts" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + "id_alert_action" INTEGER NOT NULL default 0 REFERENCES "talert_actions" ("id") ON DELETE CASCADE ON UPDATE CASCADE, + "fires_min" INTEGER default 0, + "fires_max" INTEGER default 0 +); + +-- --------------------------------------------------------------------- +-- Table "tpolicy_plugins" +-- --------------------------------------------------------------------- +CREATE TABLE "tpolicy_plugins" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_policy" INTEGER NOT NULL default 0, + "plugin_exec" TEXT default '', + "pending_delete" SMALLINT NOT NULL default 0 +); + +-- ----------------------------------------------------- +-- Table "tsesion_extended" +-- ----------------------------------------------------- +CREATE TABLE "tsesion_extended" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_sesion" INTEGER NOT NULL, + "extended_info" TEXT default '', + "hash" varchar(255) default '' +); + + +-- ----------------------------------------------------- +-- Table `tskin` +-- ----------------------------------------------------- +CREATE TABLE "tskin" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "name" TEXT NOT NULL DEFAULT '', + "relative_path" TEXT NOT NULL DEFAULT '', + "description" text NOT NULL DEFAULT '', + "disabled" INTEGER NOT NULL default 0 +); + + +-- --------------------------------------------------------------------- +-- Table `tpolicy_queue` +-- --------------------------------------------------------------------- +CREATE TABLE "tpolicy_queue" ( + "id" BIGSERIAL NOT NULL PRIMARY KEY, + "id_policy" INTEGER NOT NULL default 0, + "id_agent" INTEGER NOT NULL default 0, + "operation" varchar(15) NOT NULL default '', + "progress" INTEGER NOT NULL default 0, + "end_utimestamp" INTEGER NOT NULL default 0, + "priority" INTEGER NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table `tmodule_synth` +-- ----------------------------------------------------- +CREATE TYPE type_tmodule_synth_operation AS ENUM ('ADD', 'SUB', 'DIV', 'MUL', 'AVG', 'NOP'); +CREATE TABLE "tmodule_synth" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_agent_module_source" INTEGER NOT NULL default 0, + "id_agent_module_target" INTEGER NOT NULL default 0 REFERENCES tagente_modulo("id_agente_modulo") ON UPDATE CASCADE ON DELETE CASCADE, + "fixed_value" float default NULL, + "operation" type_tmodule_synth_operation NOT NULL default 'NOP', + "order" INTEGER NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table `tevent_rule` +-- ----------------------------------------------------- +CREATE TYPE type_tevent_rule_operation AS ENUM ('NOP', 'AND','OR','XOR','NAND','NOR','NXOR'); +CREATE TYPE type_tevent_rule_event_type AS ENUM ('','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal'); +CREATE TABLE "tevent_rule" ( + "id_event_rule" SERIAL NOT NULL PRIMARY KEY, + "id_event_alert" INTEGER NOT NULL, + "operation" type_tevent_rule_operation NOT NULL, + "order" INTEGER default '0', + "window" INTEGER NOT NULL default '0', + "count" INTEGER NOT NULL default '1', + "agent" text default '', + "id_usuario" VARCHAR(100) NOT NULL default '', + "id_grupo" INTEGER NOT NULL default '0', + "evento" text NOT NULL default '', + "event_type" type_tevent_rule_event_type default 'unknown', + "module" text default '', + "alert" text default '', + "criticity" INTEGER NOT NULL default '0', + "user_comment" text NOT NULL, + "id_tag" INTEGER NOT NULL default '0', + "name" text default '' +); +CREATE INDEX "tevent_rule_id_event_alert_idx" ON "tevent_rule"("id_event_alert"); + + +-- ----------------------------------------------------- +-- Table `tevent_alert` +-- ----------------------------------------------------- +CREATE TYPE type_tevent_alert_mode AS ENUM ('PASS','DROP'); +CREATE TYPE type_tevent_alert_group_by AS ENUM ('','id_agente','id_agentmodule','id_alert_am','id_grupo'); +CREATE TABLE "tevent_alert" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "name" text default '', + "description" text, + "order" INTEGER default 0, + "mode" type_tevent_alert_mode, + "field1" text NOT NULL default '', + "field2" text NOT NULL default '', + "field3" text NOT NULL default '', + "field4" text NOT NULL default '', + "field5" text NOT NULL default '', + "field6" text NOT NULL default '', + "field7" text NOT NULL default '', + "field8" text NOT NULL default '', + "field9" text NOT NULL default '', + "field10" text NOT NULL default '', + "time_threshold" INTEGER NOT NULL default '0', + "max_alerts" INTEGER NOT NULL default '1', + "min_alerts" INTEGER NOT NULL default '0', + "time_from" time default '00:00:00', + "time_to" time default '00:00:00', + "monday" INTEGER default 1, + "tuesday" INTEGER default 1, + "wednesday" INTEGER default 1, + "thursday" INTEGER default 1, + "friday" INTEGER default 1, + "saturday" INTEGER default 1, + "sunday" INTEGER default 1, + "recovery_notify" INTEGER default '0', + "field2_recovery" text NOT NULL default '', + "field3_recovery" text NOT NULL, + "id_group" INTEGER NULL default 0, + "internal_counter" INTEGER default '0', + "last_fired" BIGINT NOT NULL default '0', + "last_reference" BIGINT NOT NULL default '0', + "times_fired" INTEGER NOT NULL default '0', + "disabled" INTEGER default '0', + "standby" INTEGER default '0', + "priority" INTEGER default '0', + "force_execution" INTEGER default '0', + "group_by" type_tevent_alert_group_by default '' +); + +-- ----------------------------------------------------- +-- Table `tevent_alert_action` +-- ----------------------------------------------------- +CREATE TABLE "tevent_alert_action" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_event_alert" INTEGER NOT NULL REFERENCES tevent_alert("id") ON DELETE CASCADE ON UPDATE CASCADE, + "id_alert_action" INTEGER NOT NULL REFERENCES talert_actions("id") ON DELETE CASCADE ON UPDATE CASCADE, + "fires_min" INTEGER default 0, + "fires_max" INTEGER default 0, + "module_action_threshold" INTEGER NOT NULL default '0', + "last_execution" BIGINT NOT NULL default '0' +); + + +-- --------------------------------------------------------------------- +-- Table `tpolicy_modules_inventory` +-- --------------------------------------------------------------------- +CREATE TABLE "tpolicy_modules_inventory" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_policy" INTEGER NOT NULL REFERENCES tpolicies("id") ON UPDATE CASCADE ON DELETE CASCADE, + "id_module_inventory" INTEGER NOT NULL REFERENCES tmodule_inventory("id_module_inventory") ON UPDATE CASCADE ON DELETE CASCADE, + "interval" INTEGER NOT NULL default 3600, + "username" varchar(100) default '', + "password" varchar(100) default '', + "pending_delete" SMALLINT NOT NULL default 0 +); + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_enterprise` +-- ----------------------------------------------------- +CREATE TABLE "tnetworkmap_enterprise" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "name" varchar(500) default '', + "id_group" INTEGER NOT NULL default 0, + "options" TEXT default '' +); + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_enterprise_nodes` +-- ----------------------------------------------------- +CREATE TABLE "tnetworkmap_enterprise_nodes" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_networkmap_enterprise" INTEGER NOT NULL REFERENCES tnetworkmap_enterprise("id") ON UPDATE CASCADE ON DELETE CASCADE, + "x" INTEGER NOT NULL default 0, + "y" INTEGER NOT NULL default 0, + "z" INTEGER NOT NULL default 0, + "id_agent" INTEGER NOT NULL default 0, + "id_module" INTEGER NOT NULL default 0, + "id_agent_module" INTEGER NOT NULL default 0, + "parent" INTEGER default 0, + "options" text default '', + "deleted" text default '', + "state" TEXT default '' +); + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_ent_rel_nodes` (Before `tnetworkmap_enterprise_relation_nodes`) +-- ----------------------------------------------------- +CREATE TABLE "tnetworkmap_ent_rel_nodes" ( + "id" SERIAL NOT NULL PRIMARY KEY, + "id_networkmap_enterprise" INTEGER NOT NULL REFERENCES tnetworkmap_enterprise("id") ON UPDATE CASCADE ON DELETE CASCADE, + "parent" INTEGER default 0, + "parent_type" varchar(30) default 'node', + "child" INTEGER default 0, + "child_type" varchar(30) default 'node', + "deleted" text default '' +); + + +-- ----------------------------------------------------- +-- Table `treport_template` +-- ----------------------------------------------------- +CREATE TABLE "treport_template" ( + "id_report" SERIAL NOT NULL PRIMARY KEY, + "id_user" varchar(100) NOT NULL default '', + "name" varchar(150) NOT NULL default '', + "description" TEXT NOT NULL, + "private" SMALLINT NOT NULL default 0, + "id_group" SMALLINT NULL default NULL, + "custom_logo" varchar(200) default NULL, + "header" TEXT default NULL, + "first_page" TEXT default NULL, + "footer" TEXT default NULL, + "custom_font" varchar(200) default NULL, + "metaconsole" SMALLINT DEFAULT 0 +); + + +-- ----------------------------------------------------- +-- Table `treport_content_template` +-- ----------------------------------------------------- +CREATE TABLE "treport_content_template" ( + "id_rc" SERIAL NOT NULL PRIMARY KEY, + "id_report" INTEGER NOT NULL default 0 REFERENCES treport_template("id_report") ON DELETE CASCADE, + "id_gs" INTEGER NULL default NULL, + "text_agent_module" TEXT default NULL, + "type" varchar(30) default 'simple_graph', + "period" INTEGER NOT NULL default 0, + "order" INTEGER NOT NULL default 0, + "description" TEXT, + "text_agent" TEXT default '', + "text" TEXT default NULL, + "external_source" TEXT default NULL, + "treport_custom_sql_id" INTEGER default 0, + "header_definition" TEXT default NULL, + "column_separator" TEXT default NULL, + "line_separator" TEXT default NULL, + "time_from" TIME without time zone default '00:00:00', + "time_to" TIME without time zone default '00:00:00', + "monday" SMALLINT NOT NULL default 1, + "tuesday" SMALLINT NOT NULL default 1, + "wednesday" SMALLINT NOT NULL default 1, + "thursday" SMALLINT NOT NULL default 1, + "friday" SMALLINT NOT NULL default 1, + "saturday" SMALLINT NOT NULL default 1, + "sunday" SMALLINT NOT NULL default 1, + "only_display_wrong" SMALLINT not null default 0, + "top_n" INTEGER NOT NULL default 0, + "top_n_value" INTEGER NOT NULL default 10, + "exception_condition" INTEGER NOT NULL default 0, + "exception_condition_value" DOUBLE PRECISION NOT NULL default 0, + "show_resume" INTEGER NOT NULL default 0, + "order_uptodown" INTEGER NOT NULL default 0, + "show_graph" INTEGER NOT NULL default 0, + "group_by_agent" INTEGER NOT NULL default 0, + "style" TEXT NOT NULL DEFAULT '', + "id_group" INTEGER NOT NULL DEFAULT 0, + "id_module_group" INTEGER NOT NULL DEFAULT 0, + "server_name" text default '', + "exact_match" SMALLINT default 0, + "module_names" TEXT default NULL, + "module_free_text" TEXT default NULL, + "each_agent" SMALLINT NOT NULL default 1 +); + + +-- ----------------------------------------------------- +-- Table `treport_content_sla_com_temp` +-- ----------------------------------------------------- +CREATE TABLE "treport_content_sla_com_temp" ( + "id" SERIAL NOT NULL, + "id_report_content" INTEGER NOT NULL REFERENCES treport_content_template("id_rc") ON DELETE CASCADE, + "text_agent" TEXT default '', + "text_agent_module" TEXT default '', + "sla_max" DOUBLE PRECISION NOT NULL default 0, + "sla_min" DOUBLE PRECISION NOT NULL default 0, + "sla_limit" DOUBLE PRECISION NOT NULL default 0, + "server_name" TEXT default '', + "exact_match" SMALLINT default 0 +); + + +-- ----------------------------------------------------- +-- Table `treport_content_item_temp` (treport_content_item_template) +-- ----------------------------------------------------- +CREATE TABLE "treport_content_item_temp" ( + "id" SERIAL NOT NULL, + "id_report_content" INTEGER NOT NULL REFERENCES treport_content_template("id_rc") ON DELETE CASCADE, + "text_agent" TEXT default '', + "text_agent_module" TEXT default '', + "server_name" TEXT default '', + "exact_match" SMALLINT default 0, + "operation" TEXT +); + + +-- ----------------------------------------------------- +-- Table `tgraph_template` +-- ----------------------------------------------------- +CREATE TABLE "tgraph_template" ( + "id_graph_template" SERIAL NOT NULL PRIMARY KEY, + "id_user" TEXT NOT NULL default '', + "name" TEXT NOT NULL default '', + "description" TEXT NOT NULL default '', + "period" INTEGER NOT NULL default 0, + "width" SMALLINT NOT NULL default 0, + "height" SMALLINT NOT NULL default 0, + "private" SMALLINT NOT NULL default 0, + "events" SMALLINT NOT NULL default 0, + "stacked" SMALLINT NOT NULL default 0, + "id_group" INTEGER NOT NULL default 0 + ); + + +-- ----------------------------------------------------- +-- Table `tgraph_source_template` +-- ----------------------------------------------------- +CREATE TABLE "tgraph_source_template" ( + "id_gs_template" SERIAL NOT NULL PRIMARY KEY, + "id_template" INTEGER NOT NULL default 0, + "agent" TEXT NOT NULL default '', + "module" TEXT NOT NULL default '', + "period" INTEGER NOT NULL default 0, + "weight" DOUBLE PRECISION default 2.0, + "exact_match" SMALLINT NOT NULL default 0 + ); + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_event` +-- --------------------------------------------------------------------- +CREATE TYPE type_tmetaconsole_event_event AS ENUM ('going_unknown','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal', 'configuration_change'); +CREATE TABLE "tmetaconsole_event" ( + "id_evento" BIGSERIAL NOT NULL PRIMARY KEY, + "id_source_event" BIGSERIAL NOT NULL, + "id_agente" INTEGER NOT NULL default 0, + "agent_name" varchar(600) NOT NULL default '', + "id_usuario" varchar(100) NOT NULL default '0', + "id_grupo" INTEGER NOT NULL default 0, + "group_name" text NOT NULL default '', + "estado" INTEGER NOT NULL default 0, + "timestamp" TIMESTAMP without time zone default '1970-01-01 00:00:00', + "evento" text NOT NULL default '', + "utimestamp" BIGINT NOT NULL default 0, + "event_type" type_tmetaconsole_event_event default 'unknown', + "id_agentmodule" INTEGER NOT NULL default 0, + "module_name" TEXT NOT NULL default '', + "id_alert_am" INTEGER NOT NULL default 0, + "alert_template_name" text default '', + "criticity" INTEGER NOT NULL default 0, + "user_comment" text NOT NULL, + "tags" text NOT NULL, + "source" text NOT NULL default '', + "id_extra" text NOT NULL default '', + "critical_instructions" TEXT default '', + "warning_instructions" TEXT default '', + "unknown_instructions" TEXT default '', + "owner_user" varchar(100) NOT NULL default '0', + "ack_utimestamp" BIGINT NOT NULL default 0, + "server_id" INTEGER NOT NULL, + "custom_data" text NOT NULL +); +CREATE INDEX "tmetaconsole_event_id_1_idx" ON "tmetaconsole_event"("id_agente", "id_evento"); +CREATE INDEX "tmetaconsole_event_id_agentmodule_idx" ON "tmetaconsole_event"("id_agentmodule"); +CREATE INDEX "tmetaconsole_event_server_id_idx" ON "tmetaconsole_event"("server_id"); +CREATE INDEX "tmetaconsole_event_id_grupo_idx" ON "tmetaconsole_event"("id_grupo"); +CREATE INDEX "tmetaconsole_event_criticity_idx" ON "tmetaconsole_event"("criticity"); +CREATE INDEX "tmetaconsole_event_estado_idx" ON "tmetaconsole_event"("estado"); + + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_event_history` +-- --------------------------------------------------------------------- +CREATE TYPE type_tmetaconsole_event_event_h AS ENUM ('going_unknown','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal', 'configuration_change'); +CREATE TABLE "tmetaconsole_event_history" ( + "id_evento" BIGSERIAL NOT NULL PRIMARY KEY, + "id_source_event" BIGSERIAL NOT NULL, + "id_agente" INTEGER NOT NULL default 0, + "agent_name" varchar(600) NOT NULL default '', + "id_usuario" varchar(100) NOT NULL default '0', + "id_grupo" INTEGER NOT NULL default 0, + "group_name" text NOT NULL default '', + "estado" INTEGER NOT NULL default 0, + "timestamp" TIMESTAMP without time zone default '1970-01-01 00:00:00', + "evento" text NOT NULL default '', + "utimestamp" BIGINT NOT NULL default 0, + "event_type" type_tmetaconsole_event_event_h default 'unknown', + "id_agentmodule" INTEGER NOT NULL default 0, + "module_name" TEXT NOT NULL default '', + "id_alert_am" INTEGER NOT NULL default 0, + "alert_template_name" text default '', + "criticity" INTEGER NOT NULL default 0, + "user_comment" text NOT NULL, + "tags" text NOT NULL, + "source" text NOT NULL default '', + "id_extra" text NOT NULL default '', + "critical_instructions" TEXT default '', + "warning_instructions" TEXT default '', + "unknown_instructions" TEXT default '', + "owner_user" varchar(100) NOT NULL default '0', + "ack_utimestamp" BIGINT NOT NULL default 0, + "server_id" INTEGER NOT NULL, + "custom_data" text NOT NULL +); +CREATE INDEX "tmetaconsole_event_h_id_1_idx" ON "tmetaconsole_event_history"("id_agente", "id_evento"); +CREATE INDEX "tmetaconsole_event_h_id_agentmodule_idx" ON "tmetaconsole_event_history"("id_agentmodule"); +CREATE INDEX "tmetaconsole_event_h_server_id_idx" ON "tmetaconsole_event_history"("server_id"); +CREATE INDEX "tmetaconsole_event_h_id_grupo_idx" ON "tmetaconsole_event_history"("id_grupo"); +CREATE INDEX "tmetaconsole_event_h_criticity_idx" ON "tmetaconsole_event_history"("criticity"); +CREATE INDEX "tmetaconsole_event_h_estado_idx" ON "tmetaconsole_event_history"("estado"); + +-- --------------------------------------------------------------------- +-- Table `tagent_module_log` +-- --------------------------------------------------------------------- +CREATE TABLE "tagent_module_log" ( + "id_agent_module_log" SERIAL NOT NULL PRIMARY KEY, + "id_agent" INTEGER NOT NULL REFERENCES tagente("id_agente") ON UPDATE CASCADE ON DELETE CASCADE, + "source" TEXT, + "timestamp" TIMESTAMP without time zone default '1970-01-01 00:00:00', + "utimestamp" BIGINT NOT NULL default 0 +); + +-- --------------------------------------------------------------------- +-- Table `tevent_custom_field` +-- --------------------------------------------------------------------- +CREATE TABLE "tevent_custom_field" ( + "id_group" INTEGER NOT NULL default 0, + "value" text NOT NULL default '' +); \ No newline at end of file diff --git a/pandora_console/pandoradb.sql b/pandora_console/pandoradb.sql index f28adb86ae..116dcdd611 100644 --- a/pandora_console/pandoradb.sql +++ b/pandora_console/pandoradb.sql @@ -1942,3 +1942,981 @@ CREATE TABLE IF NOT EXISTS `trel_item` ( `deleted` int(1) unsigned NOT NULL default 0, PRIMARY KEY(`id`) ) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tlocal_component` +-- ----------------------------------------------------- +-- tlocal_component is a repository of local modules for +-- physical agents on Windows / Unix physical agents +CREATE TABLE IF NOT EXISTS `tlocal_component` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` text NOT NULL, + `data` mediumtext NOT NULL, + `description` varchar(1024) default NULL, + `id_os` int(10) unsigned default '0', + `os_version` varchar(100) default '', + `id_network_component_group` int(10) unsigned NOT NULL default 0, + `type` smallint(6) NOT NULL default '6', + `max` bigint(20) NOT NULL default '0', + `min` bigint(20) NOT NULL default '0', + `module_interval` mediumint(8) unsigned NOT NULL default '0', + `id_module_group` tinyint(4) unsigned NOT NULL default '0', + `history_data` tinyint(1) unsigned default '1', + `min_warning` double(18,2) default 0, + `max_warning` double(18,2) default 0, + `str_warning` text, + `min_critical` double(18,2) default 0, + `max_critical` double(18,2) default 0, + `str_critical` text, + `min_ff_event` int(4) unsigned default '0', + `post_process` double(24,15) default 0, + `unit` text, + `wizard_level` enum('basic','advanced','nowizard') default 'nowizard', + `macros` text, + `critical_instructions` text NOT NULL default '', + `warning_instructions` text NOT NULL default '', + `unknown_instructions` text NOT NULL default '', + `critical_inverse` tinyint(1) unsigned default '0', + `warning_inverse` tinyint(1) unsigned default '0', + `id_category` int(10) default 0, + `tags` text NOT NULL default '', + `disabled_types_event` TEXT NOT NULL DEFAULT '', + `min_ff_event_normal` int(4) unsigned default '0', + `min_ff_event_warning` int(4) unsigned default '0', + `min_ff_event_critical` int(4) unsigned default '0', + `each_ff` tinyint(1) unsigned default '0', + `ff_timeout` int(4) unsigned default '0', + `dynamic_interval` int(4) unsigned default '0', + `dynamic_max` int(4) default '0', + `dynamic_min` int(4) default '0', + `dynamic_next` bigint(20) NOT NULL default '0', + `dynamic_two_tailed` tinyint(1) unsigned default '0', + `prediction_sample_window` int(10) default 0, + `prediction_samples` int(4) default 0, + `prediction_threshold` int(4) default 0, + PRIMARY KEY (`id`), + FOREIGN KEY (`id_network_component_group`) REFERENCES tnetwork_component_group(`id_sg`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tpolicy_modules` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tpolicy_modules` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_policy` int(10) unsigned NOT NULL default '0', + `configuration_data` mediumtext NOT NULL, + `id_tipo_modulo` smallint(5) NOT NULL default '0', + `description` varchar(1024) NOT NULL default '', + `name` varchar(200) NOT NULL default '', + `unit` text default '', + `max` bigint(20) default '0', + `min` bigint(20) default '0', + `module_interval` int(4) unsigned default '0', + `tcp_port` int(4) unsigned default '0', + `tcp_send` text default '', + `tcp_rcv` text default '', + `snmp_community` varchar(100) default '', + `snmp_oid` varchar(255) default '0', + `id_module_group` int(4) unsigned default '0', + `flag` tinyint(1) unsigned default '1', + `id_module` int(10) default '0', + `disabled` tinyint(1) unsigned NOT NULL default '0', + `id_export` smallint(4) unsigned default '0', + `plugin_user` text default '', + `plugin_pass` text default '', + `plugin_parameter` text, + `id_plugin` int(10) default '0', + `post_process` double(24,15) default NULL, + `prediction_module` bigint(14) default '0', + `max_timeout` int(4) unsigned default '0', + `max_retries` int(4) unsigned default '0', + `custom_id` varchar(255) default '', + `history_data` tinyint(1) unsigned default '1', + `min_warning` double(18,2) default 0, + `max_warning` double(18,2) default 0, + `str_warning` text default '', + `min_critical` double(18,2) default 0, + `max_critical` double(18,2) default 0, + `str_critical` text default '', + `min_ff_event` int(4) unsigned default '0', + `custom_string_1` text default '', + `custom_string_2` text default '', + `custom_string_3` text default '', + `custom_integer_1` int(10) default 0, + `custom_integer_2` int(10) default 0, + `pending_delete` tinyint(1) default '0', + `critical_instructions` text NOT NULL default '', + `warning_instructions` text NOT NULL default '', + `unknown_instructions` text NOT NULL default '', + `critical_inverse` tinyint(1) unsigned default '0', + `warning_inverse` tinyint(1) unsigned default '0', + `id_category` int(10) default 0, + `module_ff_interval` int(4) unsigned default '0', + `quiet` tinyint(1) NOT NULL default '0', + `cron_interval` varchar(100) default '', + `macros` text, + `disabled_types_event` TEXT NOT NULL default '', + `module_macros` TEXT NOT NULL default '', + `min_ff_event_normal` int(4) unsigned default '0', + `min_ff_event_warning` int(4) unsigned default '0', + `min_ff_event_critical` int(4) unsigned default '0', + `each_ff` tinyint(1) unsigned default '0', + `ff_timeout` int(4) unsigned default '0', + `dynamic_interval` int(4) unsigned default '0', + `dynamic_max` int(4) default '0', + `dynamic_min` int(4) default '0', + `dynamic_next` bigint(20) NOT NULL default '0', + `dynamic_two_tailed` tinyint(1) unsigned default '0', + `prediction_sample_window` int(10) default 0, + `prediction_samples` int(4) default 0, + `prediction_threshold` int(4) default 0, + PRIMARY KEY (`id`), + KEY `main_idx` (`id_policy`), + UNIQUE (`id_policy`, `name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tpolicies` +-- --------------------------------------------------------------------- +-- 'status' could be 0 (without changes, updated), 1 (needy update only database) or 2 (needy update database and conf files) +CREATE TABLE IF NOT EXISTS `tpolicies` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` text NOT NULL default '', + `description` varchar(255) NOT NULL default '', + `id_group` int(10) unsigned default '0', + `status` int(10) unsigned NOT NULL default 0, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tpolicy_alerts` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tpolicy_alerts` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_policy` int(10) unsigned NOT NULL default '0', + `id_policy_module` int(10) unsigned default '0', + `id_alert_template` int(10) unsigned default '0', + `name_extern_module` TEXT NOT NULL default '', + `disabled` tinyint(1) default '0', + `standby` tinyint(1) default '0', + `pending_delete` tinyint(1) default '0', + PRIMARY KEY (`id`), + FOREIGN KEY (`id_alert_template`) REFERENCES talert_templates(`id`) + ON DELETE CASCADE ON UPDATE CASCADE, + FOREIGN KEY (`id_policy`) REFERENCES tpolicies(`id`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tpolicy_agents` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tpolicy_agents` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_policy` int(10) unsigned default '0', + `id_agent` int(10) unsigned default '0', + `policy_applied` tinyint(1) unsigned default '0', + `pending_delete` tinyint(1) unsigned default '0', + `last_apply_utimestamp` int(10) unsigned NOT NULL default 0, + PRIMARY KEY (`id`), + UNIQUE (`id_policy`, `id_agent`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tdashboard` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tdashboard` ( + `id` int(20) unsigned NOT NULL auto_increment, + `name` varchar(60) NOT NULL default '', + `id_user` varchar(60) NOT NULL default '', + `id_group` int(10) NOT NULL default 0, + `active` tinyint(1) NOT NULL default 0, + `cells` int(10) unsigned default 0, + PRIMARY KEY (`id`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `twidget` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `twidget` ( + `id` int(20) unsigned NOT NULL auto_increment, + `class_name` varchar(60) NOT NULL default '', + `unique_name` varchar(60) NOT NULL default '', + `description` text NOT NULL default '', + `options` text NOT NULL default '', + `page` varchar(120) NOT NULL default '', + PRIMARY KEY (`id`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `twidget_dashboard` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `twidget_dashboard` ( + `id` int(20) unsigned NOT NULL auto_increment, + `options` LONGTEXT NOT NULL default '', + `order` int(3) NOT NULL default 0, + `id_dashboard` int(20) unsigned NOT NULL default 0, + `id_widget` int(20) unsigned NOT NULL default 0, + `prop_width` float(5,3) NOT NULL default 0.32, + `prop_height` float(5,3) NOT NULL default 0.32, + PRIMARY KEY (`id`), + FOREIGN KEY (`id_dashboard`) REFERENCES tdashboard(`id`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tmodule_inventory` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tmodule_inventory` ( + `id_module_inventory` int(10) NOT NULL auto_increment, + `id_os` int(10) unsigned default NULL, + `name` text default '', + `description` text default '', + `interpreter` varchar(100) default '', + `data_format` text default '', + `code` BLOB NOT NULL, + `block_mode` int(3) NOT NULL default 0, + PRIMARY KEY (`id_module_inventory`), + FOREIGN KEY (`id_os`) REFERENCES tconfig_os(`id_os`) + ON UPDATE CASCADE ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tagent_module_inventory` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tagent_module_inventory` ( + `id_agent_module_inventory` int(10) NOT NULL auto_increment, + `id_agente` int(10) unsigned NOT NULL, + `id_module_inventory` int(10) NOT NULL, + `target` varchar(100) default '', + `interval` int(10) unsigned NOT NULL default '3600', + `username` varchar(100) default '', + `password` varchar(100) default '', + `data` MEDIUMBLOB NOT NULL, + `timestamp` datetime default '1970-01-01 00:00:00', + `utimestamp` bigint(20) default '0', + `flag` tinyint(1) unsigned default '1', + `id_policy_module_inventory` int(10) NOT NULL default '0', + PRIMARY KEY (`id_agent_module_inventory`), + FOREIGN KEY (`id_agente`) REFERENCES tagente(`id_agente`) + ON UPDATE CASCADE ON DELETE CASCADE, + FOREIGN KEY (`id_module_inventory`) REFERENCES tmodule_inventory(`id_module_inventory`) + ON UPDATE CASCADE ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tpolicy_modules_inventory` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tpolicy_modules_inventory` ( + `id` int(10) NOT NULL auto_increment, + `id_policy` int(10) unsigned NOT NULL, + `id_module_inventory` int(10) NOT NULL, + `interval` int(10) unsigned NOT NULL default '3600', + `username` varchar(100) default '', + `password` varchar(100) default '', + `pending_delete` tinyint(1) default '0', + PRIMARY KEY (`id`), + FOREIGN KEY (`id_policy`) REFERENCES tpolicies(`id`) + ON UPDATE CASCADE ON DELETE CASCADE, + FOREIGN KEY (`id_module_inventory`) REFERENCES tmodule_inventory(`id_module_inventory`) + ON UPDATE CASCADE ON DELETE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tagente_datos_inventory` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tagente_datos_inventory` ( + `id_agent_module_inventory` int(10) NOT NULL, + `data` MEDIUMBLOB NOT NULL, + `utimestamp` bigint(20) default '0', + `timestamp` datetime default '1970-01-01 00:00:00', + KEY `idx_id_agent_module` (`id_agent_module_inventory`), + KEY `idx_utimestamp` USING BTREE (`utimestamp`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `ttrap_custom_values` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `ttrap_custom_values` ( + `id` int(10) NOT NULL auto_increment, + `oid` varchar(255) NOT NULL default '', + `custom_oid` varchar(255) NOT NULL default '', + `text` varchar(255) default '', + `description` varchar(255) default '', + `severity` tinyint(4) unsigned NOT NULL default '2', + CONSTRAINT oid_custom_oid UNIQUE(oid, custom_oid), + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tmetaconsole_setup` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tmetaconsole_setup` ( + `id` int(10) NOT NULL auto_increment primary key, + `server_name` text default '', + `server_url` text default '', + `dbuser` text default '', + `dbpass` text default '', + `dbhost` text default '', + `dbport` text default '', + `dbname` text default '', + `auth_token` text default '', + `id_group` int(10) unsigned NOT NULL default 0, + `api_password` text NOT NULL, + `disabled` tinyint(1) unsigned NOT NULL default '0', + `last_event_replication` bigint(20) default '0' +) ENGINE=InnoDB +COMMENT = 'Table to store metaconsole sources' +DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tprofile_view` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tprofile_view` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_profile` int(10) unsigned NOT NULL default 0, + `sec` text default '', + `sec2` text default '', + `sec3` text default '', + PRIMARY KEY (`id`) +) ENGINE=InnoDB +COMMENT = 'Table to define by each profile defined in Pandora, to which sec/page has access independently of its ACL (for showing in the console or not). By default have access to all pages allowed by ACL, if forbidden here, then pages are not shown.' +DEFAULT CHARSET=utf8; + + +-- --------------------------------------------------------------------- +-- Table `tservice` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tservice` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` varchar(100) NOT NULL default '', + `description` text NOT NULL default '', + `id_group` int(10) unsigned NOT NULL default 0, + `critical` float(20,3) NOT NULL default 0, + `warning` float(20,3) NOT NULL default 0, + `service_interval` float(20,3) NOT NULL default 0, + `service_value` float(20,3) NOT NULL default 0, + `status` tinyint(3) NOT NULL default -1, + `utimestamp` int(10) unsigned NOT NULL default 0, + `auto_calculate` tinyint(1) unsigned NOT NULL default 1, + `id_agent_module` int(10) unsigned NOT NULL default 0, + `sla_interval` float(20,3) NOT NULL default 0, + `sla_id_module` int(10) unsigned NOT NULL default 0, + `sla_value_id_module` int(10) unsigned NOT NULL default 0, + `sla_limit` float(20,3) NOT NULL default 100, + `id_template_alert_warning` int(10) unsigned NOT NULL default 0, + `id_template_alert_critical` int(10) unsigned NOT NULL default 0, + `id_template_alert_unknown` int(10) unsigned NOT NULL default 0, + `id_template_alert_critical_sla` int(10) unsigned NOT NULL default 0, + PRIMARY KEY (`id`) +) ENGINE=InnoDB +COMMENT = 'Table to define services to monitor' +DEFAULT CHARSET=utf8; + + +-- --------------------------------------------------------------------- +-- Table `tservice_element` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tservice_element` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_service` int(10) unsigned NOT NULL, + `weight_ok` float(20,3) NOT NULL default 0, + `weight_warning` float(20,3) NOT NULL default 0, + `weight_critical` float(20,3) NOT NULL default 0, + `weight_unknown` float(20,3) NOT NULL default 0, + `description` text NOT NULL default '', + `id_agente_modulo` int(10) unsigned NOT NULL default 0, + `id_agent` int(10) unsigned NOT NULL default 0, + `id_service_child` int(10) unsigned NOT NULL default 0, + `id_server_meta` int(10) unsigned NOT NULL default 0, + PRIMARY KEY (`id`) +) ENGINE=InnoDB +COMMENT = 'Table to define the modules and the weights of the modules that define a service' +DEFAULT CHARSET=utf8; + + +-- --------------------------------------------------------------------- +-- Table `tcollection` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tcollection` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` varchar(100) NOT NULL default '', + `short_name` varchar(100) NOT NULL default '', + `id_group` int(10) unsigned NOT NULL default 0, + `description` mediumtext, + `status` int(4) unsigned NOT NULL default '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +-- status: 0 - Not apply +-- status: 1 - Applied + +-- --------------------------------------------------------------------- +-- Table `tpolicy_collections` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tpolicy_collections` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_policy` int(10) unsigned NOT NULL default '0', + `id_collection` int(10) unsigned default '0', + `pending_delete` tinyint(1) default '0', + PRIMARY KEY (`id`), + FOREIGN KEY (`id_policy`) REFERENCES `tpolicies` (`id`) + ON DELETE CASCADE ON UPDATE CASCADE, + FOREIGN KEY (`id_collection`) REFERENCES `tcollection` (`id`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tpolicy_alerts_actions` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tpolicy_alerts_actions` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_policy_alert` int(10) unsigned NOT NULL, + `id_alert_action` int(10) unsigned NOT NULL, + `fires_min` int(3) unsigned default 0, + `fires_max` int(3) unsigned default 0, + PRIMARY KEY (`id`), + FOREIGN KEY (`id_policy_alert`) REFERENCES `tpolicy_alerts` (`id`) + ON DELETE CASCADE ON UPDATE CASCADE, + FOREIGN KEY (`id_alert_action`) REFERENCES `talert_actions` (`id`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tpolicy_plugins` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tpolicy_plugins` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_policy` int(10) unsigned default '0', + `plugin_exec` TEXT, + `pending_delete` tinyint(1) default '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tsesion_extended` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tsesion_extended` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_sesion` int(10) unsigned NOT NULL, + `extended_info` TEXT default '', + `hash` varchar(255) default '', + PRIMARY KEY (`id`), + KEY idx_session (id_sesion) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tskin` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tskin` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` TEXT NOT NULL DEFAULT '', + `relative_path` TEXT NOT NULL DEFAULT '', + `description` text NOT NULL DEFAULT '', + `disabled` tinyint(2) NOT NULL default '0', + PRIMARY KEY (id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tpolicy_queue` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tpolicy_queue` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_policy` int(10) unsigned NOT NULL default '0', + `id_agent` int(10) unsigned NOT NULL default '0', + `operation` varchar(15) default '', + `progress` int(10) unsigned NOT NULL default '0', + `end_utimestamp` int(10) unsigned NOT NULL default 0, + `priority` int(10) unsigned NOT NULL default '0', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tevent_rule` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tevent_rule` ( + `id_event_rule` int(10) unsigned NOT NULL auto_increment, + `id_event_alert` int(10) unsigned NOT NULL, + `operation` enum('NOP', 'AND','OR','XOR','NAND','NOR','NXOR'), + `order` int(10) unsigned default '0', + `window` int(10) NOT NULL default '0', + `count` int(4) NOT NULL default '1', + `agent` text default '', + `id_usuario` varchar(100) NOT NULL default '', + `id_grupo` mediumint(4) NOT NULL default '0', + `evento` text NOT NULL default '', + `event_type` enum('','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal') default 'unknown', + `module` text default '', + `alert` text default '', + `criticity` int(4) unsigned NOT NULL default '0', + `user_comment` text NOT NULL, + `id_tag` integer(10) unsigned NOT NULL default '0', + `name` text default '', + PRIMARY KEY (`id_event_rule`), + KEY `idx_id_event_alert` (`id_event_alert`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tevent_alert` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tevent_alert` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` text default '', + `description` mediumtext, + `order` int(10) unsigned default 0, + `mode` enum('PASS','DROP'), + `field1` text NOT NULL default '', + `field2` text NOT NULL default '', + `field3` text NOT NULL default '', + `field4` text NOT NULL default '', + `field5` text NOT NULL default '', + `field6` text NOT NULL default '', + `field7` text NOT NULL default '', + `field8` text NOT NULL default '', + `field9` text NOT NULL default '', + `field10` text NOT NULL default '', + `time_threshold` int(10) NOT NULL default '0', + `max_alerts` int(4) unsigned NOT NULL default '1', + `min_alerts` int(4) unsigned NOT NULL default '0', + `time_from` time default '00:00:00', + `time_to` time default '00:00:00', + `monday` tinyint(1) default 1, + `tuesday` tinyint(1) default 1, + `wednesday` tinyint(1) default 1, + `thursday` tinyint(1) default 1, + `friday` tinyint(1) default 1, + `saturday` tinyint(1) default 1, + `sunday` tinyint(1) default 1, + `recovery_notify` tinyint(1) default '0', + `field2_recovery` text NOT NULL default '', + `field3_recovery` text NOT NULL, + `id_group` mediumint(8) unsigned NULL default 0, + `internal_counter` int(4) default '0', + `last_fired` bigint(20) NOT NULL default '0', + `last_reference` bigint(20) NOT NULL default '0', + `times_fired` int(3) NOT NULL default '0', + `disabled` tinyint(1) default '0', + `standby` tinyint(1) default '0', + `priority` tinyint(4) default '0', + `force_execution` tinyint(1) default '0', + `group_by` enum ('','id_agente','id_agentmodule','id_alert_am','id_grupo') default '', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tevent_alert_action` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tevent_alert_action` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_event_alert` int(10) unsigned NOT NULL, + `id_alert_action` int(10) unsigned NOT NULL, + `fires_min` int(3) unsigned default 0, + `fires_max` int(3) unsigned default 0, + `module_action_threshold` int(10) NOT NULL default '0', + `last_execution` bigint(20) NOT NULL default '0', + PRIMARY KEY (`id`), + FOREIGN KEY (`id_event_alert`) REFERENCES tevent_alert(`id`) + ON DELETE CASCADE ON UPDATE CASCADE, + FOREIGN KEY (`id_alert_action`) REFERENCES talert_actions(`id`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +-- ----------------------------------------------------- +-- Table `tmodule_synth` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tmodule_synth` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_agent_module_source` int(10) unsigned NOT NULL DEFAULT 0, + `id_agent_module_target` int(10) unsigned NOT NULL DEFAULT 0, + `fixed_value` float NOT NULL DEFAULT 0, + `operation` enum ('ADD', 'SUB', 'DIV', 'MUL', 'AVG', 'NOP') NOT NULL DEFAULT 'NOP', + `order` int(11) NOT NULL DEFAULT '0', + FOREIGN KEY (`id_agent_module_target`) REFERENCES tagente_modulo(`id_agente_modulo`) + ON DELETE CASCADE ON UPDATE CASCADE, + PRIMARY KEY (id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_enterprise` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tnetworkmap_enterprise` ( + `id` int(10) unsigned NOT NULL auto_increment, + `name` varchar(500) default '', + `id_group` int(10) unsigned NOT NULL default 0, + `options` text default '', + PRIMARY KEY (id) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_enterprise_nodes` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tnetworkmap_enterprise_nodes` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_networkmap_enterprise` int(10) unsigned NOT NULL, + `x` int(10) default 0, + `y` int(10) default 0, + `z` int(10) default 0, + `id_agent` int(10) default 0, + `id_module` int(10) default 0, + `id_agent_module` int(10) default 0, + `parent` int(10) default 0, + `options` text default '', + `deleted` int(10) default 0, + `state` varchar(150) NOT NULL default '', + PRIMARY KEY (id), + FOREIGN KEY (`id_networkmap_enterprise`) REFERENCES tnetworkmap_enterprise(`id`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + + +-- ----------------------------------------------------- +-- Table `tnetworkmap_ent_rel_nodes` (Before `tnetworkmap_enterprise_relation_nodes`) +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tnetworkmap_ent_rel_nodes` ( + `id` int(10) unsigned NOT NULL auto_increment, + `id_networkmap_enterprise` int(10) unsigned NOT NULL, + `parent` int(10) default 0, + `parent_type` varchar(30) default 'node', + `child` int(10) default 0, + `child_type` varchar(30) default 'node', + `deleted` int(10) default 0, + PRIMARY KEY (id, id_networkmap_enterprise), + FOREIGN KEY (`id_networkmap_enterprise`) REFERENCES tnetworkmap_enterprise(`id`) + ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `treport_template` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `treport_template` ( + `id_report` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `id_user` varchar(100) NOT NULL default '', + `name` varchar(150) NOT NULL default '', + `description` TEXT NOT NULL, + `private` tinyint(1) UNSIGNED NOT NULL default 0, + `id_group` mediumint(8) unsigned NULL default NULL, + `custom_logo` varchar(200) default NULL, + `header` MEDIUMTEXT default NULL, + `first_page` MEDIUMTEXT default NULL, + `footer` MEDIUMTEXT default NULL, + `custom_font` varchar(200) default NULL, + `metaconsole` tinyint(1) DEFAULT 0, + PRIMARY KEY(`id_report`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `treport_content_template` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `treport_content_template` ( + `id_rc` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `id_report` INTEGER UNSIGNED NOT NULL default 0, + `id_gs` INTEGER UNSIGNED NULL default NULL, + `text_agent_module` text, + `type` varchar(30) default 'simple_graph', + `period` int(11) NOT NULL default 0, + `order` int (11) NOT NULL default 0, + `description` mediumtext, + `text_agent` text, + `text` TEXT, + `external_source` Text, + `treport_custom_sql_id` INTEGER UNSIGNED default 0, + `header_definition` TinyText default NULL, + `column_separator` TinyText default NULL, + `line_separator` TinyText default NULL, + `time_from` time default '00:00:00', + `time_to` time default '00:00:00', + `monday` tinyint(1) default 1, + `tuesday` tinyint(1) default 1, + `wednesday` tinyint(1) default 1, + `thursday` tinyint(1) default 1, + `friday` tinyint(1) default 1, + `saturday` tinyint(1) default 1, + `sunday` tinyint(1) default 1, + `only_display_wrong` tinyint (1) unsigned default 0 not null, + `top_n` INT NOT NULL default 0, + `top_n_value` INT NOT NULL default 10, + `exception_condition` INT NOT NULL default 0, + `exception_condition_value` DOUBLE (18,6) NOT NULL default 0, + `show_resume` INT NOT NULL default 0, + `order_uptodown` INT NOT NULL default 0, + `show_graph` INT NOT NULL default 0, + `group_by_agent` INT NOT NULL default 0, + `style` TEXT NOT NULL, + `id_group` INT (10) unsigned NOT NULL DEFAULT 0, + `id_module_group` INT (10) unsigned NOT NULL DEFAULT 0, + `server_name` text, + `exact_match` tinyint(1) default 0, + `module_names` TEXT, + `module_free_text` TEXT, + `each_agent` tinyint(1) default 1, + PRIMARY KEY(`id_rc`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `treport_content_sla_com_temp` (treport_content_sla_combined_template) +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `treport_content_sla_com_temp` ( + `id` INTEGER UNSIGNED NOT NULL auto_increment, + `id_report_content` INTEGER UNSIGNED NOT NULL, + `text_agent` text, + `text_agent_module` text, + `sla_max` double(18,2) NOT NULL default 0, + `sla_min` double(18,2) NOT NULL default 0, + `sla_limit` double(18,2) NOT NULL default 0, + `server_name` text, + `exact_match` tinyint(1) default 0, + PRIMARY KEY(`id`), + FOREIGN KEY (`id_report_content`) REFERENCES treport_content_template(`id_rc`) + ON UPDATE CASCADE ON DELETE CASCADE +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `treport_content_item_temp` (treport_content_item_template) +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `treport_content_item_temp` ( + `id` INTEGER UNSIGNED NOT NULL auto_increment, + `id_report_content` INTEGER UNSIGNED NOT NULL, + `text_agent` text, + `text_agent_module` text, + `server_name` text, + `exact_match` tinyint(1) default 0, + `operation` text, + PRIMARY KEY(`id`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- ----------------------------------------------------- +-- Table `tgraph_template` +-- ----------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tgraph_template` ( + `id_graph_template` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `id_user` TEXT NOT NULL, + `name` TEXT NOT NULL, + `description` TEXT NOT NULL, + `period` int(11) NOT NULL default '0', + `width` smallint(5) UNSIGNED NOT NULL DEFAULT 0, + `height` smallint(5) UNSIGNED NOT NULL DEFAULT 0, + `private` tinyint(1) UNSIGNED NOT NULL default 0, + `events` tinyint(1) UNSIGNED NOT NULL default 0, + `stacked` tinyint(1) UNSIGNED NOT NULL default 0, + `id_group` mediumint(8) unsigned NULL default 0, + PRIMARY KEY(`id_graph_template`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tgraph_source_template` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tgraph_source_template` ( + `id_gs_template` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, + `id_template` int(11) NOT NULL default 0, + `agent` TEXT, + `module` TEXT, + `weight` FLOAT(5,3) NOT NULL DEFAULT 2, + `exact_match` tinyint(1) default 0, + PRIMARY KEY(`id_gs_template`) +) ENGINE = InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_event` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tmetaconsole_event` ( + `id_evento` bigint(20) unsigned NOT NULL auto_increment, + `id_source_event` bigint(20) unsigned NOT NULL, + `id_agente` int(10) NOT NULL default '0', + `agent_name` varchar(600) BINARY NOT NULL default '', + `id_usuario` varchar(100) NOT NULL default '0', + `id_grupo` mediumint(4) NOT NULL default '0', + `group_name` varchar(100) NOT NULL default '', + `estado` tinyint(3) unsigned NOT NULL default '0', + `timestamp` datetime NOT NULL default '1970-01-01 00:00:00', + `evento` text NOT NULL, + `utimestamp` bigint(20) NOT NULL default '0', + `event_type` enum('going_unknown','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal', 'configuration_change') default 'unknown', + `id_agentmodule` int(10) NOT NULL default '0', + `module_name` varchar(600) NOT NULL, + `id_alert_am` int(10) NOT NULL default '0', + `alert_template_name` text, + `criticity` int(4) unsigned NOT NULL default '0', + `user_comment` text NOT NULL, + `tags` text NOT NULL, + `source` tinytext NOT NULL, + `id_extra` tinytext NOT NULL, + `critical_instructions` text NOT NULL default '', + `warning_instructions` text NOT NULL default '', + `unknown_instructions` text NOT NULL default '', + `owner_user` VARCHAR(100) NOT NULL DEFAULT '', + `ack_utimestamp` BIGINT(20) NOT NULL DEFAULT '0', + `server_id` int(10) NOT NULL, + `custom_data` TEXT NOT NULL DEFAULT '', + PRIMARY KEY (`id_evento`), + KEY `idx_agente` (`id_agente`), + KEY `idx_agentmodule` (`id_agentmodule`), + KEY `idx_utimestamp` USING BTREE (`utimestamp`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +-- Criticity: 0 - Maintance (grey) +-- Criticity: 1 - Informational (blue) +-- Criticity: 2 - Normal (green) (status 0) +-- Criticity: 3 - Warning (yellow) (status 2) +-- Criticity: 4 - Critical (red) (status 1) +-- Criticity: 5 - Minor +-- Criticity: 6 - Major + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_event_history` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tmetaconsole_event_history` ( + `id_evento` bigint(20) unsigned NOT NULL auto_increment, + `id_source_event` bigint(20) unsigned NOT NULL, + `id_agente` int(10) NOT NULL default '0', + `agent_name` varchar(600) BINARY NOT NULL default '', + `id_usuario` varchar(100) NOT NULL default '0', + `id_grupo` mediumint(4) NOT NULL default '0', + `group_name` varchar(100) NOT NULL default '', + `estado` tinyint(3) unsigned NOT NULL default '0', + `timestamp` datetime NOT NULL default '1970-01-01 00:00:00', + `evento` text NOT NULL, + `utimestamp` bigint(20) NOT NULL default '0', + `event_type` enum('going_unknown','unknown','alert_fired','alert_recovered','alert_ceased','alert_manual_validation','recon_host_detected','system','error','new_agent','going_up_warning','going_up_critical','going_down_warning','going_down_normal','going_down_critical','going_up_normal', 'configuration_change') default 'unknown', + `id_agentmodule` int(10) NOT NULL default '0', + `module_name` varchar(600) NOT NULL, + `id_alert_am` int(10) NOT NULL default '0', + `alert_template_name` text, + `criticity` int(4) unsigned NOT NULL default '0', + `user_comment` text NOT NULL, + `tags` text NOT NULL, + `source` tinytext NOT NULL, + `id_extra` tinytext NOT NULL, + `critical_instructions` text NOT NULL default '', + `warning_instructions` text NOT NULL default '', + `unknown_instructions` text NOT NULL default '', + `owner_user` VARCHAR(100) NOT NULL DEFAULT '', + `ack_utimestamp` BIGINT(20) NOT NULL DEFAULT '0', + `server_id` int(10) NOT NULL, + `custom_data` TEXT NOT NULL DEFAULT '', + PRIMARY KEY (`id_evento`), + KEY `idx_agente` (`id_agente`), + KEY `idx_agentmodule` (`id_agentmodule`), + KEY `idx_utimestamp` USING BTREE (`utimestamp`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; +-- Criticity: 0 - Maintance (grey) +-- Criticity: 1 - Informational (blue) +-- Criticity: 2 - Normal (green) (status 0) +-- Criticity: 3 - Warning (yellow) (status 2) +-- Criticity: 4 - Critical (red) (status 1) +-- Criticity: 5 - Minor +-- Criticity: 6 - Major + +-- --------------------------------------------------------------------- +-- Table `textension_translate_string` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `textension_translate_string` ( + `id` int(10) unsigned NOT NULL auto_increment, + `lang` VARCHAR(10) NOT NULL , + `string` TEXT NOT NULL DEFAULT '' , + `translation` TEXT NOT NULL DEFAULT '', + PRIMARY KEY (`id`), + KEY `lang_index` (`lang`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tagent_module_log` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tagent_module_log` ( + `id_agent_module_log` int(10) NOT NULL AUTO_INCREMENT, + `id_agent` int(10) unsigned NOT NULL, + `source` text NOT NULL, + `timestamp` datetime DEFAULT '1970-01-01 00:00:00', + `utimestamp` bigint(20) DEFAULT '0', + PRIMARY KEY (`id_agent_module_log`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tevent_custom_field` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tevent_custom_field` ( + `id_group` mediumint(4) unsigned NOT NULL, + `value` text NOT NULL, + PRIMARY KEY (`id_group`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tmetaconsole_agent` +-- --------------------------------------------------------------------- +CREATE TABLE IF NOT EXISTS `tmetaconsole_agent` ( + `id_agente` int(10) unsigned NOT NULL auto_increment, + `id_tagente` int(10) unsigned NOT NULL, + `id_tmetaconsole_setup` int(10) NOT NULL, + `nombre` varchar(600) BINARY NOT NULL default '', + `direccion` varchar(100) default NULL, + `comentarios` varchar(255) default '', + `id_grupo` int(10) unsigned NOT NULL default '0', + `ultimo_contacto` datetime NOT NULL default '1970-01-01 00:00:00', + `modo` tinyint(1) NOT NULL default '0', + `intervalo` int(11) unsigned NOT NULL default '300', + `id_os` int(10) unsigned default '0', + `os_version` varchar(100) default '', + `agent_version` varchar(100) default '', + `ultimo_contacto_remoto` datetime default '1970-01-01 00:00:00', + `disabled` tinyint(2) NOT NULL default '0', + `remote` tinyint(1) NOT NULL default '0', + `id_parent` int(10) unsigned default '0', + `custom_id` varchar(255) default '', + `server_name` varchar(100) default '', + `cascade_protection` tinyint(2) NOT NULL default '0', + `cascade_protection_module` int(10) unsigned default '0', + `timezone_offset` TINYINT(2) NULL DEFAULT '0' COMMENT 'number of hours of diference with the server timezone' , + `icon_path` VARCHAR(127) NULL DEFAULT NULL COMMENT 'path in the server to the image of the icon representing the agent' , + `update_gis_data` TINYINT(1) NOT NULL DEFAULT '1' COMMENT 'set it to one to update the position data (altitude, longitude, latitude) when getting information from the agent or to 0 to keep the last value and do not update it' , + `url_address` mediumtext NULL, + `quiet` tinyint(1) NOT NULL default '0', + `normal_count` bigint(20) NOT NULL default '0', + `warning_count` bigint(20) NOT NULL default '0', + `critical_count` bigint(20) NOT NULL default '0', + `unknown_count` bigint(20) NOT NULL default '0', + `notinit_count` bigint(20) NOT NULL default '0', + `total_count` bigint(20) NOT NULL default '0', + `fired_count` bigint(20) NOT NULL default '0', + `update_module_count` tinyint(1) NOT NULL default '0', + `update_alert_count` tinyint(1) NOT NULL default '0', + `transactional_agent` tinyint(1) NOT NULL default '0', + `alias` varchar(600) BINARY NOT NULL default '', + PRIMARY KEY (`id_agente`), + KEY `nombre` (`nombre`(255)), + KEY `direccion` (`direccion`), + KEY `disabled` (`disabled`), + KEY `id_grupo` (`id_grupo`), + FOREIGN KEY (`id_tmetaconsole_setup`) REFERENCES tmetaconsole_setup(`id`) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `ttransaction` +-- --------------------------------------------------------------------- +create table IF NOT EXISTS `ttransaction` ( + `transaction_id` int unsigned NOT NULL auto_increment, + `agent_id` int(10) unsigned NOT NULL, + `group_id` int(10) unsigned NOT NULL default '0', + `description` text, + `name` varchar(250) NOT NULL, + `loop_interval` int unsigned NOT NULL default 40, + `ready` int unsigned NOT NULL default 0, + `running` int unsigned NOT NULL default 0, + PRIMARY KEY (`transaction_id`) +) engine=InnoDB DEFAULT CHARSET=utf8; + +-- --------------------------------------------------------------------- +-- Table `tphase` +-- --------------------------------------------------------------------- +create table IF NOT EXISTS `tphase`( + `phase_id` int unsigned not null auto_increment, + `transaction_id` int unsigned not null, + `agent_id` int(10) unsigned not null, + `name` varchar(250) not null, + `idx` int unsigned not null, + `dependencies` text, + `enables` text, + `launch` text, + `retries` int unsigned default null, + `timeout` int unsigned default null, + PRIMARY KEY (`phase_id`,`transaction_id`) +) engine=InnoDB DEFAULT CHARSET=utf8; diff --git a/pandora_console/pandoradb_data.sql b/pandora_console/pandoradb_data.sql index 6add5928f5..d1ce9031be 100644 --- a/pandora_console/pandoradb_data.sql +++ b/pandora_console/pandoradb_data.sql @@ -263,8 +263,113 @@ INSERT INTO `ttipo_modulo` VALUES (22,'async_data', 6, 'Asyncronous numeric data', 'mod_async_data.png'), (23,'async_string', 8, 'Asyncronous string data', 'mod_async_string.png'), (24,'log4x',0,'Log4x','mod_log4x.png'), +(30,'web_data',9,'Remote HTTP module to check latency','mod_web_data.png'), +(31,'web_proc',9,'Remote HTTP module to check server response','mod_web_proc.png'), +(32,'web_content_data',9,'Remote HTTP module to retrieve numeric data','mod_web_data.png'), +(33,'web_content_string',9,'Remote HTTP module to retrieve string data','mod_web_data.png'), (100,'keep_alive',-1,'KeepAlive','mod_keepalive.png'); +-- +-- Dumping data for table `tmodule_inventory` +-- + +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (1,1,'CPU','CPU','/usr/bin/perl','Model;Company;Speed','IyEvdXNyL2Jpbi9wZXJsDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBwYW5kb3JhX2NwdS5wbA0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMgQ29weXJpZ2h0IChjKSAyMDA4IFJhbW9uIE5vdm9hLCBybm92b2FAYXJ0aWNhLmVzDQojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2ljYXMgUy5MDQojDQojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3INCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KdXNlIHN0cmljdDsNCnVzZSB3YXJuaW5nczsNCg0KIyBDaGVjayBmb3Igc3NoDQpteSAkc3NoX2NsaWVudCA9ICJzc2giOw0KaWYgKHN5c3RlbSgiJHNzaF9jbGllbnQgLXYgPiAvZGV2L251bGwgMj4mMSIpID4+IDggIT0gMjU1KSB7DQoJcHJpbnQgIltlcnJvcl0gJHNzaF9jbGllbnQgbm90IGZvdW5kLlxuIjsNCglleGl0IDE7DQp9DQoNCmlmICgkI0FSR1YgPCAxKSB7DQoJcHJpbnQgIlVzYWdlOiAkMCA8dGFyZ2V0IGlwPiA8dXNlcm5hbWU+XG4iOw0KCWV4aXQgMTsNCn0NCg0KbXkgJHRhcmdldF9pcCA9ICRBUkdWWzBdOw0KbXkgJHVzZXJuYW1lID0gJEFSR1ZbMV07DQoNCiMgUmV0cmlldmUgQ1BVIGRhdGENCm15ICgkbW9kZWwsICR2ZW5kb3IsICRzcGVlZCk7DQpteSBAY3B1X2luZm8gPSBgJHNzaF9jbGllbnQgJHVzZXJuYW1lXEAkdGFyZ2V0X2lwICJjYXQgL3Byb2MvY3B1aW5mbyJgOw0KZm9yZWFjaCBteSAkbGluZSAoQGNwdV9pbmZvKSB7DQoJaWYgKCRsaW5lID1+IC9tb2RlbCBuYW1lXHMrOlxzKyguKikvKSB7DQoJCSRtb2RlbCA9ICQxOw0KCX0gZWxzaWYgKCRsaW5lID1+IC92ZW5kb3JfaWRccys6XHMrKC4qKS8pIHsNCgkJJHZlbmRvciA9ICQxOw0KCX0gZWxzaWYgKCRsaW5lID1+IC9jcHUgTUh6XHMrOlxzKyguKikvKSB7DQoJCSRzcGVlZCA9ICQxOw0KCX0NCn0NCiANCnJldHVybiAxIGlmICgkbW9kZWwgZXEgJycgfHwgJHZlbmRvciBlcSAnJyB8fCAkc3BlZWQgZXEgJycpOw0KcHJpbnQgIiRtb2RlbDskdmVuZG9yOyIgLiBzcHJpbnRmICgiJS4wZiIsICRzcGVlZCkgLiAiIE1IelxuIjsNCg0KZXhpdCAwOw0K',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (2,9,'CPU','CPU','/usr/bin/perl','Name;Speed;Description','IyEvdXNyL2Jpbi9wZXJsDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBwYW5kb3JhX2NwdS5wbA0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMgQ29weXJpZ2h0IChjKSAyMDA4IFJhbW9uIE5vdm9hLCBybm92b2FAYXJ0aWNhLmVzDQojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2ljYXMgUy5MDQojDQojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3INCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KdXNlIHN0cmljdDsNCnVzZSB3YXJuaW5nczsNCg0KdXNlIEZpbGU6OkJhc2VuYW1lOw0KdXNlIEhUTUw6OkVudGl0aWVzICgpOw0KDQojIENoZWNrIGZvciB3bWljDQpteSAkd21pX2NsaWVudCA9ICJ3bWljIjsNCmlmIChzeXN0ZW0oIiR3bWlfY2xpZW50ID4gL2Rldi9udWxsIDI+JjEiKSAhPSAyNTYpIHsNCglwcmludCAiW2Vycm9yXSAkd21pX2NsaWVudCBub3QgZm91bmQuXG4iOw0KCWV4aXQgMTsNCn0NCg0KaWYgKCQjQVJHViAhPSAyKSB7DQoJcHJpbnQgIlVzYWdlOiAkMCA8dGFyZ2V0IGlwPiA8dXNlcm5hbWU+IDxwYXNzd29yZD5cbiI7DQoJZXhpdCAxOw0KfQ0KDQpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07DQpteSAkdXNlcm5hbWUgPSAkQVJHVlsxXTsNCm15ICRwYXNzd29yZCA9ICRBUkdWWzJdOw0KDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBTVUIgcnVuX3F1ZXJ5ICgkd3FsX3F1ZXJ5KQ0KIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMgdGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0Kc3ViIHJ1bl9xdWVyeSB7DQoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOw0KCW15IEByZXN1bHQgPSB7fTsNCg0KCSR3cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsNCg0KCSMgUnVuIHRoZSBEQ09NL1dNSSBjbGllbnQNCglteSAkb3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdldF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7DQoNCglteSBAbGluZXMgPSBzcGxpdCgvXG4vLCAkb3V0cHV0KTsNCgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMNCglpZiAoJCNsaW5lcyA8IDIpIHsNCgkJZXhpdCAxOw0KCX0NCg0KCSMgRHJvcCB0aGUgaGVhZGVyDQoJc2hpZnQgKEBsaW5lcyk7DQoJDQoJIyBHZXQgY29sdW1uIG5hbWVzDQoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNoaWZ0IChAbGluZXMpKTsNCg0KCSMgR2V0IHJvdyBkYXRhDQoJbXkgJGlkeCA9IDA7DQoJZm9yIChteSAkaSA9IDA7ICRpIDw9ICQjbGluZXM7ICRpKyspIHsNCg0KCQkjIENoZWNrIGZvciBlcnJvcnMNCgkJaWYgKCRsaW5lc1skaV0gPX4gbS9eRVJST1IvKSB7DQoJCQlleGl0IDE7DQoJCX0NCg0KCQkjIEJsYWNrIGxpc3QNCgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7DQoJCQluZXh0Ow0KCQl9DQoNCgkJbXkgQGNvbHVtbiA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOw0KCQlmb3IgKG15ICRqID0gMDsgJGogPD0gJCNjb2x1bW5fbmFtZXM7ICRqKyspIHsNCgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7DQoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOw0KCQkJfQ0KCQkJZWxzZSB7DQoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICRjb2x1bW5bJGpdOw0KCQkJfQ0KCQl9DQoJCQ0KCQkkaWR4Kys7DQoJfQ0KCQ0KCXJldHVybiBAcmVzdWx0Ow0KfQ0KDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEsIA0KIyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkNCiMgUHJpbnRzIGEgbW9kdWxlZGF0YSBYTUwgdGFnLiAkbW9kdWxlX2l0ZW0sICRtb2R1bGVfZGF0YSBhbmQNCiMgJG1vZHVsZV9kZXNjcmlwdGlvbiBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24NCiMgWE1MIHRhZ3MgcmVzcGVjdGl2ZWx5Lg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCnN1YiBwcmludF9tb2R1bGVkYXRhIHsNCglteSAkbW9kdWxlX2l0ZW0gPSAkX1swXTsNCglteSAkbW9kdWxlX2RhdGEgPSAkX1sxXTsNCglteSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07DQoJbXkgQGRhdGEgPSBAeyRfWzNdfTsNCglteSAkcmVzdWx0Ow0KDQoJZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsNCgkJDQoJCSRyZXN1bHQgPSAnJzsNCg0KCQkjIEl0ZW0NCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkgew0KCQkJJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfaXRlbX0gLiAiOyI7DQoJCX0NCg0KCQkjIERhdGENCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2RhdGF9KSkgew0KCQkJJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0gLiAiIE1oejsiOw0KCQl9DQoNCgkJIyBEZXNjcmlwdGlvbg0KCQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfZGVzY3JpcHRpb259KSkgew0KCQkJJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGVzY3JpcHRpb259IC4gIjsiOw0KCQl9DQoNCgkJcHJpbnQgJHJlc3VsdCAuICJcbiI7CQ0KCX0NCn0NCg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMgTWFpbg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCg0KbXkgQHJlc3VsdCA9IHJ1bl9xdWVyeSgiU0VMRUNUIE5hbWUsIE1heENsb2NrU3BlZWQsIERlc2NyaXB0aW9uIEZST00gV2luMzJfUHJvY2Vzc29yIik7DQpwcmludF9tb2R1bGVkYXRhICgiTmFtZSIsICJNYXhDbG9ja1NwZWVkIiwgIkRlc2NyaXB0aW9uIiwgXEByZXN1bHQpOw0KZXhpdCAwOw0K',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (3,1,'RAM','Memory modules','','Model;Size','',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (4,9,'RAM','Memory modules','/usr/bin/perl','Slot;Size;Speed','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9yYW0ucGwKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBDb3B5cmlnaHQgKGMpIDIwMDggUmFtb24gTm92b2EsIHJub3ZvYUBhcnRpY2EuZXMKIyAgICAgICAgICAgKGMpIDIwMDggQXJ0aWNhIFNvbHVjaW9uZXMgVGVjbm9sb2dpY2FzIFMuTAojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgojIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCnVzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCnVzZSBGaWxlOjpCYXNlbmFtZTsKdXNlIEhUTUw6OkVudGl0aWVzICgpOwoKIyBDaGVjayBmb3Igd21pYwpteSAkd21pX2NsaWVudCA9ICJ3bWljIjsKaWYgKHN5c3RlbSgiJHdtaV9jbGllbnQgPiAvZGV2L251bGwgMj4mMSIpICE9IDI1NikgewoJcHJpbnQgIltlcnJvcl0gJHdtaV9jbGllbnQgbm90IGZvdW5kLlxuIjsKCWV4aXQgMTsKfQoKaWYgKCQjQVJHViAhPSAyKSB7CglwcmludCAiVXNhZ2U6ICQwIDx0YXJnZXQgaXA+IDx1c2VybmFtZT4gPHBhc3N3b3JkPlxuIjsKCWV4aXQgMTsKfQoKbXkgJHRhcmdldF9pcCA9ICRBUkdWWzBdOwpteSAkdXNlcm5hbWUgPSAkQVJHVlsxXTsKbXkgJHBhc3N3b3JkID0gJEFSR1ZbMl07CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFNVQiBydW5fcXVlcnkgKCR3cWxfcXVlcnkpCiMgUnVucyB0aGUgZ2l2ZW4gV1FMIHF1ZXJ5IGFuZCByZXR1cm5zIHRoZSByZXN1bHQgYXMgYW4gYXJyYXkgb2YgaGFzaGVzLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcnVuX3F1ZXJ5IHsKCW15ICR3cWxfcXVlcnkgPSAkX1swXTsKCW15IEByZXN1bHQgPSB7fTsKCgkkd3FsX3F1ZXJ5ID1+ICdzLyIvXCcvZyc7CgoJIyBSdW4gdGhlIERDT00vV01JIGNsaWVudAoJbXkgJG91dHB1dCA9IGAkd21pX2NsaWVudCAtVSAnJHVzZXJuYW1lJyUnJHBhc3N3b3JkJyAvLyR0YXJnZXRfaXAgXCIkd3FsX3F1ZXJ5XCIgMj4vZGV2L251bGxgOwoKCW15IEBsaW5lcyA9IHNwbGl0KC9cbi8sICRvdXRwdXQpOwoJIyBIZWFkZXIsIGRlc2NyaXB0aW9uLCByZXN1bHRzCglpZiAoJCNsaW5lcyA8IDIpIHsKCQlleGl0IDE7Cgl9CgoJIyBEcm9wIHRoZSBoZWFkZXIKCXNoaWZ0IChAbGluZXMpOwoJCgkjIEdldCBjb2x1bW4gbmFtZXMKCW15IEBjb2x1bW5fbmFtZXMgPSBzcGxpdCgvXHwvLCBzaGlmdCAoQGxpbmVzKSk7CgoJIyBHZXQgcm93IGRhdGEKCW15ICRpZHggPSAwOwoJZm9yIChteSAkaSA9IDA7ICRpIDw9ICQjbGluZXM7ICRpKyspIHsKCgkJIyBDaGVjayBmb3IgZXJyb3JzCgkJaWYgKCRsaW5lc1skaV0gPX4gbS9eRVJST1IvKSB7CgkJCWV4aXQgMTsKCQl9CgoJCSMgQmxhY2sgbGlzdAoJCWlmICgkbGluZXNbJGldID1+IG0vRmlsZSAxLykgewoJCQluZXh0OwoJCX0KCgkJbXkgQGNvbHVtbiA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOwoJCWZvciAobXkgJGogPSAwOyAkaiA8PSAkI2NvbHVtbl9uYW1lczsgJGorKykgewoJCQlpZiAoISBkZWZpbmVkKCRjb2x1bW5bJGpdKSkgewoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOwoJCQl9CgkJCWVsc2UgewoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICRjb2x1bW5bJGpdOwoJCQl9CgkJfQoJCQoJCSRpZHgrKzsKCX0KCQoJcmV0dXJuIEByZXN1bHQ7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHByaW50X21vZHVsZWRhdGEgKCRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhLCAKIyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkKIyBQcmludHMgYSBtb2R1bGVkYXRhIFhNTCB0YWcuICRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhIGFuZAojICRtb2R1bGVfZGVzY3JpcHRpb24gYXJlIHVzZWQgdG8gaW5kZXggdGhlIGl0ZW0sIGRhdGEgYW5kIGRlc2NyaXB0aW9uCiMgWE1MIHRhZ3MgcmVzcGVjdGl2ZWx5LgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcHJpbnRfbW9kdWxlZGF0YSB7CglteSAkbW9kdWxlX2l0ZW0gPSAkX1swXTsKCW15ICRtb2R1bGVfZGF0YSA9ICRfWzFdOwoJbXkgJG1vZHVsZV9kZXNjcmlwdGlvbiA9ICRfWzJdOwoJbXkgQGRhdGEgPSBAeyRfWzNdfTsKCW15ICRyZXN1bHQ7CgoJZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsKCQkKCQkkcmVzdWx0ID0gJyc7CgoJCSMgSXRlbQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSkpIHsKCQkJJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfaXRlbX0gLiAnOyc7CgkJfQoKCQkjIERhdGEKCQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0pKSB7CgkJCSRyZXN1bHQgLj0gJyAnIC4gc3ByaW50ZigiJS4xZiIsICRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSAvIDEwNDg1NzYpIC4gIiBNQnl0ZXM7IjsKCQl9CgoJCSMgRGVzY3JpcHRpb24KCQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfZGVzY3JpcHRpb259KSkgewoJCQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9kZXNjcmlwdGlvbn07CgkJfQoKCQlwcmludCAkcmVzdWx0IC4gIlxuIjsJCgl9Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTWFpbgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKbXkgQHJlc3VsdCA9IHJ1bl9xdWVyeSgiU0VMRUNUIERldmljZUxvY2F0b3IsIENhcGFjaXR5LCBTcGVlZCBGUk9NIFdpbjMyX1BoeXNpY2FsTWVtb3J5Iik7CnByaW50X21vZHVsZWRhdGEgKCJEZXZpY2VMb2NhdG9yIiwgIkNhcGFjaXR5IiwgIlNwZWVkIiwgXEByZXN1bHQpOwpleGl0IDA7Cg==',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (5,1,'Video','Video cards','','Controller;Model;Company','',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (6,9,'Video','Video cards','/usr/bin/perl','Name;vRAM;ID','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV92aWRlby5wbAojIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9hQGFy dGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2lj YXMgUy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUg cmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMg Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u LCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsKdXNl IHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7Cgoj IENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21p X2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAkd21p X2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKCXBy aW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJZXhp dCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdWWzFd OwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1bl9x dWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMg dGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBy dW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoKCSR3 cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CglteSAk b3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdl dF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQoL1xu LywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xpbmVz IDwgMikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5lcyk7 CgkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNo aWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15ICRp ID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlpZiAo JGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBsaXN0 CgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBAY29s dW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9ICQj Y29sdW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7CgkJ CQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxzZSB7 CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gJGNvbHVtblskal07CgkJ CX0KCQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEs IAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEgWE1M IHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlwdGlv biBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBYTUwg dGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVkYXRh IHsKCW15ICRtb2R1bGVfaXRlbSA9ICRfWzBdOwoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07Cglt eSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07CglteSBAZGF0YSA9IEB7JF9bM119OwoJbXkg JHJlc3VsdDsKCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCQoJCSRyZXN1bHQgPSAn JzsKCgkJIyBJdGVtCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkgewoJ CQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsKCQl9CgoJCSMgRGF0 YQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSkpIHsKCQkJJHJlc3VsdCAu PSAnICcgLiBzcHJpbnRmKCIlLjFmIiwgJGVsZW1lbnQtPnskbW9kdWxlX2RhdGF9IC8gMTA0ODU3 NikgLiAiIE1CeXRlczsiOwoJCX0KCgkJIyBEZXNjcmlwdGlvbgoJCWlmIChkZWZpbmVkKCRlbGVt ZW50LT57JG1vZHVsZV9kZXNjcmlwdGlvbn0pKSB7CgkJCSRyZXN1bHQgLj0gJyAnIC4gJGVsZW1l bnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufTsKCQl9CgoJCXByaW50ICRyZXN1bHQgLiAiXG4iOwkK CX0KfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNYWluCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpteSBAcmVz dWx0ID0gcnVuX3F1ZXJ5KCJTRUxFQ1QgQ2FwdGlvbiwgQWRhcHRlclJBTSwgVmlkZW9Qcm9jZXNz b3IgRlJPTSBXaW4zMl9WaWRlb0NvbnRyb2xsZXIiKTsKcHJpbnRfbW9kdWxlZGF0YSAoIkNhcHRp b24iLCAiQWRhcHRlclJBTSIsICJWaWRlb1Byb2Nlc3NvciIsIFxAcmVzdWx0KTsKZXhpdCAwOwo=',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (7,1,'NIC','Network Interface Cards','','Device;Model;Company;MACAddress','',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (8,9,'NIC','Network Interface Cards','/usr/bin/perl','Caption;MACAddress;IPAddress','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9uaWMucGwKIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMKIyBDb3B5cmlnaHQgKGMpIDIwMDggUmFtb24gTm92b2EsIHJub3ZvYUBhcnRp Y2EuZXMKIyAgICAgICAgICAgKGMpIDIwMDggQXJ0aWNhIFNvbHVjaW9uZXMgVGVjbm9sb2dpY2Fz IFMuTAojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgojIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IHZlcnNpb24gMi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZv dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3Rvbiwg TUEgIDAyMTEwLTEzMDEsIFVTQS4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCnVzZSBzdHJpY3Q7CnVzZSB3 YXJuaW5nczsKCnVzZSBGaWxlOjpCYXNlbmFtZTsKdXNlIEhUTUw6OkVudGl0aWVzICgpOwoKIyBD aGVjayBmb3Igd21pYwpteSAkd21pX2NsaWVudCA9ICJ3bWljIjsKaWYgKHN5c3RlbSgiJHdtaV9j bGllbnQgPiAvZGV2L251bGwgMj4mMSIpICE9IDI1NikgewoJcHJpbnQgIltlcnJvcl0gJHdtaV9j bGllbnQgbm90IGZvdW5kLlxuIjsKCWV4aXQgMTsKfQoKaWYgKCQjQVJHViAhPSAyKSB7Cglwcmlu dCAiVXNhZ2U6ICQwIDx0YXJnZXQgaXA+IDx1c2VybmFtZT4gPHBhc3N3b3JkPlxuIjsKCWV4aXQg MTsKfQoKbXkgJHRhcmdldF9pcCA9ICRBUkdWWzBdOwpteSAkdXNlcm5hbWUgPSAkQVJHVlsxXTsK bXkgJHBhc3N3b3JkID0gJEFSR1ZbMl07CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFNVQiBydW5fcXVl cnkgKCR3cWxfcXVlcnkpCiMgUnVucyB0aGUgZ2l2ZW4gV1FMIHF1ZXJ5IGFuZCByZXR1cm5zIHRo ZSByZXN1bHQgYXMgYW4gYXJyYXkgb2YgaGFzaGVzLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcnVu X3F1ZXJ5IHsKCW15ICR3cWxfcXVlcnkgPSAkX1swXTsKCW15IEByZXN1bHQgPSB7fTsKCgkkd3Fs X3F1ZXJ5ID1+ICdzLyIvXCcvZyc7CgoJIyBSdW4gdGhlIERDT00vV01JIGNsaWVudAoJbXkgJG91 dHB1dCA9IGAkd21pX2NsaWVudCAtVSAnJHVzZXJuYW1lJyUnJHBhc3N3b3JkJyAvLyR0YXJnZXRf aXAgXCIkd3FsX3F1ZXJ5XCIgMj4vZGV2L251bGxgOwoKCW15IEBsaW5lcyA9IHNwbGl0KC9cbi8s ICRvdXRwdXQpOwoJIyBIZWFkZXIsIGRlc2NyaXB0aW9uLCByZXN1bHRzCglpZiAoJCNsaW5lcyA8 IDIpIHsKCQlleGl0IDE7Cgl9CgoJIyBEcm9wIHRoZSBoZWFkZXIKCXNoaWZ0IChAbGluZXMpOwoJ CgkjIEdldCBjb2x1bW4gbmFtZXMKCW15IEBjb2x1bW5fbmFtZXMgPSBzcGxpdCgvXHwvLCBzaGlm dCAoQGxpbmVzKSk7CgoJIyBHZXQgcm93IGRhdGEKCW15ICRpZHggPSAwOwoJZm9yIChteSAkaSA9 IDA7ICRpIDw9ICQjbGluZXM7ICRpKyspIHsKCgkJIyBDaGVjayBmb3IgZXJyb3JzCgkJaWYgKCRs aW5lc1skaV0gPX4gbS9eRVJST1IvKSB7CgkJCWV4aXQgMTsKCQl9CgoJCSMgQmxhY2sgbGlzdAoJ CWlmICgkbGluZXNbJGldID1+IG0vRmlsZSAxLykgewoJCQluZXh0OwoJCX0KCgkJbXkgQGNvbHVt biA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOwoJCWZvciAobXkgJGogPSAwOyAkaiA8PSAkI2Nv bHVtbl9uYW1lczsgJGorKykgewoJCQlpZiAoISBkZWZpbmVkKCRjb2x1bW5bJGpdKSkgewoJCQkJ JHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOwoJCQl9CgkJCWVsc2UgewoJ CQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICRjb2x1bW5bJGpdOwoJCQl9 CgkJfQoJCQoJCSRpZHgrKzsKCX0KCQoJcmV0dXJuIEByZXN1bHQ7Cn0KCiMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCiMgU1VCIHByaW50X21vZHVsZWRhdGEgKCRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhLCAK IyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkKIyBQcmludHMgYSBtb2R1bGVkYXRhIFhNTCB0 YWcuICRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhIGFuZAojICRtb2R1bGVfZGVzY3JpcHRpb24g YXJlIHVzZWQgdG8gaW5kZXggdGhlIGl0ZW0sIGRhdGEgYW5kIGRlc2NyaXB0aW9uCiMgWE1MIHRh Z3MgcmVzcGVjdGl2ZWx5LgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcHJpbnRfbW9kdWxlZGF0YSB7 CglteSAkbW9kdWxlX2l0ZW0gPSAkX1swXTsKCW15ICRtb2R1bGVfZGF0YSA9ICRfWzFdOwoJbXkg JG1vZHVsZV9kZXNjcmlwdGlvbiA9ICRfWzJdOwoJbXkgQGRhdGEgPSBAeyRfWzNdfTsKCW15ICRy ZXN1bHQ7CgoJZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsKCQkKCQkkcmVzdWx0ID0gJyc7 CgoJCSMgSXRlbQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSkpIHsKCQkJ JHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfaXRlbX0gLiAnOyc7CgkJfQoKCQkjIERhdGEK CQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0pKSB7CgkJCSRyZXN1bHQgLj0g JGVsZW1lbnQtPnskbW9kdWxlX2RhdGF9IC4gJzsnOwoJCX0KCgkJIyBEZXNjcmlwdGlvbgoJCWlm IChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kZXNjcmlwdGlvbn0pKSB7CgkJCSRyZXN1bHQg Lj0gJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufTsKCQl9CgoJCXByaW50ICRyZXN1bHQg LiAiXG4iOwkKCX0KfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNYWluCiMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CgpteSBAcmVzdWx0ID0gcnVuX3F1ZXJ5KCJTRUxFQ1QgQ2FwdGlvbiwgTUFDQWRkcmVzcywgSVBB ZGRyZXNzIEZST00gV2luMzJfTmV0d29ya0FkYXB0ZXJDb25maWd1cmF0aW9uIik7CnByaW50X21v ZHVsZWRhdGEgKCJDYXB0aW9uIiwgIk1BQ0FkZHJlc3MiLCAiSVBBZGRyZXNzIiwgXEByZXN1bHQp OwpleGl0IDA7Cg==',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (9,1,'HD','Hard drives','','Type;Model;Size','',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (10,9,'HD','Hard drives','/usr/bin/perl','Model;Size;ID','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9oZC5wbAojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9hQGFydGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2ljYXMgUy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7CgojIENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21pX2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CiAgICAgICAgcHJpbnQgIltlcnJvcl0gJHdtaV9jbGllbnQgbm90IGZvdW5kLlxuIjsKICAgICAgICBleGl0IDE7Cn0KCmlmICgkI0FSR1YgIT0gMikgewogICAgICAgIHByaW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwogICAgICAgIGV4aXQgMTsKfQoKbXkgJHRhcmdldF9pcCA9ICRBUkdWWzBdOwpteSAkdXNlcm5hbWUgPSAkQVJHVlsxXTsKbXkgJHBhc3N3b3JkID0gJEFSR1ZbMl07CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFNVQiBydW5fcXVlcnkgKCR3cWxfcXVlcnkpCiMgUnVucyB0aGUgZ2l2ZW4gV1FMIHF1ZXJ5IGFuZCByZXR1cm5zIHRoZSByZXN1bHQgYXMgYW4gYXJyYXkgb2YgaGFzaGVzLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcnVuX3F1ZXJ5IHsKICAgICAgICBteSAkd3FsX3F1ZXJ5ID0gJF9bMF07CiAgICAgICAgbXkgQHJlc3VsdCA9IHt9OwogICAgICAgICR3cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCiAgICAgICAgIyBSdW4gdGhlIERDT00vV01JIGNsaWVudAogICAgICAgIG15ICRvdXRwdXQgPSBgJHdtaV9jbGllbnQgLVUgJyR1c2VybmFtZSclJyRwYXNzd29yZCcgLy8kdGFyZ2V0X2lwIFwiJHdxbF9xdWVyeVwiIDI+L2Rldi9udWxsYDsKCiAgICAgICAgbXkgQGxpbmVzID0gc3BsaXQoL1xuLywgJG91dHB1dCk7CiAgICAgICAgIyBIZWFkZXIsIGRlc2NyaXB0aW9uLCByZXN1bHRzCiAgICAgICAgaWYgKCQjbGluZXMgPCAyKSB7CiAgICAgICAgICAgICAgICBleGl0IDE7CiAgICAgICAgfQoKICAgICAgICAjIERyb3AgdGhlIGhlYWRlcgogICAgICAgIHNoaWZ0IChAbGluZXMpOwoKICAgICAgICAjIEdldCBjb2x1bW4gbmFtZXMKICAgICAgICBteSBAY29sdW1uX25hbWVzID0gc3BsaXQoL1x8Lywgc2hpZnQgKEBsaW5lcykpOwoKICAgICAgICAjIEdldCByb3cgZGF0YQogICAgICAgIG15ICRpZHggPSAwOwogICAgICAgIGZvciAobXkgJGkgPSAwOyAkaSA8PSAkI2xpbmVzOyAkaSsrKSB7CgogICAgICAgICAgICAgICAgIyBDaGVjayBmb3IgZXJyb3JzCiAgICAgICAgICAgICAgICBpZiAoJGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKICAgICAgICAgICAgICAgICAgICAgICAgZXhpdCAxOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICMgQmxhY2sgbGlzdAogICAgICAgICAgICAgICAgaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIG5leHQ7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgbXkgQGNvbHVtbiA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOwogICAgICAgICAgICAgICAgZm9yIChteSAkaiA9IDA7ICRqIDw9ICQjY29sdW1uX25hbWVzOyAkaisrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHRbJGlkeF0tPnskY29sdW1uX25hbWVzWyRqXX0gPSAkY29sdW1uWyRqXTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICRpZHgrKzsKICAgICAgICB9CgogICAgICAgIHJldHVybiBAcmVzdWx0Owp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFNVQiBwcmludF9tb2R1bGVkYXRhICgkbW9kdWxlX2l0ZW0sICRtb2R1bGVfZGF0YSwKIyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkKIyBQcmludHMgYSBtb2R1bGVkYXRhIFhNTCB0YWcuICRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhIGFuZAojICRtb2R1bGVfZGVzY3JpcHRpb24gYXJlIHVzZWQgdG8gaW5kZXggdGhlIGl0ZW0sIGRhdGEgYW5kIGRlc2NyaXB0aW9uCiMgWE1MIHRhZ3MgcmVzcGVjdGl2ZWx5LgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcHJpbnRfbW9kdWxlZGF0YSB7CiAgICAgICAgbXkgJG1vZHVsZV9pdGVtID0gJF9bMF07CiAgICAgICAgbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07CiAgICAgICAgbXkgJG1vZHVsZV9kZXNjcmlwdGlvbiA9ICRfWzJdOwogICAgICAgIG15ICRtb2R1bGVfZXh0cmFfZGVzY3JpcHRpb24gPSAkX1szXTsKICAgICAgICBteSBAZGF0YSA9IEB7JF9bNF19OwogICAgICAgIG15ICRyZXN1bHQ7CgogICAgICAgIGZvcmVhY2ggbXkgJGVsZW1lbnQgKEBkYXRhKSB7CiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJyc7CgogICAgICAgICAgICAgICAgIyBJdGVtCiAgICAgICAgICAgICAgICBpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfaXRlbX0pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgLj0gJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19IC4gJzsnOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICMgRGF0YQogICAgICAgICAgICAgICAgaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2RhdGF9KSkgewogICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0IC49ICcgJyAuIHNwcmludGYoIiUuMWYiLCAkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0gLyAxMDczNzQxODI0KSAuICIgR0J5dGVzOyI7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgIyBEZXNjcmlwdGlvbgogICAgICAgICAgICAgICAgaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAgJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2lmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9leHRyYV9kZXNjcmlwdGlvbn0pKXsKICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAgJGVsZW1lbnQtPnskbW9kdWxlX2V4dHJhX2Rlc2NyaXB0aW9ufTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBwcmludCAkcmVzdWx0IC4gIlxuIjsKICAgICAgICB9Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTWFpbgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKbXkgQHJlc3VsdCA9IHJ1bl9xdWVyeSgiU0VMRUNUICogRlJPTSBXaW4zMl9EaXNrRHJpdmUiKTsKcHJpbnRfbW9kdWxlZGF0YSAoIkNhcHRpb24iLCAiU2l6ZSIsICJTZXJpYWxOdW1iZXIiLCAiU2lnbmF0dXJlIiwgXEByZXN1bHQpOwpleGl0IDA7Cg==',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (11,1,'CDROM','CD-ROM drives','','Type;Model;Features','',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (12,9,'CDROM','CD-ROM drives','/usr/bin/perl','Name;Description;Drive;ID','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9jZHJvbS5wbAojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9hQGFydGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2ljYXMgUy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKI3VzZSBzdHJpY3Q7CnVzZSB3YXJuaW5nczsKCnVzZSBGaWxlOjpCYXNlbmFtZTsKdXNlIEhUTUw6OkVudGl0aWVzICgpOwoKIyBDaGVjayBmb3Igd21pYwpteSAkd21pX2NsaWVudCA9ICJ3bWljIjsKaWYgKHN5c3RlbSgiJHdtaV9jbGllbnQgPiAvZGV2L251bGwgMj4mMSIpICE9IDI1NikgewogICAgICAgIHByaW50ICJbZXJyb3JdICR3bWlfY2xpZW50IG5vdCBmb3VuZC5cbiI7CiAgICAgICAgZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKICAgICAgICBwcmludCAiVXNhZ2U6ICQwIDx0YXJnZXQgaXA+IDx1c2VybmFtZT4gPHBhc3N3b3JkPlxuIjsKICAgICAgICBleGl0IDE7Cn0KCm15ICR0YXJnZXRfaXAgPSAkQVJHVlswXTsKbXkgJHVzZXJuYW1lID0gJEFSR1ZbMV07Cm15ICRwYXNzd29yZCA9ICRBUkdWWzJdOwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBTVUIgcnVuX3F1ZXJ5ICgkd3FsX3F1ZXJ5KQojIFJ1bnMgdGhlIGdpdmVuIFdRTCBxdWVyeSBhbmQgcmV0dXJucyB0aGUgcmVzdWx0IGFzIGFuIGFycmF5IG9mIGhhc2hlcy4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKc3ViIHJ1bl9xdWVyeSB7CiAgICAgICAgbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwogICAgICAgIG15IEByZXN1bHQgPSB7fTsKCiAgICAgICAgJHdxbF9xdWVyeSA9fiAncy8iL1wnL2cnOwoKICAgICAgICAjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CiAgICAgICAgbXkgJG91dHB1dCA9IGAkd21pX2NsaWVudCAtVSAnJHVzZXJuYW1lJyUnJHBhc3N3b3JkJyAvLyR0YXJnZXRfaXAgXCIkd3FsX3F1ZXJ5XCIgMj4vZGV2L251bGxgOwoKICAgICAgICBteSBAbGluZXMgPSBzcGxpdCgvXG4vLCAkb3V0cHV0KTsKICAgICAgICAjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKICAgICAgICBpZiAoJCNsaW5lcyA8IDIpIHsKICAgICAgICAgICAgICAgIGV4aXQgMTsKICAgICAgICB9CgogICAgICAgICMgRHJvcCB0aGUgaGVhZGVyCiAgICAgICAgc2hpZnQgKEBsaW5lcyk7CgogICAgICAgICMgR2V0IGNvbHVtbiBuYW1lcwogICAgICAgIG15IEBjb2x1bW5fbmFtZXMgPSBzcGxpdCgvXHwvLCBzaGlmdCAoQGxpbmVzKSk7CgogICAgICAgICMgR2V0IHJvdyBkYXRhCiAgICAgICAgbXkgJGlkeCA9IDA7CiAgICAgICAgZm9yIChteSAkaSA9IDA7ICRpIDw9ICQjbGluZXM7ICRpKyspIHsKCiAgICAgICAgICAgICAgICAjIENoZWNrIGZvciBlcnJvcnMKICAgICAgICAgICAgICAgIGlmICgkbGluZXNbJGldID1+IG0vXkVSUk9SLykgewogICAgICAgICAgICAgICAgICAgICAgICBleGl0IDE7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgIyBCbGFjayBsaXN0CiAgICAgICAgICAgICAgICBpZiAoJGxpbmVzWyRpXSA9fiBtL0ZpbGUgMS8pIHsKICAgICAgICAgICAgICAgICAgICAgICAgbmV4dDsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBteSBAY29sdW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CiAgICAgICAgICAgICAgICBmb3IgKG15ICRqID0gMDsgJGogPD0gJCNjb2x1bW5fbmFtZXM7ICRqKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEgZGVmaW5lZCgkY29sdW1uWyRqXSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICRjb2x1bW5bJGpdOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgJGlkeCsrOwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIEByZXN1bHQ7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHByaW50X21vZHVsZWRhdGEgKCRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhLAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEgWE1MIHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlwdGlvbiBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBYTUwgdGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVkYXRhIHsKICAgICAgICBteSBAbW9kdWxlX2hlYWRlcnMgPSBAeyRfWzBdfTsKICAgICAgICBteSBAZGF0YSA9IEB7JF9bMV19OwogICAgICAgIG15ICRyZXN1bHQ7CgogICAgICAgICRyZXN1bHQgPSAnJzsKfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEsCiMgJG1vZHVsZV9kZXNjcmlwdGlvbiwgQGRhdGEpCiMgUHJpbnRzIGEgbW9kdWxlZGF0YSBYTUwgdGFnLiAkbW9kdWxlX2l0ZW0sICRtb2R1bGVfZGF0YSBhbmQKIyAkbW9kdWxlX2Rlc2NyaXB0aW9uIGFyZSB1c2VkIHRvIGluZGV4IHRoZSBpdGVtLCBkYXRhIGFuZCBkZXNjcmlwdGlvbgojIFhNTCB0YWdzIHJlc3BlY3RpdmVseS4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKc3ViIHByaW50X21vZHVsZWRhdGEgewogICAgICAgIG15IEBtb2R1bGVfaGVhZGVycyA9IEB7JF9bMF19OwogICAgICAgIG15IEBkYXRhID0gQHskX1sxXX07CiAgICAgICAgbXkgJHJlc3VsdDsKCiAgICAgICAgZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsKICAgICAgICAgICAgICAgICRyZXN1bHQgPSAnJzsKICAgICAgICAgICAgICAgIGZvcmVhY2ggbXkgJG1oZWFkZXIgKEBtb2R1bGVfaGVhZGVycykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGVmaW5lZCAoJGVsZW1lbnQtPnskbWhlYWRlcn0pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtaGVhZGVyfSAuICc7JzsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVzdWx0IC49ICc7JzsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY2hvcCgkcmVzdWx0KTsKICAgICAgICAgICAgICAgIHByaW50ICRyZXN1bHQgLiAiXG4iOwogICAgICAgIH0KfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNYWluCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpteSBAcmVzdWx0ICA9IHJ1bl9xdWVyeSgiU0VMRUNUICogRlJPTSBXaW4zMl9DRFJPTURyaXZlIik7Cm15IEBoZWFkZXJzID0gKCJOYW1lIiwgIkRlc2NyaXB0aW9uIiwgIkRyaXZlIiwgIkRldmljZUlkIik7CnByaW50X21vZHVsZWRhdGEgKFxAaGVhZGVycywgXEByZXN1bHQpOwpleGl0IDA7Cgo=',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (13,1,'Software','Installed software packages','','Name;Version;Description','',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (14,9,'Software','Installed software packages','/usr/bin/perl','Name;Version','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9zb2Z0d2FyZS5wbAojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9hQGFydGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2ljYXMgUy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7CgojIENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21pX2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAkd21pX2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKCXByaW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJZXhpdCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdWWzFdOwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1bl9xdWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMgdGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBydW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoKCSR3cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CglteSAkb3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdldF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQoL1xuLywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xpbmVzIDwgMikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5lcyk7CgkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNoaWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15ICRpID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlpZiAoJGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBsaXN0CgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBAY29sdW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9ICQjY29sdW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxzZSB7CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gJGNvbHVtblskal07CgkJCX0KCQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHByaW50X21vZHVsZWRhdGEgKCRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhLAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEgWE1MIHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlwdGlvbiBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBYTUwgdGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVkYXRhIHsKICAgICAgICBteSAkbW9kdWxlX2l0ZW0gPSAkX1swXTsKICAgICAgICBteSAkbW9kdWxlX2RhdGEgPSAkX1sxXTsKICAgICAgICBteSBAZGF0YSA9IEB7JF9bMl19OwogICAgICAgIG15ICRyZXN1bHQ7CgogICAgICAgIGZvcmVhY2ggbXkgJGVsZW1lbnQgKEBkYXRhKSB7CiAgICAgICAgICAgICAgICAkcmVzdWx0ID0gJyc7CiAgICAgICAgICAgICAgICAjIEl0ZW0KICAgICAgICAgICAgICAgIGlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfaXRlbX0gLiAnOyc7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgIyBEYXRhCiAgICAgICAgICAgICAgICBpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0pKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRyZXN1bHQgLj0gJGVsZW1lbnQtPnskbW9kdWxlX2RhdGF9OwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIHByaW50ICRyZXN1bHQgLiAiXG4iOwogICAgICAgIH0KfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNYWluCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpteSBAcmVzdWx0ID0gcnVuX3F1ZXJ5KCJTRUxFQ1QgTmFtZSwgVmVyc2lvbiBGUk9NIFdpbjMyX1Byb2R1Y3QiKTsKcHJpbnRfbW9kdWxlZGF0YSAoIk5hbWUiLCAiVmVyc2lvbiIsIFxAcmVzdWx0KTsKZXhpdCAwOwoK',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (15,9,'Patches','Installed patches','/usr/bin/perl','HotFixID;Description;FixComments;ServicePackInEffect','IyEvdXNyL2Jpbi9wZXJsDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBwYW5kb3JhX3BhdGNoLnBsDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBDb3B5cmlnaHQgKGMpIDIwMDggUmFtb24gTm92b2EsIHJub3ZvYUBhcnRpY2EuZXMNCiMgICAgICAgICAgIChjKSAyMDA4IEFydGljYSBTb2x1Y2lvbmVzIFRlY25vbG9naWNhcyBTLkwNCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcg0KIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLg0KIw0KIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YNCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQ0KIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KDQp1c2Ugc3RyaWN0Ow0KdXNlIHdhcm5pbmdzOw0KDQp1c2UgRmlsZTo6QmFzZW5hbWU7DQp1c2UgSFRNTDo6RW50aXRpZXMgKCk7DQoNCiMgQ2hlY2sgZm9yIHdtaWMNCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOw0KaWYgKHN5c3RlbSgiJHdtaV9jbGllbnQgPiAvZGV2L251bGwgMj4mMSIpICE9IDI1Nikgew0KCXByaW50ICJbZXJyb3JdICR3bWlfY2xpZW50IG5vdCBmb3VuZC5cbiI7DQoJZXhpdCAxOw0KfQ0KDQppZiAoJCNBUkdWICE9IDIpIHsNCglwcmludCAiVXNhZ2U6ICQwIDx0YXJnZXQgaXA+IDx1c2VybmFtZT4gPHBhc3N3b3JkPlxuIjsNCglleGl0IDE7DQp9DQoNCm15ICR0YXJnZXRfaXAgPSAkQVJHVlswXTsNCm15ICR1c2VybmFtZSA9ICRBUkdWWzFdOw0KbXkgJHBhc3N3b3JkID0gJEFSR1ZbMl07DQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIFNVQiBydW5fcXVlcnkgKCR3cWxfcXVlcnkpDQojIFJ1bnMgdGhlIGdpdmVuIFdRTCBxdWVyeSBhbmQgcmV0dXJucyB0aGUgcmVzdWx0IGFzIGFuIGFycmF5IG9mIGhhc2hlcy4NCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQpzdWIgcnVuX3F1ZXJ5IHsNCglteSAkd3FsX3F1ZXJ5ID0gJF9bMF07DQoJbXkgQHJlc3VsdCA9IHt9Ow0KDQoJJHdxbF9xdWVyeSA9fiAncy8iL1wnL2cnOw0KDQoJIyBSdW4gdGhlIERDT00vV01JIGNsaWVudA0KCW15ICRvdXRwdXQgPSBgJHdtaV9jbGllbnQgLVUgJyR1c2VybmFtZSclJyRwYXNzd29yZCcgLy8kdGFyZ2V0X2lwIFwiJHdxbF9xdWVyeVwiIDI+L2Rldi9udWxsYDsNCg0KCW15IEBsaW5lcyA9IHNwbGl0KC9cbi8sICRvdXRwdXQpOw0KCSMgSGVhZGVyLCBkZXNjcmlwdGlvbiwgcmVzdWx0cw0KCWlmICgkI2xpbmVzIDwgMikgew0KCQlleGl0IDE7DQoJfQ0KDQoJIyBEcm9wIHRoZSBoZWFkZXINCglzaGlmdCAoQGxpbmVzKTsNCgkNCgkjIEdldCBjb2x1bW4gbmFtZXMNCglteSBAY29sdW1uX25hbWVzID0gc3BsaXQoL1x8Lywgc2hpZnQgKEBsaW5lcykpOw0KDQoJIyBHZXQgcm93IGRhdGENCglteSAkaWR4ID0gMDsNCglmb3IgKG15ICRpID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgew0KDQoJCSMgQ2hlY2sgZm9yIGVycm9ycw0KCQlpZiAoJGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsNCgkJCWV4aXQgMTsNCgkJfQ0KDQoJCSMgQmxhY2sgbGlzdA0KCQlpZiAoJGxpbmVzWyRpXSA9fiBtL0ZpbGUgMS8pIHsNCgkJCW5leHQ7DQoJCX0NCg0KCQlteSBAY29sdW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7DQoJCWZvciAobXkgJGogPSAwOyAkaiA8PSAkI2NvbHVtbl9uYW1lczsgJGorKykgew0KCQkJaWYgKCEgZGVmaW5lZCgkY29sdW1uWyRqXSkpIHsNCgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7DQoJCQl9DQoJCQllbHNlIHsNCgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gJGNvbHVtblskal07DQoJCQl9DQoJCX0NCgkJDQoJCSRpZHgrKzsNCgl9DQoJDQoJcmV0dXJuIEByZXN1bHQ7DQp9DQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIFNVQiBwcmludF9tb2R1bGVkYXRhICgkbW9kdWxlX2l0ZW0sICRtb2R1bGVfZGF0YSwgDQojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQ0KIyBQcmludHMgYSBtb2R1bGVkYXRhIFhNTCB0YWcuICRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhLCANCiMgJG1vZHVsZV9kZXNjcmlwdGlvbiBhbmQgJG1vZHVsZV9zZXJ2aWNlcGFjayBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSwgZGVzY3JpcHRpb24gYW5kIHNlcnZpY2VwYWNrDQojIFhNTCB0YWdzIHJlc3BlY3RpdmVseS4NCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQpzdWIgcHJpbnRfbW9kdWxlZGF0YSB7DQoJbXkgJG1vZHVsZV9pdGVtID0gJF9bMF07DQoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07DQoJbXkgJG1vZHVsZV9kZXNjcmlwdGlvbiA9ICRfWzJdOw0KCW15ICRtb2R1bGVfc2VydmljZXBhY2sgPSAkX1szXTsNCglteSBAZGF0YSA9IEB7JF9bNF19Ow0KCW15ICRyZXN1bHQ7DQoNCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgew0KCQkNCgkJJHJlc3VsdCA9ICcnOw0KDQoJCSMgSXRlbQ0KCQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfaXRlbX0pKSB7DQoJCQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsNCgkJfQ0KDQoJCSMgRGF0YQ0KCQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0pKSB7DQoJCQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSAuICc7JzsNCgkJfQ0KDQoJCSMgRGVzY3JpcHRpb24NCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufSkpIHsNCgkJCSRyZXN1bHQgLj0gJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufSAuICc7JzsNCgkJfQ0KDQoJCSMgU2VydmljZSBwYWNrDQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9zZXJ2aWNlcGFja30pKSB7DQoJCQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9zZXJ2aWNlcGFja307DQoJCX0NCg0KCQlwcmludCAkcmVzdWx0IC4gIlxuIjsJDQoJfQ0KfQ0KDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBNYWluDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KDQpteSBAcmVzdWx0ID0gcnVuX3F1ZXJ5KCJTRUxFQ1QgSG90Rml4SUQsIERlc2NyaXB0aW9uLCBGaXhDb21tZW50cywgU2VydmljZVBhY2tJbkVmZmVjdCBGUk9NIFdpbjMyX1F1aWNrRml4RW5naW5lZXJpbmciKTsNCnByaW50X21vZHVsZWRhdGEgKCJIb3RGaXhJRCIsICJEZXNjcmlwdGlvbiIsICJGaXhDb21tZW50cyIsICJTZXJ2aWNlUGFja0luRWZmZWN0IiwgXEByZXN1bHQpOw0KZXhpdCAwOw0K',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (16,1,'Init services','Services programmed to lauch in Unix','','Service','',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (17,9,'Init services','Windows services','/usr/bin/perl','Name;PathName;State','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9zZXJ2aWNlcy5wbAoj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9h QGFydGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xv Z2ljYXMgUy5MCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJl CiMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9z dG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsK dXNlIHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7 CgojIENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIk d21pX2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAk d21pX2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsK CXByaW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJ ZXhpdCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdW WzFdOwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1 bl9xdWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVy bnMgdGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1 YiBydW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoK CSR3cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50Cglt eSAkb3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRh cmdldF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQo L1xuLywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xp bmVzIDwgMikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5l cyk7CgkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8s IHNoaWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15 ICRpID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlp ZiAoJGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBs aXN0CgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBA Y29sdW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9 ICQjY29sdW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7 CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxz ZSB7CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gJGNvbHVtblskal07 CgkJCX0KCQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2Rh dGEsIAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEg WE1MIHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlw dGlvbiBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBY TUwgdGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVk YXRhIHsKCW15ICRtb2R1bGVfaXRlbSA9ICRfWzBdOwoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07 CglteSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07CglteSBAZGF0YSA9IEB7JF9bM119OwoJ bXkgJHJlc3VsdDsKCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCQoJCSRyZXN1bHQg PSAnJzsKCgkJIyBJdGVtCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkg ewoJCQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsKCQl9CgoJCSMg RGF0YQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSkpIHsKCQkJJHJlc3Vs dCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0gLiAnOyc7CgkJfQoKCQkjIERlc2NyaXB0aW9u CgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufSkpIHsKCQkJJHJl c3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGVzY3JpcHRpb259OwoJCX0KCgkJcHJpbnQgJHJl c3VsdCAuICJcbiI7CQoJfQp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE1haW4KIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMKCm15IEByZXN1bHQgPSBydW5fcXVlcnkoIlNFTEVDVCBOYW1lLCBQYXRoTmFtZSwgU3Rh dGUgRlJPTSBXaW4zMl9TZXJ2aWNlIik7CnByaW50X21vZHVsZWRhdGEgKCJOYW1lIiwgIlBhdGhO YW1lIiwgIlN0YXRlIiwgXEByZXN1bHQpOwpleGl0IDA7Cg==',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (18,1,'File system','UNIX filesystem mounted on system','','Device;Free size;Total size;Mount point','',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (19,9,'File system','Disk drives','','Device;Total size;Free size;Mount point','',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (20,1,'Process','Process running on system','','Process output from ps','',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (21,9,'Process','Process running on system','/usr/bin/perl','Name;PathName;State','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9wcm9jZXNzZXMucGwK IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMKIyBDb3B5cmlnaHQgKGMpIDIwMDggUmFtb24gTm92b2EsIHJub3Zv YUBhcnRpY2EuZXMKIyAgICAgICAgICAgKGMpIDIwMDggQXJ0aWNhIFNvbHVjaW9uZXMgVGVjbm9s b2dpY2FzIFMuTAojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vcgojIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2Fy ZQojIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJv c3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCnVzZSBzdHJpY3Q7 CnVzZSB3YXJuaW5nczsKCnVzZSBGaWxlOjpCYXNlbmFtZTsKdXNlIEhUTUw6OkVudGl0aWVzICgp OwoKIyBDaGVjayBmb3Igd21pYwpteSAkd21pX2NsaWVudCA9ICJ3bWljIjsKaWYgKHN5c3RlbSgi JHdtaV9jbGllbnQgPiAvZGV2L251bGwgMj4mMSIpICE9IDI1NikgewoJcHJpbnQgIltlcnJvcl0g JHdtaV9jbGllbnQgbm90IGZvdW5kLlxuIjsKCWV4aXQgMTsKfQoKaWYgKCQjQVJHViAhPSAyKSB7 CglwcmludCAiVXNhZ2U6ICQwIDx0YXJnZXQgaXA+IDx1c2VybmFtZT4gPHBhc3N3b3JkPlxuIjsK CWV4aXQgMTsKfQoKbXkgJHRhcmdldF9pcCA9ICRBUkdWWzBdOwpteSAkdXNlcm5hbWUgPSAkQVJH VlsxXTsKbXkgJHBhc3N3b3JkID0gJEFSR1ZbMl07CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIFNVQiBy dW5fcXVlcnkgKCR3cWxfcXVlcnkpCiMgUnVucyB0aGUgZ2l2ZW4gV1FMIHF1ZXJ5IGFuZCByZXR1 cm5zIHRoZSByZXN1bHQgYXMgYW4gYXJyYXkgb2YgaGFzaGVzLgojIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpz dWIgcnVuX3F1ZXJ5IHsKCW15ICR3cWxfcXVlcnkgPSAkX1swXTsKCW15IEByZXN1bHQgPSB7fTsK Cgkkd3FsX3F1ZXJ5ID1+ICdzLyIvXCcvZyc7CgoJIyBSdW4gdGhlIERDT00vV01JIGNsaWVudAoJ bXkgJG91dHB1dCA9IGAkd21pX2NsaWVudCAtVSAnJHVzZXJuYW1lJyUnJHBhc3N3b3JkJyAvLyR0 YXJnZXRfaXAgXCIkd3FsX3F1ZXJ5XCIgMj4vZGV2L251bGxgOwoKCW15IEBsaW5lcyA9IHNwbGl0 KC9cbi8sICRvdXRwdXQpOwoJIyBIZWFkZXIsIGRlc2NyaXB0aW9uLCByZXN1bHRzCglpZiAoJCNs aW5lcyA8IDIpIHsKCQlleGl0IDE7Cgl9CgoJIyBEcm9wIHRoZSBoZWFkZXIKCXNoaWZ0IChAbGlu ZXMpOwoJCgkjIEdldCBjb2x1bW4gbmFtZXMKCW15IEBjb2x1bW5fbmFtZXMgPSBzcGxpdCgvXHwv LCBzaGlmdCAoQGxpbmVzKSk7CgoJIyBHZXQgcm93IGRhdGEKCW15ICRpZHggPSAwOwoJZm9yICht eSAkaSA9IDA7ICRpIDw9ICQjbGluZXM7ICRpKyspIHsKCgkJIyBDaGVjayBmb3IgZXJyb3JzCgkJ aWYgKCRsaW5lc1skaV0gPX4gbS9eRVJST1IvKSB7CgkJCWV4aXQgMTsKCQl9CgoJCSMgQmxhY2sg bGlzdAoJCWlmICgkbGluZXNbJGldID1+IG0vRmlsZSAxLykgewoJCQluZXh0OwoJCX0KCgkJbXkg QGNvbHVtbiA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOwoJCWZvciAobXkgJGogPSAwOyAkaiA8 PSAkI2NvbHVtbl9uYW1lczsgJGorKykgewoJCQlpZiAoISBkZWZpbmVkKCRjb2x1bW5bJGpdKSkg ewoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOwoJCQl9CgkJCWVs c2UgewoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICRjb2x1bW5bJGpd OwoJCQl9CgkJfQoJCQoJCSRpZHgrKzsKCX0KCQoJcmV0dXJuIEByZXN1bHQ7Cn0KCiMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjCiMgU1VCIHByaW50X21vZHVsZWRhdGEgKCRtb2R1bGVfaXRlbSwgJG1vZHVsZV9k YXRhLCAKIyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkKIyBQcmludHMgYSBtb2R1bGVkYXRh IFhNTCB0YWcuICRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhIGFuZAojICRtb2R1bGVfZGVzY3Jp cHRpb24gYXJlIHVzZWQgdG8gaW5kZXggdGhlIGl0ZW0sIGRhdGEgYW5kIGRlc2NyaXB0aW9uCiMg WE1MIHRhZ3MgcmVzcGVjdGl2ZWx5LgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcHJpbnRfbW9kdWxl ZGF0YSB7CglteSAkbW9kdWxlX2l0ZW0gPSAkX1swXTsKCW15ICRtb2R1bGVfZGF0YSA9ICRfWzFd OwoJbXkgJG1vZHVsZV9kZXNjcmlwdGlvbiA9ICRfWzJdOwoJbXkgQGRhdGEgPSBAeyRfWzNdfTsK CW15ICRyZXN1bHQ7CgoJZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsKCQkKCQkkcmVzdWx0 ID0gJyc7CgoJCSMgSXRlbQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSkp IHsKCQkJJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfaXRlbX0gLiAnOyc7CgkJfQoKCQkj IERhdGEKCQlpZiAoZGVmaW5lZCgkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0pKSB7CgkJCSRyZXN1 bHQgLj0gJGVsZW1lbnQtPnskbW9kdWxlX2RhdGF9IC4gJzsnOwoJCX0KCgkJIyBEZXNjcmlwdGlv bgoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kZXNjcmlwdGlvbn0pKSB7CgkJCSRy ZXN1bHQgLj0gJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufTsKCQl9CgoJCXByaW50ICRy ZXN1bHQgLiAiXG4iOwkKCX0KfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNYWluCiMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCgpteSBAcmVzdWx0ID0gcnVuX3F1ZXJ5KCJTRUxFQ1QgTmFtZSwgUGF0aE5hbWUsIFN0 YXRlIEZST00gV2luMzJfU2VydmljZSIpOwpwcmludF9tb2R1bGVkYXRhICgiTmFtZSIsICJQYXRo TmFtZSIsICJTdGF0ZSIsIFxAcmVzdWx0KTsJCmV4aXQgMDsK',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (22,1,'Users','User list','','Username','',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (23,9,'Users','User list','/usr/bin/perl','Domain;User','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV91c2Vycy5wbAojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAwOCBSYW1vbiBOb3ZvYSwgcm5vdm9hQGFydGljYS5lcwojICAgICAgICAgICAoYykgMjAwOCBBcnRpY2EgU29sdWNpb25lcyBUZWNub2xvZ2ljYXMgUy5MCiMgICAgICAgICAgIChjKSAyMDE1IEJvcmphIFNhbmNoZXogPGZib3JqYS5zYW5jaGV6QGFydGljYS5lcz4KIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiMgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSwgVVNBLgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7CgojIENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21pX2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAkd21pX2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKCXByaW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJZXhpdCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdWWzFdOwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1bl9xdWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMgdGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBydW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoKCSR3cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CglteSAkb3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdldF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQoL1xuLywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xpbmVzIDwgMikgewoJCWV4aXQgMTsKCX0KCgkjIERyb3AgdGhlIGhlYWRlcgoJc2hpZnQgKEBsaW5lcyk7CgkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNoaWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15ICRpID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoKCQkjIENoZWNrIGZvciBlcnJvcnMKCQlpZiAoJGxpbmVzWyRpXSA9fiBtL15FUlJPUi8pIHsKCQkJZXhpdCAxOwoJCX0KCgkJIyBCbGFjayBsaXN0CgkJaWYgKCRsaW5lc1skaV0gPX4gbS9GaWxlIDEvKSB7CgkJCW5leHQ7CgkJfQoKCQlteSBAY29sdW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9ICQjY29sdW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxzZSB7CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gJGNvbHVtblskal07CgkJCX0KCQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEsIAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEgWE1MIHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlwdGlvbiBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBYTUwgdGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVkYXRhIHsKCW15ICRtb2R1bGVfaXRlbSA9ICRfWzBdOwoJbXkgJG1vZHVsZV9kYXRhID0gJF9bMV07CglteSAkbW9kdWxlX2Rlc2NyaXB0aW9uID0gJF9bMl07CglteSBAZGF0YSA9IEB7JF9bM119OwoJbXkgJHJlc3VsdDsKCglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCQoJCSRyZXN1bHQgPSAnJzsKCgkJIyBJdGVtCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2l0ZW19KSkgewoJCQkkcmVzdWx0IC49ICRlbGVtZW50LT57JG1vZHVsZV9pdGVtfSAuICc7JzsKCQl9CgoJCSMgRGF0YQoJCWlmIChkZWZpbmVkKCRlbGVtZW50LT57JG1vZHVsZV9kYXRhfSkpIHsKCQkJJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGF0YX0gLiAnOyc7CgkJfQoKCQkjIERlc2NyaXB0aW9uCgkJaWYgKGRlZmluZWQoJGVsZW1lbnQtPnskbW9kdWxlX2Rlc2NyaXB0aW9ufSkpIHsKCQkJJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfZGVzY3JpcHRpb259OwoJCX0KCgkJcHJpbnQgJHJlc3VsdCAuICJcbiI7CQoJfQp9CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIE1haW4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCm15IEByZXN1bHQgPSBydW5fcXVlcnkoIlNFTEVDVCBOYW1lLCBGdWxsTmFtZSwgU3RhdHVzIEZST00gV2luMzJfVXNlckFjY291bnQiKTsKcHJpbnRfbW9kdWxlZGF0YSAoIk5hbWUiLCAiRnVsbE5hbWUiLCAiU3RhdHVzIiwgXEByZXN1bHQpOwpleGl0IDA7Cg==',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (24,9,'Services','Services installed','','Name;Command;Status','',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (25,15,'Software','Installed software applications','','Name;Version;Description','',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (26,7,'Cisco Interface Remote Inventory','Remote inventory module to get all cards in a Cisco','/usr/bin/perl','Name;Card Name;ID/Serial','IyEvdXNyL2Jpbi9wZXJsDQojSW52ZW50YXJpbyBkZSBUYXJqZXRhcw0KI1Nsb3Q7UGFydE51bWJlcjtTZXJpYWxOdW1iZXINCg0KIyEvdXNyL2Jpbi9wZXJsIC13DQoNCm15ICR0YXJnZXRfaXAgPSAkQVJHVlswXTsNCm15ICRjb21tdW5pdHkgPSAkQVJHVlsxXTsNCg0KI34gRXhlY3V0ZSBjb21tYW5kDQokY29tbWFuZCA9IGBzbm1wd2FsayAtdjJjIC1jICRjb21tdW5pdHkgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjJgOw0KDQojfiBTcGxpdCB0aGUgb3V0cHV0IGluIGxpbmVzDQpAdGVtcCA9IHNwbGl0ICgiXG4iLCAkY29tbWFuZCk7DQpteSBAdmFsdWVzOw0KDQojfiBFYWNoIGxpbmUNCmZvcmVhY2ggKEB0ZW1wKSB7DQoJI34gc3dhcCBkb3RzIGJ5IHNwYWNlcw0KCSRfID1+IHMvXC4vIC9nOw0KCSN+IHNwbGl0IHRoZSBsaW5lIGJ5IHNwYWNlcw0KCUBsaW5lID0gc3BsaXQgKC8gLywgJF8pOw0KCSN+IHNhdmUgdGhlIDd0aCB2YWx1ZQ0KCXB1c2ggKEB2YWx1ZXMsICRsaW5lWzddKTsNCn0NCg0KZm9yZWFjaCAoQHZhbHVlcykgew0KCSN+IHByaW50ICIkXyI7DQoJJFBJRCA9ICcnOw0KCSRQSUQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjEzLiRfYDsNCgkkUElEIC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4xMS4kX2A7DQoJJFBJRCA9fiBzL1wifFxufFw8fFw+fFwmfFxbfFxdLy9nOw0KDQoJaWYgKCRQSUQgbmUgIiIgKSB7DQoJCSRyZXN1bHQgPSAnJzsNCgkJIyRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBzeXNOYW1lLjBgIC4gJzsnOw0KCQkkcmVzdWx0IC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS43LiRfYCAuICc7JzsNCgkJIyRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjIuJF9gIC4gJzsnOw0KCQkkcmVzdWx0IC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4xMy4kX2AgLiAnOyc7DQoJCSRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjExLiRfYDsNCgkJDQoJCSRyZXN1bHQgPX4gcy9cInxcbnxcPHxcPnxcJnxcW3xcXS8vZzsNCgkJcHJpbnQgJHJlc3VsdCAuICJcbiI7DQoJfQ0KfQ0KZXhpdCAwOw0K',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (27,7,'Cisco Inventory','Get remote device information about the cisco device','/usr/bin/perl','IP;Hardware;SerialNumber;IOS','IyEvdXNyL2Jpbi9wZXJsDQoNCiNJbmZvcm1hY2lvbiBkZWwgRXF1aXBvDQojSVA7SGFyZHdhcmU7U2VyaWFsTnVtYmVyO0lPUw0KDQpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07DQpteSAkY29tbXVuaXR5ID0gJEFSR1ZbMV07DQoNCiRyZXN1bHQgPSAnJzsNCiMkcmVzdWx0IC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgc3lzTmFtZS4wYCAuICc7JzsNCiRyZXN1bHQgLj0gJHRhcmdldF9pcCAuICc7JzsNCiRlcnJvciA9ICcnOw0KJGVycm9yIC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4yLjEgfCBncmVwIGV4aXN0c2A7DQokc2VyaWFsID0gJyc7DQokc2VyaWFsIC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4xMS4xYDsNCiRzZXJpYWwgPX4gcy9cInxcbnxcPHxcPnxcJnxcW3xcXS8vZzsNCg0KaWYgKCRlcnJvciBlcSAiIiAmJiAkc2VyaWFsIG5lICIiKXsNCiAgICAkcmVzdWx0IC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4yLjFgIC4gJzsnOw0KICAgICRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjExLjFgIC4gJzsnOw0KDQp9IGVsc2Ugew0KICAgICRWU1MgPSAnJzsNCiAgICAkVlNTIC49IGBzbm1wZ2V0IC12MmMgLWMgJGNvbW11bml0eSAtT3ZxICR0YXJnZXRfaXAgbWliLTIuNDcuMS4xLjEuMS4yLjEgfCBncmVwIFZpcnR1YWxgOw0KICAgIGlmICgkVlNTIGVxICIiKSB7DQogICAgICAgICRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjIuMTAwMWAgLiAnOyc7DQogICAgICAgICRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjExLjEwMDFgIC4gJzsnOw0KICAgIH0gZWxzZSB7DQogICAgICAgICRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjIuMWAgLiAnOyc7DQogICAgICAgICRyZXN1bHQgLj0gYHNubXBnZXQgLXYyYyAtYyAkY29tbXVuaXR5IC1PdnEgJHRhcmdldF9pcCBtaWItMi40Ny4xLjEuMS4xLjExLjJgIC4gJzsnOw0KICAgIH0NCn0NCg0KJHJlc3VsdCAuPSBgc25tcGdldCAtdjJjIC1jICRjb21tdW5pdHkgLU92cSAkdGFyZ2V0X2lwIHN5c0Rlc2NyLjAgfCBncmVwIElPU2A7DQokcmVzdWx0ID1+IHMvXCJ8XG58XDx8XD58XCZ8XFt8XF0vL2c7DQpwcmludCAkcmVzdWx0IC4gIlxuIjsNCmV4aXQgMDsNCg==',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (28,1,'IP','IP address','','Interface;Address','',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (29,1,'Routes','Routes table','','Destination;Gateway;Mask;Flags;Metric;Use;Interface','',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (30,7,'Cisco Configuration','This script will collect a remote CISCO configuration','/usr/bin/perl','Configuration dump','IyEvdXNyL2Jpbi9wZXJsIAojCiMgKGMpIEFydGljYSAyMDE0CiMgVGhpcyBpcyBhbiBFbnRlcnByaXNlIGludmVudG9yeSBzY3JpcHQgZm9yIFBhbmRvcmEgRk1TIDUKIyBUaGlzIHNjcmlwdCB3aWxsIGNvbGxlY3QgYSByZW1vdGUgQ0lTQ08gY29uZmlndXJhdGlvbgojIFJFTUVNQkVSIFRPIEFDVElWQVRFIElUIEFTIEJMT0NLIE1PREUgISEhCgp1c2Ugd2FybmluZ3M7CnVzZSBzdHJpY3Q7CnVzZSBOZXQ6OlRlbG5ldDsKCm15ICR0YXJnZXQgPSAiIjsKbXkgJGxvZ2luX3Bhc3MgPSAiIjsKbXkgJGVuYWJsZV9wYXNzID0gIiI7Cm15ICRvdXRwdXRfZmlsZSA9ICIvdG1wL2Npc2NvIi4kJDsKbXkgJFRJTUVPVVQ9NTsKCiMgTG9hZCBjb25maWcgZmlsZSBmcm9tIGNvbW1hbmQgbGluZQppZiAoJCNBUkdWIDwgMiAgKXsKICAgICAgICBwcmludCAiSSBuZWVkIHNldmVyYWwgcGFyYW1ldGVycyBpbiB0aGlzIGZvcm1hdDogXG5cbiI7CglwcmludCAiICAgICAgZ2V0X2NvbmZpZy5wbCA8aXBfYWRkcmVzcz4gPGxvZ2luX3Bhc3M+IDxlbmFibGVfcGFzcz4gXG5cbiI7CiAgICAgICAgZXhpdDsKfQoKJHRhcmdldCA9ICRBUkdWWzBdOwokbG9naW5fcGFzcyA9ICRBUkdWWzFdOwokZW5hYmxlX3Bhc3MgPSAkQVJHVlsyXTsKCm15ICR0ZWxuZXQgPSBuZXcgTmV0OjpUZWxuZXQgKCBUaW1lb3V0PT4kVElNRU9VVCwgRXJybW9kZT0+J3JldHVybicpOyAKJHRlbG5ldC0+b3BlbigkdGFyZ2V0KTsgCiR0ZWxuZXQtPndhaXRmb3IoJy9QYXNzd29yZDovaScpOyAKJHRlbG5ldC0+cHJpbnQoJGxvZ2luX3Bhc3MpOyAKCiR0ZWxuZXQtPndhaXRmb3IoJy9cPiQvaScpOyAKJHRlbG5ldC0+cHJpbnQoJ2VuJyk7CiR0ZWxuZXQtPndhaXRmb3IoJy9QYXNzd29yZDovaScpOwokdGVsbmV0LT5wcmludCgkZW5hYmxlX3Bhc3MpOwokdGVsbmV0LT53YWl0Zm9yKCcvXCMvJyk7CiR0ZWxuZXQtPmNtZF9yZW1vdmVfbW9kZSgxKTsKCiR0ZWxuZXQtPnByaW50KCdzaG93IHJ1bm5pbmctY29uZmlnJyk7CgpteSAkZmggPSAkdGVsbmV0LT5pbnB1dF9sb2coJG91dHB1dF9maWxlKTsKbXkgJG91dHB1dCA9IDE7Cgp3aGlsZSAoZGVmaW5lZCgkb3V0cHV0KSl7Cgkkb3V0cHV0ID0gJHRlbG5ldC0+d2FpdGZvcignL01vcmUvaScpOyAKCSR0ZWxuZXQtPnByaW50KCIiKTsgCn0KCm15ICRidWZmZXIgPSAiIjsKCm9wZW4gT1VURiwgJG91dHB1dF9maWxlOwp3aGlsZSAoPE9VVEY+KSB7CgkkXyA9fiBzL1x4MDgvL2c7CgkkXyA9fiBzL1wtXC1Nb3JlXC1cLVtcdFxzXSovL2c7CgkkXyA9fiBzL1w7Ly9nOwoJJGJ1ZmZlciA9ICRidWZmZXIgLiAkXzsKfQpjbG9zZSAoT1VURik7Cgp1bmxpbmsgKCRvdXRwdXRfZmlsZSk7CnByaW50ICRidWZmZXI7Cg==',1); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (31,9,'Motherboard','This script retrieves the manufacturer,model and ID from the motherboard of a Windows system','/usr/bin/perl','Manufacturer;Model;ID','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9tb3RoZXJib2FyZC5wbAojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAxNSBCb3JqYSBTYW5jaGV6IDxmYm9yamEuc2FuY2hlekBhcnRpY2EuZXM+CiMgICAgICAgICAgIChjKSAyMDE1IEFydGljYSBTb2x1Y2lvbmVzIFRlY25vbG9naWNhcyBTLkwKIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7CgojIENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21pX2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAkd21pX2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKCXByaW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJZXhpdCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdWWzFdOwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1bl9xdWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMgdGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBydW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoKCSR3cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CglteSAkb3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdldF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQoL1xuLywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xpbmVzIDwgMikgewoJCWV4aXQgMTsKCX0KCSMgRHJvcCB0aGUgaGVhZGVyCglzaGlmdCAoQGxpbmVzKTsKCQkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNoaWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15ICRpID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoJCSMgQ2hlY2sgZm9yIGVycm9ycwoJCWlmICgkbGluZXNbJGldID1+IG0vXkVSUk9SLykgewoJCQlleGl0IDE7CgkJfQoKCQkjIEJsYWNrIGxpc3QKCQlpZiAoJGxpbmVzWyRpXSA9fiBtL0ZpbGUgMS8pIHsKCQkJbmV4dDsKCQl9CgkJbXkgQGNvbHVtbiA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOwoJCWZvciAobXkgJGogPSAwOyAkaiA8PSAkI2NvbHVtbl9uYW1lczsgJGorKykgewoJCQlpZiAoISBkZWZpbmVkKCRjb2x1bW5bJGpdKSkgewoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOwoJCQl9CgkJCWVsc2UgewoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICRjb2x1bW5bJGpdOwoJCQl9CgkJfQoJCQoJCSRpZHgrKzsKCX0KCQoJcmV0dXJuIEByZXN1bHQ7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHByaW50X21vZHVsZWRhdGEgKCRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhLCAKIyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkKIyBQcmludHMgYSBtb2R1bGVkYXRhIFhNTCB0YWcuICRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhIGFuZAojICRtb2R1bGVfZGVzY3JpcHRpb24gYXJlIHVzZWQgdG8gaW5kZXggdGhlIGl0ZW0sIGRhdGEgYW5kIGRlc2NyaXB0aW9uCiMgWE1MIHRhZ3MgcmVzcGVjdGl2ZWx5LgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcHJpbnRfbW9kdWxlZGF0YSB7CglteSBAbW9kdWxlX2hlYWRlcnMgPSBAeyRfWzBdfTsKCW15IEBtb2R1bGVfdW5pdHMgICA9IEB7JF9bMV19OwoJbXkgQGRhdGEgICAgICAgICAgID0gQHskX1syXX07CglteSAkcmVzdWx0OwoJZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsKCQkkcmVzdWx0ID0gJyc7CgkJZm9yICgkaT0wOyAkaTxAbW9kdWxlX2hlYWRlcnM7JGkrKykgewoJCQlpZiAoZGVmaW5lZCAoJGVsZW1lbnQtPnskbW9kdWxlX2hlYWRlcnNbJGldfSkpIHsKCQkJCSRyZXN1bHQgLj0gJGVsZW1lbnQtPnskbW9kdWxlX2hlYWRlcnNbJGldfSAuICRtb2R1bGVfdW5pdHNbJGldIC4gJzsnOwoJCQl9CgkJCWVsc2UgewoJCQkJJHJlc3VsdCAuPSAnOyc7CgkJCX0KCQl9CgkJY2hvcCgkcmVzdWx0KTsKCQlwcmludCAkcmVzdWx0IC4gIlxuIjsJCgl9Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTWFpbgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKbXkgQHJlc3VsdCAgPSBydW5fcXVlcnkoIlNFTEVDVCAqIEZST00gV2luMzJfY29tcHV0ZXJzeXN0ZW0iKTsKIyBSZW1lbWJlciB0byBtYXRjaCBsZW5naHQgb2YgYm90aCBhcnJheXMgaGVhZGVycyAmIHVuaXRzCm15IEBoZWFkZXJzID0gKCJNYW51ZmFjdHVyZXIiLCJNb2RlbCIsIk9FTVN0cmluZ0FycmF5Iik7Cm15IEB1bml0cyAgID0gKCIiLCIiLCIiKTsKcHJpbnRfbW9kdWxlZGF0YSAoXEBoZWFkZXJzLFxAdW5pdHMsIFxAcmVzdWx0KTsKZXhpdCAwOwo=',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (32,9,'Monitors','Retrieve all monitor info from a Windows system.','/usr/bin/perl','Model;ID','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9tb25pdG9ycy5wbAojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAxNSBCb3JqYSBTYW5jaGV6IDxmYm9yamEuc2FuY2hlekBhcnRpY2EuZXM+CiMgICAgICAgICAgIChjKSAyMDE1IEFydGljYSBTb2x1Y2lvbmVzIFRlY25vbG9naWNhcyBTLkwKIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7CgojIENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21pX2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAkd21pX2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKCXByaW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJZXhpdCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdWWzFdOwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1bl9xdWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMgdGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBydW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoKCSR3cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CglteSAkb3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdldF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQoL1xuLywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xpbmVzIDwgMikgewoJCWV4aXQgMTsKCX0KCSMgRHJvcCB0aGUgaGVhZGVyCglzaGlmdCAoQGxpbmVzKTsKCQkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNoaWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15ICRpID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoJCSMgQ2hlY2sgZm9yIGVycm9ycwoJCWlmICgkbGluZXNbJGldID1+IG0vXkVSUk9SLykgewoJCQlleGl0IDE7CgkJfQoKCQkjIEJsYWNrIGxpc3QKCQlpZiAoJGxpbmVzWyRpXSA9fiBtL0ZpbGUgMS8pIHsKCQkJbmV4dDsKCQl9CgkJbXkgQGNvbHVtbiA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOwoJCWZvciAobXkgJGogPSAwOyAkaiA8PSAkI2NvbHVtbl9uYW1lczsgJGorKykgewoJCQlpZiAoISBkZWZpbmVkKCRjb2x1bW5bJGpdKSkgewoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOwoJCQl9CgkJCWVsc2UgewoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICRjb2x1bW5bJGpdOwoJCQl9CgkJfQoJCQoJCSRpZHgrKzsKCX0KCQoJcmV0dXJuIEByZXN1bHQ7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHByaW50X21vZHVsZWRhdGEgKCRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhLCAKIyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkKIyBQcmludHMgYSBtb2R1bGVkYXRhIFhNTCB0YWcuICRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhIGFuZAojICRtb2R1bGVfZGVzY3JpcHRpb24gYXJlIHVzZWQgdG8gaW5kZXggdGhlIGl0ZW0sIGRhdGEgYW5kIGRlc2NyaXB0aW9uCiMgWE1MIHRhZ3MgcmVzcGVjdGl2ZWx5LgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcHJpbnRfbW9kdWxlZGF0YSB7CglteSBAbW9kdWxlX2hlYWRlcnMgPSBAeyRfWzBdfTsKCW15IEBtb2R1bGVfdW5pdHMgICA9IEB7JF9bMV19OwoJbXkgQGRhdGEgICAgICAgICAgID0gQHskX1syXX07CglteSAkcmVzdWx0OwoJZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsKCQkkcmVzdWx0ID0gJyc7CgkJZm9yICgkaT0wOyAkaTxAbW9kdWxlX2hlYWRlcnM7JGkrKykgewoJCQlpZiAoZGVmaW5lZCAoJGVsZW1lbnQtPnskbW9kdWxlX2hlYWRlcnNbJGldfSkpIHsKCQkJCSRyZXN1bHQgLj0gJGVsZW1lbnQtPnskbW9kdWxlX2hlYWRlcnNbJGldfSAuICRtb2R1bGVfdW5pdHNbJGldIC4gJzsnOwoJCQl9CgkJCWVsc2UgewoJCQkJJHJlc3VsdCAuPSAnOyc7CgkJCX0KCQl9CgkJY2hvcCgkcmVzdWx0KTsKCQlwcmludCAkcmVzdWx0IC4gIlxuIjsJCgl9Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTWFpbgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKbXkgQHJlc3VsdCAgPSBydW5fcXVlcnkoIlNFTEVDVCBOYW1lLFBOUERldmljZUlEIEZST00gV2luMzJfRGVza3RvcE1vbml0b3IiKTsKIyBSZW1lbWJlciB0byBtYXRjaCBsZW5naHQgb2YgYm90aCBhcnJheXMgaGVhZGVycyAmIHVuaXRzCm15IEBoZWFkZXJzID0gKCJOYW1lIiwiUE5QRGV2aWNlSUQiKTsKbXkgQHVuaXRzICAgPSAoIiIsIiIpOwpwcmludF9tb2R1bGVkYXRhIChcQGhlYWRlcnMsXEB1bml0cywgXEByZXN1bHQpOwpleGl0IDA7Cgo=',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (33,9,'Printers','Retrieve all printers of a Windows system','/usr/bin/perl','Name;Driver;Port','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9wcmludGVycy5wbAojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwojIENvcHlyaWdodCAoYykgMjAxNSBCb3JqYSBTYW5jaGV6IDxmYm9yamEuc2FuY2hlekBhcnRpY2EuZXM+CiMgICAgICAgICAgIChjKSAyMDA4IEFydGljYSBTb2x1Y2lvbmVzIFRlY25vbG9naWNhcyBTLkwKIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7CgojIENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21pX2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAkd21pX2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKCXByaW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJZXhpdCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdWWzFdOwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1bl9xdWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMgdGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBydW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoKCSR3cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CglteSAkb3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdldF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQoL1xuLywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xpbmVzIDwgMikgewoJCWV4aXQgMTsKCX0KCSMgRHJvcCB0aGUgaGVhZGVyCglzaGlmdCAoQGxpbmVzKTsKCQkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNoaWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15ICRpID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoJCSMgQ2hlY2sgZm9yIGVycm9ycwoJCWlmICgkbGluZXNbJGldID1+IG0vXkVSUk9SLykgewoJCQlleGl0IDE7CgkJfQoKCQkjIEJsYWNrIGxpc3QKCQlpZiAoJGxpbmVzWyRpXSA9fiBtL0ZpbGUgMS8pIHsKCQkJbmV4dDsKCQl9CgkJbXkgQGNvbHVtbiA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOwoJCWZvciAobXkgJGogPSAwOyAkaiA8PSAkI2NvbHVtbl9uYW1lczsgJGorKykgewoJCQlpZiAoISBkZWZpbmVkKCRjb2x1bW5bJGpdKSkgewoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOwoJCQl9CgkJCWVsc2UgewoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICRjb2x1bW5bJGpdOwoJCQl9CgkJfQoJCQoJCSRpZHgrKzsKCX0KCQoJcmV0dXJuIEByZXN1bHQ7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHByaW50X21vZHVsZWRhdGEgKCRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhLCAKIyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkKIyBQcmludHMgYSBtb2R1bGVkYXRhIFhNTCB0YWcuICRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhIGFuZAojICRtb2R1bGVfZGVzY3JpcHRpb24gYXJlIHVzZWQgdG8gaW5kZXggdGhlIGl0ZW0sIGRhdGEgYW5kIGRlc2NyaXB0aW9uCiMgWE1MIHRhZ3MgcmVzcGVjdGl2ZWx5LgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcHJpbnRfbW9kdWxlZGF0YSB7CglteSBAbW9kdWxlX2hlYWRlcnMgPSBAeyRfWzBdfTsKCW15IEBtb2R1bGVfdW5pdHMgICA9IEB7JF9bMV19OwoJbXkgQGRhdGEgICAgICAgICAgID0gQHskX1syXX07CglteSAkcmVzdWx0OwoJZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsKCQkkcmVzdWx0ID0gJyc7CgkJZm9yICgkaT0wOyAkaTxAbW9kdWxlX2hlYWRlcnM7JGkrKykgewoJCQlpZiAoZGVmaW5lZCAoJGVsZW1lbnQtPnskbW9kdWxlX2hlYWRlcnNbJGldfSkpIHsKCQkJCSRyZXN1bHQgLj0gJGVsZW1lbnQtPnskbW9kdWxlX2hlYWRlcnNbJGldfSAuICRtb2R1bGVfdW5pdHNbJGldIC4gJzsnOwoJCQl9CgkJCWVsc2UgewoJCQkJJHJlc3VsdCAuPSAnOyc7CgkJCX0KCQl9CgkJY2hvcCgkcmVzdWx0KTsKCQlwcmludCAkcmVzdWx0IC4gIlxuIjsJCgl9Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTWFpbgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKbXkgQHJlc3VsdCAgPSBydW5fcXVlcnkoIlNFTEVDVCBDYXB0aW9uLERyaXZlck5hbWUsUG9ydE5hbWUgRlJPTSBXaW4zMl9wcmludGVyIik7CiMgUmVtZW1iZXIgdG8gbWF0Y2ggbGVuZ2h0IG9mIGJvdGggYXJyYXlzIGhlYWRlcnMgJiB1bml0cwpteSBAaGVhZGVycyA9ICgiQ2FwdGlvbiIsIkRyaXZlck5hbWUiLCJQb3J0TmFtZSIpOwpteSBAdW5pdHMgICA9ICgiIiwiIiwiIik7CnByaW50X21vZHVsZWRhdGEgKFxAaGVhZGVycyxcQHVuaXRzLCBcQHJlc3VsdCk7CmV4aXQgMDsK',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (34,9,'product_key','Retrieve the Windows product key','/usr/bin/perl','Key','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9wcm9kdWN0a2V5LnBsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgQ29weXJpZ2h0IChjKSAyMDE1IEJvcmphIFNhbmNoZXosIDxmYm9yamEuc2FuY2hlekBhcnRpY2EuZXM+CiMgICAgICAgICAgIChjKSAyMDE1IEFydGljYSBTb2x1Y2lvbmVzIFRlY25vbG9naWNhcyBTLkwKIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKIyBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxLCBVU0EuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgojdXNlIHN0cmljdDsKdXNlIHdhcm5pbmdzOwoKdXNlIEZpbGU6OkJhc2VuYW1lOwp1c2UgSFRNTDo6RW50aXRpZXMgKCk7CgojIENoZWNrIGZvciB3bWljCm15ICR3bWlfY2xpZW50ID0gIndtaWMiOwppZiAoc3lzdGVtKCIkd21pX2NsaWVudCA+IC9kZXYvbnVsbCAyPiYxIikgIT0gMjU2KSB7CglwcmludCAiW2Vycm9yXSAkd21pX2NsaWVudCBub3QgZm91bmQuXG4iOwoJZXhpdCAxOwp9CgppZiAoJCNBUkdWICE9IDIpIHsKCXByaW50ICJVc2FnZTogJDAgPHRhcmdldCBpcD4gPHVzZXJuYW1lPiA8cGFzc3dvcmQ+XG4iOwoJZXhpdCAxOwp9CgpteSAkdGFyZ2V0X2lwID0gJEFSR1ZbMF07Cm15ICR1c2VybmFtZSA9ICRBUkdWWzFdOwpteSAkcGFzc3dvcmQgPSAkQVJHVlsyXTsKCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHJ1bl9xdWVyeSAoJHdxbF9xdWVyeSkKIyBSdW5zIHRoZSBnaXZlbiBXUUwgcXVlcnkgYW5kIHJldHVybnMgdGhlIHJlc3VsdCBhcyBhbiBhcnJheSBvZiBoYXNoZXMuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBydW5fcXVlcnkgewoJbXkgJHdxbF9xdWVyeSA9ICRfWzBdOwoJbXkgQHJlc3VsdCA9IHt9OwoKCSR3cWxfcXVlcnkgPX4gJ3MvIi9cJy9nJzsKCgkjIFJ1biB0aGUgRENPTS9XTUkgY2xpZW50CglteSAkb3V0cHV0ID0gYCR3bWlfY2xpZW50IC1VICckdXNlcm5hbWUnJSckcGFzc3dvcmQnIC8vJHRhcmdldF9pcCBcIiR3cWxfcXVlcnlcIiAyPi9kZXYvbnVsbGA7CgoJbXkgQGxpbmVzID0gc3BsaXQoL1xuLywgJG91dHB1dCk7CgkjIEhlYWRlciwgZGVzY3JpcHRpb24sIHJlc3VsdHMKCWlmICgkI2xpbmVzIDwgMikgewoJCWV4aXQgMTsKCX0KCSMgRHJvcCB0aGUgaGVhZGVyCglzaGlmdCAoQGxpbmVzKTsKCQkKCSMgR2V0IGNvbHVtbiBuYW1lcwoJbXkgQGNvbHVtbl9uYW1lcyA9IHNwbGl0KC9cfC8sIHNoaWZ0IChAbGluZXMpKTsKCgkjIEdldCByb3cgZGF0YQoJbXkgJGlkeCA9IDA7Cglmb3IgKG15ICRpID0gMDsgJGkgPD0gJCNsaW5lczsgJGkrKykgewoJCSMgQ2hlY2sgZm9yIGVycm9ycwoJCWlmICgkbGluZXNbJGldID1+IG0vXkVSUk9SLykgewoJCQlleGl0IDE7CgkJfQoKCQkjIEJsYWNrIGxpc3QKCQlpZiAoJGxpbmVzWyRpXSA9fiBtL0ZpbGUgMS8pIHsKCQkJbmV4dDsKCQl9CgkJbXkgQGNvbHVtbiA9IHNwbGl0KC9cfC8sICRsaW5lc1skaV0pOwoJCWZvciAobXkgJGogPSAwOyAkaiA8PSAkI2NvbHVtbl9uYW1lczsgJGorKykgewoJCQlpZiAoISBkZWZpbmVkKCRjb2x1bW5bJGpdKSkgewoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICIiOwoJCQl9CgkJCWVsc2UgewoJCQkJJHJlc3VsdFskaWR4XS0+eyRjb2x1bW5fbmFtZXNbJGpdfSA9ICRjb2x1bW5bJGpdOwoJCQl9CgkJfQoJCQoJCSRpZHgrKzsKCX0KCQoJcmV0dXJuIEByZXN1bHQ7Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgU1VCIHByaW50X21vZHVsZWRhdGEgKCRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhLCAKIyAkbW9kdWxlX2Rlc2NyaXB0aW9uLCBAZGF0YSkKIyBQcmludHMgYSBtb2R1bGVkYXRhIFhNTCB0YWcuICRtb2R1bGVfaXRlbSwgJG1vZHVsZV9kYXRhIGFuZAojICRtb2R1bGVfZGVzY3JpcHRpb24gYXJlIHVzZWQgdG8gaW5kZXggdGhlIGl0ZW0sIGRhdGEgYW5kIGRlc2NyaXB0aW9uCiMgWE1MIHRhZ3MgcmVzcGVjdGl2ZWx5LgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpzdWIgcHJpbnRfbW9kdWxlZGF0YSB7CglteSBAbW9kdWxlX2hlYWRlcnMgPSBAeyRfWzBdfTsKCW15IEBtb2R1bGVfdW5pdHMgICA9IEB7JF9bMV19OwoJbXkgQGRhdGEgICAgICAgICAgID0gQHskX1syXX07CglteSAkcmVzdWx0OwoJZm9yZWFjaCBteSAkZWxlbWVudCAoQGRhdGEpIHsKCQkkcmVzdWx0ID0gJyc7CgkJZm9yICgkaT0wOyAkaTxAbW9kdWxlX2hlYWRlcnM7JGkrKykgewoJCQlpZiAoZGVmaW5lZCAoJGVsZW1lbnQtPnskbW9kdWxlX2hlYWRlcnNbJGldfSkpIHsKCQkJCSRyZXN1bHQgLj0gJGVsZW1lbnQtPnskbW9kdWxlX2hlYWRlcnNbJGldfSAuICRtb2R1bGVfdW5pdHNbJGldIC4gJzsnOwoJCQl9CgkJCWVsc2UgewoJCQkJJHJlc3VsdCAuPSAnOyc7CgkJCX0KCQl9CgkJY2hvcCgkcmVzdWx0KTsKCQlwcmludCAkcmVzdWx0IC4gIlxuIjsJCgl9Cn0KCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgTWFpbgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwoKbXkgQHJlc3VsdCAgPSBydW5fcXVlcnkoIlNlbGVjdCBPQTN4T3JpZ2luYWxQcm9kdWN0S2V5IGZyb20gU29mdHdhcmVMaWNlbnNpbmdTZXJ2aWNlIik7CiMgUmVtZW1iZXIgdG8gbWF0Y2ggbGVuZ2h0IG9mIGJvdGggYXJyYXlzIGhlYWRlcnMgJiB1bml0cwpteSBAaGVhZGVycyA9ICgiT0EzeE9yaWdpbmFsUHJvZHVjdEtleSIpOwpteSBAdW5pdHMgICA9ICgiIik7CnByaW50X21vZHVsZWRhdGEgKFxAaGVhZGVycyxcQHVuaXRzLCBcQHJlc3VsdCk7CmV4aXQgMDsK',0); +INSERT INTO `tmodule_inventory` (`id_module_inventory`, `id_os`, `name`, `description`, `interpreter`, `data_format`, `code`, `block_mode`) VALUES (35,9,'product_ID','Retrieve the Windows product ID','/usr/bin/perl','Key','IyEvdXNyL2Jpbi9wZXJsCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiMgcGFuZG9yYV9wcm9kdWN0SUQucGwKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBDb3B5cmlnaHQgKGMpIDIwMTUgQm9yamEgU2FuY2hleiwgPGZib3JqYS5zYW5jaGV6QGFydGljYS5lcz4KIyAgICAgICAgICAgKGMpIDIwMTUgQXJ0aWNhIFNvbHVjaW9uZXMgVGVjbm9sb2dpY2FzIFMuTAojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgojIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgIDAyMTEwLTEzMDEsIFVTQS4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKCiN1c2Ugc3RyaWN0Owp1c2Ugd2FybmluZ3M7Cgp1c2UgRmlsZTo6QmFzZW5hbWU7CnVzZSBIVE1MOjpFbnRpdGllcyAoKTsKCiMgQ2hlY2sgZm9yIHdtaWMKbXkgJHdtaV9jbGllbnQgPSAid21pYyI7CmlmIChzeXN0ZW0oIiR3bWlfY2xpZW50ID4gL2Rldi9udWxsIDI+JjEiKSAhPSAyNTYpIHsKCXByaW50ICJbZXJyb3JdICR3bWlfY2xpZW50IG5vdCBmb3VuZC5cbiI7CglleGl0IDE7Cn0KCmlmICgkI0FSR1YgIT0gMikgewoJcHJpbnQgIlVzYWdlOiAkMCA8dGFyZ2V0IGlwPiA8dXNlcm5hbWU+IDxwYXNzd29yZD5cbiI7CglleGl0IDE7Cn0KCm15ICR0YXJnZXRfaXAgPSAkQVJHVlswXTsKbXkgJHVzZXJuYW1lID0gJEFSR1ZbMV07Cm15ICRwYXNzd29yZCA9ICRBUkdWWzJdOwoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBTVUIgcnVuX3F1ZXJ5ICgkd3FsX3F1ZXJ5KQojIFJ1bnMgdGhlIGdpdmVuIFdRTCBxdWVyeSBhbmQgcmV0dXJucyB0aGUgcmVzdWx0IGFzIGFuIGFycmF5IG9mIGhhc2hlcy4KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKc3ViIHJ1bl9xdWVyeSB7CglteSAkd3FsX3F1ZXJ5ID0gJF9bMF07CglteSBAcmVzdWx0ID0ge307CgoJJHdxbF9xdWVyeSA9fiAncy8iL1wnL2cnOwoKCSMgUnVuIHRoZSBEQ09NL1dNSSBjbGllbnQKCW15ICRvdXRwdXQgPSBgJHdtaV9jbGllbnQgLVUgJyR1c2VybmFtZSclJyRwYXNzd29yZCcgLy8kdGFyZ2V0X2lwIFwiJHdxbF9xdWVyeVwiIDI+L2Rldi9udWxsYDsKCglteSBAbGluZXMgPSBzcGxpdCgvXG4vLCAkb3V0cHV0KTsKCSMgSGVhZGVyLCBkZXNjcmlwdGlvbiwgcmVzdWx0cwoJaWYgKCQjbGluZXMgPCAyKSB7CgkJZXhpdCAxOwoJfQoJIyBEcm9wIHRoZSBoZWFkZXIKCXNoaWZ0IChAbGluZXMpOwoJCQoJIyBHZXQgY29sdW1uIG5hbWVzCglteSBAY29sdW1uX25hbWVzID0gc3BsaXQoL1x8Lywgc2hpZnQgKEBsaW5lcykpOwoKCSMgR2V0IHJvdyBkYXRhCglteSAkaWR4ID0gMDsKCWZvciAobXkgJGkgPSAwOyAkaSA8PSAkI2xpbmVzOyAkaSsrKSB7CgkJIyBDaGVjayBmb3IgZXJyb3JzCgkJaWYgKCRsaW5lc1skaV0gPX4gbS9eRVJST1IvKSB7CgkJCWV4aXQgMTsKCQl9CgoJCSMgQmxhY2sgbGlzdAoJCWlmICgkbGluZXNbJGldID1+IG0vRmlsZSAxLykgewoJCQluZXh0OwoJCX0KCQlteSBAY29sdW1uID0gc3BsaXQoL1x8LywgJGxpbmVzWyRpXSk7CgkJZm9yIChteSAkaiA9IDA7ICRqIDw9ICQjY29sdW1uX25hbWVzOyAkaisrKSB7CgkJCWlmICghIGRlZmluZWQoJGNvbHVtblskal0pKSB7CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gIiI7CgkJCX0KCQkJZWxzZSB7CgkJCQkkcmVzdWx0WyRpZHhdLT57JGNvbHVtbl9uYW1lc1skal19ID0gJGNvbHVtblskal07CgkJCX0KCQl9CgkJCgkJJGlkeCsrOwoJfQoJCglyZXR1cm4gQHJlc3VsdDsKfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBTVUIgcHJpbnRfbW9kdWxlZGF0YSAoJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEsIAojICRtb2R1bGVfZGVzY3JpcHRpb24sIEBkYXRhKQojIFByaW50cyBhIG1vZHVsZWRhdGEgWE1MIHRhZy4gJG1vZHVsZV9pdGVtLCAkbW9kdWxlX2RhdGEgYW5kCiMgJG1vZHVsZV9kZXNjcmlwdGlvbiBhcmUgdXNlZCB0byBpbmRleCB0aGUgaXRlbSwgZGF0YSBhbmQgZGVzY3JpcHRpb24KIyBYTUwgdGFncyByZXNwZWN0aXZlbHkuCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCnN1YiBwcmludF9tb2R1bGVkYXRhIHsKCW15IEBtb2R1bGVfaGVhZGVycyA9IEB7JF9bMF19OwoJbXkgQG1vZHVsZV91bml0cyAgID0gQHskX1sxXX07CglteSBAZGF0YSAgICAgICAgICAgPSBAeyRfWzJdfTsKCW15ICRyZXN1bHQ7Cglmb3JlYWNoIG15ICRlbGVtZW50IChAZGF0YSkgewoJCSRyZXN1bHQgPSAnJzsKCQlmb3IgKCRpPTA7ICRpPEBtb2R1bGVfaGVhZGVyczskaSsrKSB7CgkJCWlmIChkZWZpbmVkICgkZWxlbWVudC0+eyRtb2R1bGVfaGVhZGVyc1skaV19KSkgewoJCQkJJHJlc3VsdCAuPSAkZWxlbWVudC0+eyRtb2R1bGVfaGVhZGVyc1skaV19IC4gJG1vZHVsZV91bml0c1skaV0gLiAnOyc7CgkJCX0KCQkJZWxzZSB7CgkJCQkkcmVzdWx0IC49ICc7JzsKCQkJfQoJCX0KCQljaG9wKCRyZXN1bHQpOwoJCXByaW50ICRyZXN1bHQgLiAiXG4iOwkKCX0KfQoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIyBNYWluCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCgpteSBAcmVzdWx0ICA9IHJ1bl9xdWVyeSgiU2VsZWN0IFNlcmlhbE51bWJlciBmcm9tIFdpbjMyX09wZXJhdGluZ1N5c3RlbSIpOwojIFJlbWVtYmVyIHRvIG1hdGNoIGxlbmdodCBvZiBib3RoIGFycmF5cyBoZWFkZXJzICYgdW5pdHMKbXkgQGhlYWRlcnMgPSAoIlNlcmlhbE51bWJlciIpOwpteSBAdW5pdHMgICA9ICgiIik7CnByaW50X21vZHVsZWRhdGEgKFxAaGVhZGVycyxcQHVuaXRzLCBcQHJlc3VsdCk7CmV4aXQgMDsKCg==',0); + +-- +-- Dumping data for table `tlocal_component` +-- + +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (1,'Event 1000','module_begin\r\nmodule_name Event_1000-Citrix\r\nmodule_description\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source application\r\nmodule_eventtype\r\nmodule_eventcode 1000\r\nmodule_application\r\nmodule_end ','',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (2,'Event 1004','module_begin\r\nmodule_name Event_1004-Citrix\r\nmodule_description\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source application\r\nmodule_eventtype\r\nmodule_eventcode 1004\r\nmodule_application\r\nmodule_end ','',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (3,'Event 1202','module_begin\r\nmodule_name Event_1202-Citrix\r\nmodule_description\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source application\r\nmodule_eventtype\r\nmodule_eventcode 1202\r\nmodule_application\r\nmodule_end\r\nn ','',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (4,'Event 3621','module_begin\r\nmodule_name Event_3621\nr\nmodule_description Citrix cannot connect SQL server\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source application\r\nmodule_eventtype Error\r\nmodule_eventcode 3621\r\nmodule_application\r\nmodule_end ','Citrix cannot connect SQL server',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (5,'Event 9014','module_begin\r\nmodule_name Event_9014\nr\nmodule_description Invalid licence\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source system\r\nmodule_eventtype Error\r\nmodule_eventcode 9014\r\nmodule_application MetaFrame\r\nmodule_end ','Invalid licence',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (6,'Event 5774','module_begin\r\nmodule_name Event_5774\nr\nmodule_description Server goes to grace period (Not enough licences)\r\ndurante 96hr).\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source system\r\nmodule_eventtype Error\r\n\nmodule_eventcode 5774\r\nmodule_application MetaFrame\r\nmodule_end ','Server goes to grace period (Not enough licences)',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (7,'Event 1388','module_begin\r\nmodule_name Event_1388\nr\nmodule_description Citrix internal monitoring\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source application\r\nmodule_eventtype\r\nmodule_eventcode 1388\r\nmodule_application HCAService\r\nmodule_end ','Citrix internal monitoring',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (8,'Event 3961','module_begin\r\nmodule_name Event_3961\nr\nmodule_description The Data Collector is out of memory, and the Dynamic Store data might be out of sync. Please elect a new Data Collector and make sure you have enough memory on the new Data Collector\r\nmodule_type async_string\r\nmodule_logevent\r\nmodule_source System\r\nmodule_eventtype\r\nmodule_eventcode 3961\r\nmodule_application\r\nmodule_end ','The Data Collector is out of memory, and the Dynamic Store data might be out of sync. Please elect a new Data Collector and make sure you have enough memory on the new Data Collector',9,'',25,23,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (9,'Serv_HCA','module_begin\r\nmodule_name Serv_HCA\r\nmodule_description\r\nmodule_type generic_proc\r\nmodule_service HCAService\r\nmodule_end ','',9,'',25,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (10,'Serv_CTXcpusvnc','module_begin\r\nmodule_name Serv_CTXcpusvnc\r\nmodule_description\r\nmodule_type generic_proc\r\nmodule_service CTXCpuusync\r\n\nmodule_end ','',9,'',25,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (11,'Serv_IMA','module_begin\r\nmodule_name Serv_IMA\r\n\nmodule_description\r\nmodule_type generic_proc\r\nmodule_service IMAService\r\nmodule_end ','',9,'',25,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (13,'Serv_CTXSMA','module_begin\r\nmodule_name Serv_CTXSMA\r\nmodule_description\r\nmodule_type generic_proc\r\nmodule_service Citrix SMA Service\r\nmodule_end','',9,'',25,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (14,'Citrix_Sessions','module_begin\r\nmodule_name Citrix_Sessions\r\nmodule_description Opened active sessions on server\r\nmodule_type generic_data\r\nmodule_exec query session | grep Active | wc -l\r\nmodule_end ','Opened active sessions on server',9,'',25,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (15,'Users_Connected','module_begin\r\nmodule_name Users_Connected\r\nmodule_description Users connected to this server\r\nmodule_type generic_data\r\nmodule_exec quser | grep Active | wc -l\r\nmodule_interval 2\r\nmodule_end\r\n ','Users connected to this server',9,'',25,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (16,'Busy XML Threads','module_begin\r\nmodule_name Busy XML Threads\r\nmodule_description Total threads in the manager who manage the sessions. If there are more than XX, service fails. NOTE: Run this module only in managers\r\nmodule_type generic_data\r\nmodule_exec Typeperf '\\MAQUINA\Citrix Metaframe Presentation Server\Number of busy XML threads' -sc 1\r\nmodule_end\r\n','Total threads in the manager who manage the sessions. If there are more than XX, service fails. NOTE: Run this module only in managers',9,'',25,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (17,'CPU Load','module_begin module_name CPU Load module_type generic_data module_wmiquery SELECT LoadPercentage FROM Win32_Processor module_wmicolumn LoadPercentage module_description CPU Load (%) module_min_warning 80 module_max_warning 90 module_min_critical 91 module_max_critical 100 module_end','CPU Load (using WMI)',9,'',11,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (18,'FreeMemory','# Free Memory module_begin module_name FreeMemory module_type generic_data module_freepercentmemory module_description Free memory (%). module_min_warning 21 module_max_warning 30 module_min_critical 0 module_max_critical 20 module_end','Free memory (%).',9,'',11,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (19,'Microsoft Antivirus','module_begin module_name Microsoft Antivirus module_type generic_proc module_service MsMpSvc module_description Check if microsoft antivirus/malware service is running module_end','Check if microsoft antivirus/malware service is running',9,'',11,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (21,'Microsoft Firewall','module_begin module_name Microsoft Firewall module_type generic_proc module_service MpsSvc module_description Microsoft windows firewall status. module_end','Microsoft windows firewall status.',9,'',11,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (22,'Kaspersky Antivirus','module_begin module_name Kaspersky Antivirus module_type generic_proc module_service AVP module_description Kaspersky Antivirus module_end','Checks Karspersky Antivirus service status',9,'',11,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (23,'CPU Free','module_begin module_name CPU Free module_type generic_data module_exec echo $(( 100-`vmstat 1 2 | tail -1 | awk '{ print $15 }'`)) module_max 100 module_min 0 module_description Percentage CPU Free module_end','Percentage of free CPU',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (24,'Load Average','module_begin module_name Load Average module_type generic_data module_exec uptime | awk -F "," '{print $3}' | awk '{print $3}' | tr ­d "\n" module_description Average load last minute module_end ','Load average for last minute',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (25,'Memory Free','module_begin module_name Memory Free module_type generic_data module_freepercentmemory module_description Percentage Mem Free module_end ','Percentage of free memory',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (26,'Disk Free','module_begin module_name Disk Free module_type generic_data module_freepercentdisk / module_description Percentage Free Disk module_end ','Percentage of free disk',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (27,'SSH Status','module_begin module_name SSH Status module_type generic_proc module_exec ps -Af | grep sshd | grep -v "grep" | wc -l module_description Check ssh service module_end','Monitors SSH server status',1,'',43,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (28,'Free i-nodes','module_begin module_name Free i-nodes module_type generic_data module_exec df -i | grep -E "/$" | tail -1 | awk '{print 100-(($3/$2)*100)}' module_max 100 module_min 0 module_description Percentage Free i-nodes module_end ','Percentage of free i-nodes',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (29,'FreeDiskC','module_begin module_name FreeDiskC module_type generic_data module_freepercentdisk C: module_description Free space on drive C: (%) module_min_warning 31 module_max_warning 40 module_min_critical 0 module_max_critical 30 module_end ','Free space on disk C: (%)',9,'',11,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (30,'Windows_Update_LastRun','module_begin module_name Windows_Update_LastRun module_type generic_data_string module_exec getreg LM "SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" SetupWizardLaunchTime module_description Last date and time user launch microsoft Windows update module_end','Last date and time user launch microsoft Windows update',9,'',11,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (31,'cpu_user','module_begin module_name cpu_user module_type generic_data module_interval 1 module_exec vmstat -n0 1 2 | tail -1 | awk '{ print $15 }' module_max 100 module_min 0 module_description User CPU Usage (%) module_end','User CPU Usage (%)',4,'',47,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (32,'cpu_system','module_begin module_name cpu_system module_type generic_data module_interval 1 module_exec vmstat -n0 1 2 | tail -1 | awk '{ print $16 }' module_max 100 module_min 0 module_description System CPU Usage (%) module_end','System CPU Usage (%)',4,'',47,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (33,'Load Average','module_begin module_name Load Average module_type generic_data module_exec uptime | cut -d "," -f 4 | cut -d ":" -f 2 | sed "s/ //g" module_description Average process in CPU (Last minute) module_end ','Average process in CPU (Last minute)',4,'',47,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (34,'disk_root_free','module_begin module_name disk_root_free module_type generic_data module_exec df -kh / | tail -1 | awk '{ print 100-$5 }' module_max 100 module_min 0 module_description Free disk Percentage of root partition module_end','Free disk Percentage of root partition',4,'',47,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (35,'memfree','module_begin module_name memfree module_type generic_data module_exec vmstat -H 1 2 | tail -1 | awk '{print $5}' module_description Unused RAM memory module_end ','Free memory on system',4,'',47,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (36,'sshDaemon','module_begin module_name sshDaemon module_type generic_proc module_exec ps -Af | grep sshd | grep -v "grep" | wc -l | sed "s/ //g" module_end ','Check if SSH daemon is running',4,'',47,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (37,'cpu_user','module_begin module_name cpu_user module_type generic_data module_interval 1 module_exec sar 1 2 | tail -1 | awk '{ print $2 }' module_max 100 module_min 0 module_description User CPU Usage (%) module_min_warning 70 module_max_warning 90 module_min_critical 91 module_max_critical 100 module_end','User CPU Usage (%)',8,'',48,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (38,'Load Average','module_begin module_name Load Average module_type generic_data module_exec uptime | sed 's/.*load averages: //'|awk '{print $1}' module_description Average process in CPU (Last minute) module_end ','Average process in CPU (Last minute)',8,'',48,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (39,'Cache mem free','module_begin module_name Cache mem free module_type generic_data module_exec vm_stat | grep 'Pages free'| awk '{print $3/256}' module_description Free cache memory in MB module_min_warning 500 module_max_warning 600 module_min_critical 100 module_max_critical 499 module_end ','Free cache memory in MB',8,'',48,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (40,'Free disk Percentage of root partition','module_begin module_name disk_root_free module_type generic_data module_exec df -kh / | tail -1 | awk '{ print 100-$5 }' module_max 100 module_min 0 module_description Free disk Percentage of root partition module_min_warning 70 module_max_warning 90 module_min_critical 91 module_max_critical 100 module_end','Free disk Percentage of root partition',8,'',48,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (41,'disk_usage_/','module_begin module_name disk_usage_/ module_type generic_data module_exec df -P | grep -e "/$" | awk '{print $5}' | tr -d % module_description Disk usage on / (%) module_end','Disk usage on / (%)',5,'',44,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (42,'Swap_Free','module_begin module_name Swap_Free module_type generic_data module_exec /usr/sbin/swapinfo -t | grep memory | tr -d "%" | awk '{ print 100-$5 }' module_description Unused swap memory module_end ','Unused swap memory',5,'',44,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (43,'RAM_Free','module_begin module_name RAM_Free module_type generic_data module_exec /usr/sbin/swapinfo -t | grep memory | awk '{print $4}' module_description Unused RAM memory module_end ','Unused RAM memory',5,'',44,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (44,'CPU_User','module_begin module_name CPU_User module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $16 }' module_description % of USER CPU module_end','% of USER CPU',5,'',44,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (45,'CPU_System','module_begin module_name CPU_System module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $17 }' module_description % of system CPU module_end ','% of system CPU',5,'',44,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (46,'disk_root_free','module_begin module_name disk_root_free module_type generic_data module_exec df -k / | tail -1 | tr -d "%" | awk '{ print 100-$5 }' module_max 100 module_min 0 module_description Free disk Percentage of root partition module_end','Free disk Percentage of root partition',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (47,'Swap_Free','module_begin module_name Swap_Free module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $4 }' module_description Unused swap memory module_end','Unused swap memory',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (48,'RAM_Free','module_begin module_name RAM_Free module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $5 }' module_description Unused RAM memory module_end','Unused RAM memory',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (49,'CPU_System','module_begin module_name CPU_System module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $21 }' module_description % of system CPU module_end','% of system CPU',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (50,'Disk_Seek_Operations','module_begin module_name Disk_Seek_Operations module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $14 }' module_description Disk Seek operations module_end','Disk Seek operations',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (51,'Pandora_Agent_RAM','module_begin module_name Pandora_Agent_RAM module_type generic_data module_exec ps -Afly | grep perl | grep -v grep | awk '{ print $9 }' module_description Return size in KB of memory used by process Pandora module_end ','Return size in KB of memory used by process Pandora',2,'',45,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (52,'InetdDaemon','module_begin module_name InetdDaemon module_type generic_proc module_exec ps -Af | grep inetd | grep -v "grep" | wc -l | awk '{ print $1 }' module_end','Check inetd daemon running',2,'',45,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (53,'Pandora_Agent_RAM','module_begin module_name Pandora_Agent_RAM module_type generic_data module_exec ps axu | grep perl | grep -v grep | awk '{ print $4 }' | tr "," "." module_end ','Return RAM used by pandora fms agent.',3,'',46,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (54,'InetdDaemon','module_begin module_name InetdDaemon module_type generic_proc module_exec ps -Af | grep inetd | grep -v "grep" | wc -l | awk '{ print $1 }' module_end ','Check inetddaemon running in system',3,'',46,2,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (55,'disk_root_free','module_begin module_name disk_root_free module_type generic_data module_exec df -k / | tail -1 | awk '{ print 100-$4 }' module_max 100 module_min 0 module_description Free disk Percentage of root partition module_end','Free disk Percentage of root partition',3,'',46,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (56,'OpenedFiles ','module_begin module_name OpenedFiles module_type generic_data module_exec lsof | wc -l module_description Total files opened in system module_end ','Total files opened in system ',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (57,'Zombie processes','module_begin module_name Zombie processes module_type generic_data module_exec ps ­eos | grep Z | wc ­l | tr ­d “\n” module_description Number of zombie processes module_end ','Number of zombie processes ',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tlocal_component` (`id`, `name`, `data`, `description`, `id_os`, `os_version`, `id_network_component_group`, `type`, `max`, `min`, `module_interval`, `id_module_group`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `post_process`, `unit`, `wizard_level`, `macros`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `tags`, `disabled_types_event`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (58,'Disk_IO_Wait','module_begin module_name Disk_IO_Wait module_type generic_data module_exec top -n 3 -c | grep "Cpu" | awk '{ print $6 }' | grep -o "[0-9]*" | tail -1 module_description Simple approach to IO/Wait monitoring. module_end ','Simple approach to IO/Wait monitoring. ',1,'',43,1,0,0,0,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,0.000000000000000,NULL,'basic',NULL,'','','',0,0,0,'','',0,0,0,0,0,0,0,0,0,0,0); + -- Categoria field is used to segregate several types -- (plugin, agents, network) on their data -- types, could be used or could be avoided and use directly primary key (id_tipo) @@ -299,6 +404,7 @@ INSERT INTO tmodule VALUES (2,'Network module'); INSERT INTO tmodule VALUES (4,'Plugin module'); INSERT INTO tmodule VALUES (5,'Prediction module'); INSERT INTO tmodule VALUES (6,'WMI module'); +INSERT INTO tmodule VALUES (7, 'Web module'); INSERT INTO `tnetwork_component` (`id_nc`, `name`, `description`, `id_group`, `type`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `id_modulo`, `id_plugin`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `max_timeout`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `post_process`, `wizard_level`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `tags`, `disabled_types_event`, `module_macros`) VALUES (1,'OS Total process','Total process in Operating System (UNIX MIB)',13,15,0,0,300,0,'','','public','HOST-RESOURCES-MIB::hrSystemProcesses.0 ',4,2,0,NULL,NULL,NULL,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,NULL,NULL,NULL,0,0,0.0000000000000,'basic','','','','','',''); INSERT INTO `tnetwork_component` (`id_nc`, `name`, `description`, `id_group`, `type`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `id_modulo`, `id_plugin`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `max_timeout`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `post_process`, `wizard_level`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `tags`, `disabled_types_event`, `module_macros`) VALUES (2,'OS CPU Load (1 min)','CPU Load in Operating System (UNIX MIB)',13,15,0,0,300,0,'','','public','UCD-SNMP-MIB::laLoad.1',4,2,0,NULL,NULL,NULL,0,1,0.00,0.00,NULL,0.00,0.00,NULL,0,NULL,NULL,NULL,0,0,0.0000000000000,'basic','','','','','',''); @@ -1042,3 +1148,101 @@ INSERT INTO `ttag` VALUES (1,'network','Network equipment','http://artica.e INSERT INTO `tevent_response` VALUES (1,'Ping to host','Ping to the agent host','ping -c 5 _agent_address_','command',0,620,500,0,''),(2,'SSH to host','Connect via SSH to the agent','http://localhost:8022/anyterm.html?param=_User_@_agent_address_','url',0,800,450,0,'User'),(3,'Create incident from event','Create a incident from the event with the standard incidents system of Pandora FMS','index.php?sec=workspace&sec2=operation/incidents/incident_detail&insert_form&from_event=_event_id_','url',0,0,0,1,''),(4,'Create Integria IMS incident from event','Create a incident from the event with integria incidents system of Pandora FMS. Is necessary to enable and configure the Integria incidents in Pandora FMS setup.','index.php?sec=workspace&sec2=operation/integria_incidents/incident&tab=editor&from_event=_event_id_','url',0,0,0,1,''),(5,'Restart agent','Restart the agent with using UDP protocol. To use this response is necessary to have installed Pandora FMS server and console in the same machine.','/usr/share/pandora_server/util/udp_client.pl _agent_address_ 41122 "REFRESH AGENT"','command',0,620,500,0,''),(6,'Ping to module agent host','Ping to the module agent host','ping -c 5 _module_address_','command',0,620,500,0,''); INSERT INTO `tupdate_settings` VALUES ('current_update', '412'), ('customer_key', 'PANDORA-FREE'), ('updating_binary_path', 'Path where the updated binary files will be stored'), ('updating_code_path', 'Path where the updated code is stored'), ('dbname', ''), ('dbhost', ''), ('dbpass', ''), ('dbuser', ''), ('dbport', ''), ('proxy', ''), ('proxy_port', ''), ('proxy_user', ''), ('proxy_pass', ''); + +-- +-- Dumping data for table `tskin` +-- +INSERT INTO `tskin` VALUES (1,'skin default', 'skin_default', 'Default skin for Pandora FMS web console', 1); +INSERT INTO `tskin` VALUES (2,'Legacy', 'legacy', 'Skin of the visual style of Pandora FMS 4.x and previous versions', 1); + +-- +-- Dumping data for table `tcollection` +-- +INSERT INTO `tcollection` VALUES (1,'Apache Enterprise Plugin','apache_plugin',0,'Apache Enterprise Plugin to monitor Apache web server using a Perl script.',0); + +INSERT INTO `tpolicies` VALUES (1,'Basic Web Checks','Basic checks to monitoring webs',13,0); +INSERT INTO `tpolicies` VALUES (2,'Basic Windows Local Monitoring','Basic checks to monitoring Windows Systems',2,0); +INSERT INTO `tpolicies` VALUES (3,'Basic Centos/RedHat Local Monitoring','Basic local checks to monitoring Centos/RedHat systems',2,0); +INSERT INTO `tpolicies` VALUES (4,'Basic SuSe Local Monitoring','Basic local checks to monitoring SuSe systems',2,0); +INSERT INTO `tpolicies` VALUES (5,'Basic Debian/Ubuntu Local Monitoring','Basic local checks to monitoring Debian/Ubuntu systems',2,0); +INSERT INTO `tpolicies` VALUES (6,'Basic AIX Local Monitoring','Basic local checks to monitoring AIX systems',2,0); +INSERT INTO `tpolicies` VALUES (7,'Basic HP-UX Local Monitoring','Basic local checks to monitoring HP/UX systems',2,0); +INSERT INTO `tpolicies` VALUES (8,'Basic Solaris Local Monitoring','Basic local checks to monitoring Solaris systems',2,0); +INSERT INTO `tpolicies` VALUES (9,'Basic Remote Checks','Basic Remote Checks (ping, latency, ports..)',2,0); + +INSERT INTO `tpolicy_alerts` VALUES (1,1,2,1,'',0,0,0); +INSERT INTO `tpolicy_alerts` VALUES (2,1,1,1,'',0,0,0); +INSERT INTO `tpolicy_alerts` VALUES (3,1,4,1,'',0,0,0); + +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (1,'',9,'','Check 80 port','',0,0,300,80,'','','public','',1,1,2,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'',NULL,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (1,'',9,'','Check 443 port','',0,0,300,80,'','','public','',1,1,2,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'',NULL,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (1,'',30,'','Check Web Latency','',0,0,0,0,'','','public','',1,1,7,0,0,'Pandora FMS 3.0 / Webcheck','1','task_begin get http://www.google.com check_string iGoogle task_end',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'',NULL,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (1,'',31,'','Check Web Content','',0,0,0,0,'','','public','',1,1,7,0,0,'Pandora FMS 3.0 / Webcheck','1','task_begin get http://www.google.com check_string iGoogle task_end',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'',NULL,'','',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (2,'module_begin module_name WMI Service module_type generic_proc module_service winmgmt module_description WMI Service enabled module_end ',2,'','WMI Service','',0,0,1,0,'','','','',3,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (2,'module_begin module_name Account deleted module_type async_string module_logevent module_source Security module_eventcode 4726 module_description Account deleted module_end ',23,'','Account deleted','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (8,'module_begin module_name CPU % module_type generic_data module_exec vmstat 1 1 | tail -1| awk '{print (100-$NF)}' module_description CPU usage % module_unit % module_end',1,'','CPU %','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (8,'module_begin module_name CPU User module_type generic_data module_exec vmstat 1 1 | tail -1| awk '{print $(NF-2)}' module_description CPU user usage % module_unit % module_end ',1,'','CPU User','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (8,'module_begin module_name Load Average module_type generic_data module_exec uptime | awk '{print $(NF-2)}' | tr -d ',' module_description Load average module_end',1,'','Load Average','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (8,'module_begin module_name Memory Free % module_type generic_data module_freepercentmemory module_description Percentage Mem Free module_end ',1,'','Memory Free %','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,8.00,15.00,'0',0.00,7.00,'0',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (8,'module_begin module_name Total processes module_type generic_data module_exec ps -A | wc -l | awk '{print $1}' module_description Total processes module_end ',1,'','Total processes','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (8,'module_begin module_name Uptime module_type generic_data_string module_exec uptime |sed s/us\.*$//g | sed s/,\.*$//g module_description Host Up time module_end ',1,'','Uptime','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (8,'module_begin module_name Swap Free % module_type generic_data module_exec swap -l |tail -1 | awk '{print $NF / $(NF-1) * 100}' module_unit % module_description Swap memory available in % module_end ',1,'','Swap Free %','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (8,'module_begin module_name Service sshd status module_type generic_proc module_exec netstat -anu | grep LISTEN | grep sshd | wc -l | awk '{print $1}' module_end',2,'','Service sshd status','',0,0,1,0,'','','','',3,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (9,'',6,'','Host Alive','',0,0,300,0,'','','','',2,1,2,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (9,'',9,'','Check HTTP Server','',0,0,300,80,'','','','',3,1,2,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (9,'',9,'','Check SSH Server','',0,0,300,22,'','','','',2,1,2,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (9,'',7,'','Host Latency','',0,0,300,0,'','','','',2,1,2,0,0,'','','',0,0.000000000000000,0,0,0,'',1,80.00,149.00,'',150.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (2,'module_begin module_name Free percent disk C: module_type generic_data module_freepercentdisk C: module_end ',1,'','Free percent disk C:','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (2,'module_begin module_name Memory Free % module_type generic_data module_freepercentmemory module_description Percentage Mem Free module_end ',1,'','Memory Free %','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,8.00,15.00,'0',0.00,7.00,'0',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (2,'module_begin module_name CPU % module_type generic_data module_cpuusage all module_unit % module_end ',1,'','CPU %','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,80.00,90.00,'',91.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (2,'module_begin module_name Processor User Time % module_type generic_data module_perfcounter \Processor Information(_Total)\% User Time module_cooked 1 module_description Processor_User_Time (%) module_end ',1,'','Processor User Time %','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.001000000000000,0,0,0,'',1,75.00,84.00,'',85.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (2,'module_begin module_name Total processes module_type generic_data module_exec tasklist | wc -l | gawk "{print $1}" module_end ',1,'','Total processes','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (2,'module_begin module_name Load Average module_type generic_data module_perfcounter \System(_Total)\Processor Queue Length module_end ',1,'','Load Average','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (2,'module_begin module_name Uptime module_type generic_data_string module_exec net statistics server | grep since | gawk "{print \"Up since \"$3\" \"$4\" \"$5}" module_end ',1,'','Uptime','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (7,'module_begin module_name Memory Free % module_type generic_data module_exec echo "" > /tmp/hpvm_toptest; top -d 1 -f /tmp/hpvm_toptest 2>/dev/null 1>/dev/null; cat /tmp/hpvm_toptest | grep -i Memory | head -1 | awk '{print $8/($2+$5) * 100}' module_end ',1,'','Memory Free %','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (7,'module_begin module_name CPU % module_type generic_data module_cpuusage all module_unit % module_end ',1,'','CPU %','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (7,'module_begin module_name CPU User module_type generic_data module_exec vmstat 1 2 | tail -1 | awk '{ print $(16) }' module_description % of User CPU module_unit % module_end ',1,'','CPU User','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (7,'module_begin module_name Total processes module_type generic_data module_exec echo $(((`ps -e | wc -l`)-1)) | tr -d “\n” module_description Total processes module_end ',1,'','Total processes','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (7,'module_begin module_name Zombie processes module_type generic_data module_exec ps -­elf | awk '$2~/'Z'/{print $2}' | wc -l | tr -d "\n" module_description Zombie processes module_end ',1,'','Zombie processes','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (7,'module_begin module_name Service sshd status module_type generic_proc module_exec ps -ef | grep -v grep | grep "/opt/ssh/sbin/sshd" | wc -l module_description SSH running module_end ',2,'','Service sshd status','',0,0,1,0,'','','','',3,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (6,'module_begin module_name CPU % module_type generic_data module_exec sar 1 | tail -1 | awk '{print 100 - $5}' module_description CPU usage in % module_unit % module_end',1,'','CPU %','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (6,'module_begin module_name Memory Free % module_type generic_data module_exec svmon -G|grep memory | awk '{print (1- $3/$2 )*100}' module_description Percentage Mem Free module_end ',1,'','Memory Free %','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (6,'module_begin module_name CPU User module_type generic_data module_exec sar 1 | tail -1 | awk '{print $2}' module_description CPU usage in % module_unit % module_end',1,'','CPU User','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (6,'module_begin module_name Load Average module_type generic_data module_exec uptime | awk '{print $(NF-2)*1}' module_description Average process in CPU (Last minute) module_end',1,'','Load Average','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (6,'module_begin module_name Uptime module_type generic_data_string module_exec uptime |sed "s/us\.*$//g" | sed "s/,\.*$//g" module_description Host Up time module_end ',1,'','Uptime','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (6,'module_begin module_name Pagination use module_type generic_data module_exec lsps -s | tail -1 | awk '{print $2+0}' module_end',1,'','Pagination use','',0,0,1,0,'','','','',1,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (6,'module_begin module_name Service sshd status module_type generic_proc module_exec lssrc -a | grep ssh | grep active module_end',2,'','Service sshd status','',0,0,1,0,'','','','',3,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (4,'module_begin module_name Blocks in module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $9}' module_description Blocks in. i.e blocks received from device module_end',1,'','Blocks in','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (4,'module_begin module_name Blocks out module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $(10)}' module_description Blocks out. i.e blocks sent from device module_end',1,'','Blocks out','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (4,'module_begin module_name CPU % module_type generic_data module_cpuusage all module_unit % module_end',1,'','CPU %','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (4,'module_begin module_name Memory Free % module_type generic_data module_exec free | grep -i mem | awk '{print ($4+$NF)/$2 * 100}' module_description Percentage Mem Free module_end',1,'','Memory Free %','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (4,'module_begin module_name I/O Lock module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $(16)}' module_description I/O Wait Disk module_end',1,'','I/O Lock','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (4,'module_begin module_name Total processes module_type generic_data module_exec ps ax | tail -n +2 | wc -l module_description Total processes module_end',1,'','Total processes','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (4,'module_begin module_name Load Average module_type generic_data module_exec uptime | awk '{print $(NF-2)*1}' module_description Average process in CPU (Last minute) module_end',1,'','Load Average','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (4,'module_begin module_name Service sshd status module_type generic_proc module_exec rcsshd status | grep running | wc -l module_end',2,'','Service sshd status','',0,0,1,0,'','','','',3,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (7,'module_begin module_name Load Average module_type generic_data module_exec uptime | awk '{print $(NF-2)}' | tr -d ',' module_description System load average module_end ',1,'','Load Average','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (7,'module_begin module_name Uptime module_type generic_data_string module_exec uptime |sed s/us\.*$//g | sed s/,\.*$//g module_description Host Up time module_end ',3,'','Uptime','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (4,'module_begin module_name Uptime module_type generic_data_string module_exec uptime |sed s/us\.*$//g | sed s/,\.*$//g module_description Host Up time module_end',3,'','Uptime','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (5,'module_begin module_name Blocks in module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $9}' module_description Blocks in. i.e blocks received from device module_end ',1,'','Blocks in','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (5,'module_begin module_name Blocks out module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $(10)}' module_description Blocks out. i.e blocks sent from device module_end',1,'','Blocks out','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (5,'module_begin module_name CPU % module_type generic_data module_cpuusage all module_unit % module_end',1,'','CPU %','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (5,'module_begin module_name Memory Free % module_type generic_data module_exec free | grep -i mem | awk '{print ($4+$NF)/$2 * 100}' module_description Percentage Mem Free module_unit % module_end',1,'','Memory Free %','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (5,'module_begin module_name I/O Lock module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $(16)}' module_description I/O Wait Disk module_end',1,'','I/O Lock','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (5,'module_begin module_name Total processes module_type generic_data module_exec ps ax | tail -n +2 | wc -l module_description Total processes module_end',1,'','Total processes','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (5,'module_begin module_name Uptime module_type generic_data_string module_exec uptime |sed s/us\.*$//g | sed s/,\.*$//g module_description Host Up time module_end',3,'','Uptime','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (5,'module_begin module_name Load Average module_type generic_data module_exec uptime | awk '{print $(NF-2)*1}' module_description Average process in CPU (Last minute) module_end',1,'','Load Average','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (5,'module_begin module_name Service sshd status module_type generic_proc module_exec netstat -lptn | grep sshd | wc -l module_end ',2,'','Service sshd status','',0,0,1,0,'','','','',3,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (3,'module_begin module_name Blocks in module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $9}' module_description Blocks in. i.e blocks received from device module_end',1,'','Blocks in','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (3,'module_begin module_name Blocks out module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $(10)}' module_description Blocks out. i.e blocks sent from device module_end',1,'','Blocks out','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (3,'module_begin module_name CPU % module_type generic_data module_cpuusage all module_unit % module_end',1,'','CPU %','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (3,'module_begin module_name Memory Free % module_type generic_data module_exec free | grep -i mem | awk '{print ($4+$NF)/$2 * 100}' module_description Percentage Mem Free module_unit % module_end',1,'','Memory Free %','%',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (3,'module_begin module_name I/O Lock module_type generic_data module_exec vmstat 1 1 | tail -1 | awk '{print $(16)}' module_description I/O Wait Disk module_end',1,'','I/O Lock','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (3,'module_begin module_name Total processes module_type generic_data module_exec ps ax | tail -n +2 | wc -l module_description Total processes module_end',1,'','Total processes','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (3,'module_begin module_name Uptime module_type generic_data_string module_exec uptime |sed s/us\.*$//g | sed s/,\.*$//g module_description Host Up time module_end',3,'','Uptime','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (3,'module_begin module_name Load Average module_type generic_data module_exec uptime | awk '{print $(NF-2)*1}' module_description Average process in CPU (Last minute) module_end',1,'','Load Average','',0,0,1,0,'','','','',4,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); +INSERT INTO `tpolicy_modules` (`id_policy`, `configuration_data`, `id_tipo_modulo`, `description`, `name`, `unit`, `max`, `min`, `module_interval`, `tcp_port`, `tcp_send`, `tcp_rcv`, `snmp_community`, `snmp_oid`, `id_module_group`, `flag`, `id_module`, `disabled`, `id_export`, `plugin_user`, `plugin_pass`, `plugin_parameter`, `id_plugin`, `post_process`, `prediction_module`, `max_timeout`, `max_retries`, `custom_id`, `history_data`, `min_warning`, `max_warning`, `str_warning`, `min_critical`, `max_critical`, `str_critical`, `min_ff_event`, `custom_string_1`, `custom_string_2`, `custom_string_3`, `custom_integer_1`, `custom_integer_2`, `pending_delete`, `critical_instructions`, `warning_instructions`, `unknown_instructions`, `critical_inverse`, `warning_inverse`, `id_category`, `module_ff_interval`, `quiet`, `cron_interval`, `macros`, `disabled_types_event`, `module_macros`, `min_ff_event_normal`, `min_ff_event_warning`, `min_ff_event_critical`, `each_ff`, `ff_timeout`, `dynamic_interval`, `dynamic_max`, `dynamic_min`, `prediction_sample_window`, `prediction_samples`, `prediction_threshold`) VALUES (3,'module_begin module_name Service sshd status module_type generic_proc module_exec netstat -lptn | grep sshd | wc -l module_end',2,'','Service sshd status','',0,0,1,0,'','','','',3,1,1,0,0,'','','',0,0.000000000000000,0,0,0,'',1,0.00,0.00,'',0.00,0.00,'',0,NULL,NULL,NULL,0,0,0,'','','',0,0,0,0,0,'* * * * *','','{\"going_unknown\":0}','W10=',0,0,0,0,0,0,0,0,0,0,0); + +-- +-- Dumping data for table `tprofile_view` +-- +INSERT INTO `tprofile_view` (`id_profile`, `sec`, `sec2`, `sec3`) VALUES (5, '*', '*','*'); \ No newline at end of file