当ndo2db产生数据库乱码时请用下面两个文件:
适用版本:ndoutils-2.0.0
数据库初始化mysql.sql:
-
-- phpMyAdmin SQL Dump
-
-- version 2.11.8.1
-
-- http://www.phpmyadmin.net
-
-- Host: localhost
-
-- Generation Time: Jan 03, 2009 at 09:24 AM
-
-- Server version: 5.0.45
-
-- PHP Version: 5.2.6
-
-
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
-
-
-
--
-
-- Database: `nagios`
-
--
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_acknowledgements`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_acknowledgements` (
-
`acknowledgement_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`entry_time_usec` int(11) NOT NULL default '0',
-
`acknowledgement_type` smallint(6) NOT NULL default '0',
-
`object_id` int(11) NOT NULL default '0',
-
`state` smallint(6) NOT NULL default '0',
-
`author_name` varchar(64) NOT NULL default '',
-
`comment_data` varchar(255) NOT NULL default '',
-
`is_sticky` smallint(6) NOT NULL default '0',
-
`persistent_comment` smallint(6) NOT NULL default '0',
-
`notify_contacts` smallint(6) NOT NULL default '0',
-
PRIMARY KEY (`acknowledgement_id`),
-
UNIQUE KEY `instance_id` (`instance_id`, `entry_time`, `entry_time_usec`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Current and historical host and service acknowledgements';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_commands`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_commands` (
-
`command_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`config_type` smallint(6) NOT NULL default '0',
-
`object_id` int(11) NOT NULL default '0',
-
`command_line` varchar(255) NOT NULL default '',
-
PRIMARY KEY (`command_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`config_type`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Command definitions';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_commenthistory`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_commenthistory` (
-
`commenthistory_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`entry_time_usec` int(11) NOT NULL default '0',
-
`comment_type` smallint(6) NOT NULL default '0',
-
`entry_type` smallint(6) NOT NULL default '0',
-
`object_id` int(11) NOT NULL default '0',
-
`comment_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`internal_comment_id` int(11) NOT NULL default '0',
-
`author_name` varchar(64) NOT NULL default '',
-
`comment_data` varchar(255) NOT NULL default '',
-
`is_persistent` smallint(6) NOT NULL default '0',
-
`comment_source` smallint(6) NOT NULL default '0',
-
`expires` smallint(6) NOT NULL default '0',
-
`expiration_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`deletion_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`deletion_time_usec` int(11) NOT NULL default '0',
-
PRIMARY KEY (`commenthistory_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`comment_time`,`internal_comment_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Historical host and service comments';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_comments`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_comments` (
-
`comment_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`entry_time_usec` int(11) NOT NULL default '0',
-
`comment_type` smallint(6) NOT NULL default '0',
-
`entry_type` smallint(6) NOT NULL default '0',
-
`object_id` int(11) NOT NULL default '0',
-
`comment_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`internal_comment_id` int(11) NOT NULL default '0',
-
`author_name` varchar(64) NOT NULL default '',
-
`comment_data` varchar(255) NOT NULL default '',
-
`is_persistent` smallint(6) NOT NULL default '0',
-
`comment_source` smallint(6) NOT NULL default '0',
-
`expires` smallint(6) NOT NULL default '0',
-
`expiration_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
PRIMARY KEY (`comment_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`comment_time`,`internal_comment_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_configfiles`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_configfiles` (
-
`configfile_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`configfile_type` smallint(6) NOT NULL default '0',
-
`configfile_path` varchar(255) NOT NULL default '',
-
PRIMARY KEY (`configfile_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`configfile_type`,`configfile_path`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Configuration files';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_configfilevariables`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_configfilevariables` (
-
`configfilevariable_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`configfile_id` int(11) NOT NULL default '0',
-
`varname` varchar(64) NOT NULL default '',
-
`varvalue` varchar(255) NOT NULL default '',
-
PRIMARY KEY (`configfilevariable_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Configuration file variables';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_conninfo`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_conninfo` (
-
`conninfo_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`agent_name` varchar(32) NOT NULL default '',
-
`agent_version` varchar(8) NOT NULL default '',
-
`disposition` varchar(16) NOT NULL default '',
-
`connect_source` varchar(16) NOT NULL default '',
-
`connect_type` varchar(16) NOT NULL default '',
-
`connect_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`disconnect_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`last_checkin_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`data_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`data_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`bytes_processed` int(11) NOT NULL default '0',
-
`lines_processed` int(11) NOT NULL default '0',
-
`entries_processed` int(11) NOT NULL default '0',
-
PRIMARY KEY (`conninfo_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='NDO2DB daemon connection information';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_contactgroups`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_contactgroups` (
-
`contactgroup_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`config_type` smallint(6) NOT NULL default '0',
-
`contactgroup_object_id` int(11) NOT NULL default '0',
-
`alias` varchar(255) NOT NULL default '',
-
PRIMARY KEY (`contactgroup_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`contactgroup_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Contactgroup definitions';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_contactgroup_members`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_contactgroup_members` (
-
`contactgroup_member_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`contactgroup_id` int(11) NOT NULL default '0',
-
`contact_object_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`contactgroup_member_id`),
-
UNIQUE KEY `instance_id` (`contactgroup_id`,`contact_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Contactgroup members';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_contactnotificationmethods`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_contactnotificationmethods` (
-
`contactnotificationmethod_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`contactnotification_id` int(11) NOT NULL default '0',
-
`start_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`start_time_usec` int(11) NOT NULL default '0',
-
`end_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`end_time_usec` int(11) NOT NULL default '0',
-
`command_object_id` int(11) NOT NULL default '0',
-
`command_args` varchar(255) NOT NULL default '',
-
PRIMARY KEY (`contactnotificationmethod_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`contactnotification_id`,`start_time`,`start_time_usec`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Historical record of contact notification methods';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_contactnotifications`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_contactnotifications` (
-
`contactnotification_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`notification_id` int(11) NOT NULL default '0',
-
`contact_object_id` int(11) NOT NULL default '0',
-
`start_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`start_time_usec` int(11) NOT NULL default '0',
-
`end_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`end_time_usec` int(11) NOT NULL default '0',
-
PRIMARY KEY (`contactnotification_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`contact_object_id`,`start_time`,`start_time_usec`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Historical record of contact notifications';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_contacts`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_contacts` (
-
`contact_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`config_type` smallint(6) NOT NULL default '0',
-
`contact_object_id` int(11) NOT NULL default '0',
-
`alias` varchar(64) NOT NULL default '',
-
`email_address` varchar(255) NOT NULL default '',
-
`pager_address` varchar(64) NOT NULL default '',
-
`minimum_importance` int(11) NOT NULL default '0',
-
`host_timeperiod_object_id` int(11) NOT NULL default '0',
-
`service_timeperiod_object_id` int(11) NOT NULL default '0',
-
`host_notifications_enabled` smallint(6) NOT NULL default '0',
-
`service_notifications_enabled` smallint(6) NOT NULL default '0',
-
`can_submit_commands` smallint(6) NOT NULL default '0',
-
`notify_service_recovery` smallint(6) NOT NULL default '0',
-
`notify_service_warning` smallint(6) NOT NULL default '0',
-
`notify_service_unknown` smallint(6) NOT NULL default '0',
-
`notify_service_critical` smallint(6) NOT NULL default '0',
-
`notify_service_flapping` smallint(6) NOT NULL default '0',
-
`notify_service_downtime` smallint(6) NOT NULL default '0',
-
`notify_host_recovery` smallint(6) NOT NULL default '0',
-
`notify_host_down` smallint(6) NOT NULL default '0',
-
`notify_host_unreachable` smallint(6) NOT NULL default '0',
-
`notify_host_flapping` smallint(6) NOT NULL default '0',
-
`notify_host_downtime` smallint(6) NOT NULL default '0',
-
PRIMARY KEY (`contact_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`contact_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Contact definitions';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_contactstatus`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_contactstatus` (
-
`contactstatus_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`contact_object_id` int(11) NOT NULL default '0',
-
`status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`host_notifications_enabled` smallint(6) NOT NULL default '0',
-
`service_notifications_enabled` smallint(6) NOT NULL default '0',
-
`last_host_notification` datetime NOT NULL default '0000-00-00 00:00:00',
-
`last_service_notification` datetime NOT NULL default '0000-00-00 00:00:00',
-
`modified_attributes` int(11) NOT NULL default '0',
-
`modified_host_attributes` int(11) NOT NULL default '0',
-
`modified_service_attributes` int(11) NOT NULL default '0',
-
PRIMARY KEY (`contactstatus_id`),
-
UNIQUE KEY `contact_object_id` (`contact_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Contact status';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_contact_addresses`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_contact_addresses` (
-
`contact_address_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`contact_id` int(11) NOT NULL default '0',
-
`address_number` smallint(6) NOT NULL default '0',
-
`address` varchar(255) NOT NULL default '',
-
PRIMARY KEY (`contact_address_id`),
-
UNIQUE KEY `contact_id` (`contact_id`,`address_number`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Contact addresses';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_contact_notificationcommands`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_contact_notificationcommands` (
-
`contact_notificationcommand_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`contact_id` int(11) NOT NULL default '0',
-
`notification_type` smallint(6) NOT NULL default '0',
-
`command_object_id` int(11) NOT NULL default '0',
-
`command_args` varchar(255) NOT NULL default '',
-
PRIMARY KEY (`contact_notificationcommand_id`),
-
UNIQUE KEY `contact_id` (`contact_id`,`notification_type`,`command_object_id`,`command_args`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Contact host and service notification commands';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_customvariables`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_customvariables` (
-
`customvariable_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`object_id` int(11) NOT NULL default '0',
-
`config_type` smallint(6) NOT NULL default '0',
-
`has_been_modified` smallint(6) NOT NULL default '0',
-
`varname` varchar(255) NOT NULL default '',
-
`varvalue` varchar(255) NOT NULL default '',
-
PRIMARY KEY (`customvariable_id`),
-
UNIQUE KEY `object_id_2` (`object_id`,`config_type`,`varname`),
-
KEY `varname` (`varname`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Custom variables';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_customvariablestatus`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_customvariablestatus` (
-
`customvariablestatus_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`object_id` int(11) NOT NULL default '0',
-
`status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`has_been_modified` smallint(6) NOT NULL default '0',
-
`varname` varchar(255) NOT NULL default '',
-
`varvalue` varchar(255) NOT NULL default '',
-
PRIMARY KEY (`customvariablestatus_id`),
-
UNIQUE KEY `object_id_2` (`object_id`,`varname`),
-
KEY `varname` (`varname`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Custom variable status information';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_dbversion`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_dbversion` (
-
`name` varchar(10) NOT NULL default '',
-
`version` varchar(10) NOT NULL default ''
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_downtimehistory`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_downtimehistory` (
-
`downtimehistory_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`downtime_type` smallint(6) NOT NULL default '0',
-
`object_id` int(11) NOT NULL default '0',
-
`entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`author_name` varchar(64) NOT NULL default '',
-
`comment_data` varchar(255) NOT NULL default '',
-
`internal_downtime_id` int(11) NOT NULL default '0',
-
`triggered_by_id` int(11) NOT NULL default '0',
-
`is_fixed` smallint(6) NOT NULL default '0',
-
`duration` smallint(6) NOT NULL default '0',
-
`scheduled_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`scheduled_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`was_started` smallint(6) NOT NULL default '0',
-
`actual_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`actual_start_time_usec` int(11) NOT NULL default '0',
-
`actual_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`actual_end_time_usec` int(11) NOT NULL default '0',
-
`was_cancelled` smallint(6) NOT NULL default '0',
-
PRIMARY KEY (`downtimehistory_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`entry_time`,`internal_downtime_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Historical scheduled host and service downtime';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_eventhandlers`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_eventhandlers` (
-
`eventhandler_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`eventhandler_type` smallint(6) NOT NULL default '0',
-
`object_id` int(11) NOT NULL default '0',
-
`state` smallint(6) NOT NULL default '0',
-
`state_type` smallint(6) NOT NULL default '0',
-
`start_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`start_time_usec` int(11) NOT NULL default '0',
-
`end_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`end_time_usec` int(11) NOT NULL default '0',
-
`command_object_id` int(11) NOT NULL default '0',
-
`command_args` varchar(255) NOT NULL default '',
-
`command_line` varchar(255) NOT NULL default '',
-
`timeout` smallint(6) NOT NULL default '0',
-
`early_timeout` smallint(6) NOT NULL default '0',
-
`execution_time` double NOT NULL default '0',
-
`return_code` smallint(6) NOT NULL default '0',
-
`output` varchar(255) NOT NULL default '',
-
`long_output` TEXT NOT NULL default '',
-
PRIMARY KEY (`eventhandler_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`start_time`,`start_time_usec`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Historical host and service event handlers';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_externalcommands`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_externalcommands` (
-
`externalcommand_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`command_type` smallint(6) NOT NULL default '0',
-
`command_name` varchar(128) NOT NULL default '',
-
`command_args` varchar(255) NOT NULL default '',
-
PRIMARY KEY (`externalcommand_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Historical record of processed external commands';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_flappinghistory`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_flappinghistory` (
-
`flappinghistory_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`event_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`event_time_usec` int(11) NOT NULL default '0',
-
`event_type` smallint(6) NOT NULL default '0',
-
`reason_type` smallint(6) NOT NULL default '0',
-
`flapping_type` smallint(6) NOT NULL default '0',
-
`object_id` int(11) NOT NULL default '0',
-
`percent_state_change` double NOT NULL default '0',
-
`low_threshold` double NOT NULL default '0',
-
`high_threshold` double NOT NULL default '0',
-
`comment_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`internal_comment_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`flappinghistory_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Current and historical record of host and service flapping';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_hostchecks`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_hostchecks` (
-
`hostcheck_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`host_object_id` int(11) NOT NULL default '0',
-
`check_type` smallint(6) NOT NULL default '0',
-
`is_raw_check` smallint(6) NOT NULL default '0',
-
`current_check_attempt` smallint(6) NOT NULL default '0',
-
`max_check_attempts` smallint(6) NOT NULL default '0',
-
`state` smallint(6) NOT NULL default '0',
-
`state_type` smallint(6) NOT NULL default '0',
-
`start_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`start_time_usec` int(11) NOT NULL default '0',
-
`end_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`end_time_usec` int(11) NOT NULL default '0',
-
`command_object_id` int(11) NOT NULL default '0',
-
`command_args` varchar(255) NOT NULL default '',
-
`command_line` varchar(255) NOT NULL default '',
-
`timeout` smallint(6) NOT NULL default '0',
-
`early_timeout` smallint(6) NOT NULL default '0',
-
`execution_time` double NOT NULL default '0',
-
`latency` double NOT NULL default '0',
-
`return_code` smallint(6) NOT NULL default '0',
-
`output` varchar(255) NOT NULL default '',
-
`long_output` TEXT NOT NULL default '',
-
`perfdata` TEXT NOT NULL default '',
-
PRIMARY KEY (`hostcheck_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`host_object_id`,`start_time`,`start_time_usec`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Historical host checks';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_hostdependencies`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_hostdependencies` (
-
`hostdependency_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`config_type` smallint(6) NOT NULL default '0',
-
`host_object_id` int(11) NOT NULL default '0',
-
`dependent_host_object_id` int(11) NOT NULL default '0',
-
`dependency_type` smallint(6) NOT NULL default '0',
-
`inherits_parent` smallint(6) NOT NULL default '0',
-
`timeperiod_object_id` int(11) NOT NULL default '0',
-
`fail_on_up` smallint(6) NOT NULL default '0',
-
`fail_on_down` smallint(6) NOT NULL default '0',
-
`fail_on_unreachable` smallint(6) NOT NULL default '0',
-
PRIMARY KEY (`hostdependency_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`host_object_id`,`dependent_host_object_id`,`dependency_type`,`inherits_parent`,`fail_on_up`,`fail_on_down`,`fail_on_unreachable`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Host dependency definitions';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_hostescalations`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_hostescalations` (
-
`hostescalation_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`config_type` smallint(6) NOT NULL default '0',
-
`host_object_id` int(11) NOT NULL default '0',
-
`timeperiod_object_id` int(11) NOT NULL default '0',
-
`first_notification` smallint(6) NOT NULL default '0',
-
`last_notification` smallint(6) NOT NULL default '0',
-
`notification_interval` double NOT NULL default '0',
-
`escalate_on_recovery` smallint(6) NOT NULL default '0',
-
`escalate_on_down` smallint(6) NOT NULL default '0',
-
`escalate_on_unreachable` smallint(6) NOT NULL default '0',
-
PRIMARY KEY (`hostescalation_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`host_object_id`,`timeperiod_object_id`,`first_notification`,`last_notification`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Host escalation definitions';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_hostescalation_contactgroups`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_hostescalation_contactgroups` (
-
`hostescalation_contactgroup_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`hostescalation_id` int(11) NOT NULL default '0',
-
`contactgroup_object_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`hostescalation_contactgroup_id`),
-
UNIQUE KEY `instance_id` (`hostescalation_id`,`contactgroup_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Host escalation contact groups';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_hostescalation_contacts`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_hostescalation_contacts` (
-
`hostescalation_contact_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`hostescalation_id` int(11) NOT NULL default '0',
-
`contact_object_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`hostescalation_contact_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`hostescalation_id`,`contact_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_hostgroups`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_hostgroups` (
-
`hostgroup_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`config_type` smallint(6) NOT NULL default '0',
-
`hostgroup_object_id` int(11) NOT NULL default '0',
-
`alias` varchar(255) NOT NULL default '',
-
PRIMARY KEY (`hostgroup_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`hostgroup_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Hostgroup definitions';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_hostgroup_members`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_hostgroup_members` (
-
`hostgroup_member_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`hostgroup_id` int(11) NOT NULL default '0',
-
`host_object_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`hostgroup_member_id`),
-
UNIQUE KEY `instance_id` (`hostgroup_id`,`host_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Hostgroup members';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_hosts`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_hosts` (
-
`host_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`config_type` smallint(6) NOT NULL default '0',
-
`host_object_id` int(11) NOT NULL default '0',
-
`alias` varchar(64) NOT NULL default '',
-
`display_name` varchar(64) NOT NULL default '',
-
`address` varchar(128) NOT NULL default '',
-
`importance` int(11) NOT NULL default '0',
-
`check_command_object_id` int(11) NOT NULL default '0',
-
`check_command_args` varchar(255) NOT NULL default '',
-
`eventhandler_command_object_id` int(11) NOT NULL default '0',
-
`eventhandler_command_args` varchar(255) NOT NULL default '',
-
`notification_timeperiod_object_id` int(11) NOT NULL default '0',
-
`check_timeperiod_object_id` int(11) NOT NULL default '0',
-
`failure_prediction_options` varchar(64) NOT NULL default '',
-
`check_interval` double NOT NULL default '0',
-
`retry_interval` double NOT NULL default '0',
-
`max_check_attempts` smallint(6) NOT NULL default '0',
-
`first_notification_delay` double NOT NULL default '0',
-
`notification_interval` double NOT NULL default '0',
-
`notify_on_down` smallint(6) NOT NULL default '0',
-
`notify_on_unreachable` smallint(6) NOT NULL default '0',
-
`notify_on_recovery` smallint(6) NOT NULL default '0',
-
`notify_on_flapping` smallint(6) NOT NULL default '0',
-
`notify_on_downtime` smallint(6) NOT NULL default '0',
-
`stalk_on_up` smallint(6) NOT NULL default '0',
-
`stalk_on_down` smallint(6) NOT NULL default '0',
-
`stalk_on_unreachable` smallint(6) NOT NULL default '0',
-
`flap_detection_enabled` smallint(6) NOT NULL default '0',
-
`flap_detection_on_up` smallint(6) NOT NULL default '0',
-
`flap_detection_on_down` smallint(6) NOT NULL default '0',
-
`flap_detection_on_unreachable` smallint(6) NOT NULL default '0',
-
`low_flap_threshold` double NOT NULL default '0',
-
`high_flap_threshold` double NOT NULL default '0',
-
`process_performance_data` smallint(6) NOT NULL default '0',
-
`freshness_checks_enabled` smallint(6) NOT NULL default '0',
-
`freshness_threshold` smallint(6) NOT NULL default '0',
-
`passive_checks_enabled` smallint(6) NOT NULL default '0',
-
`event_handler_enabled` smallint(6) NOT NULL default '0',
-
`active_checks_enabled` smallint(6) NOT NULL default '0',
-
`retain_status_information` smallint(6) NOT NULL default '0',
-
`retain_nonstatus_information` smallint(6) NOT NULL default '0',
-
`notifications_enabled` smallint(6) NOT NULL default '0',
-
`obsess_over_host` smallint(6) NOT NULL default '0',
-
`failure_prediction_enabled` smallint(6) NOT NULL default '0',
-
`notes` varchar(255) NOT NULL default '',
-
`notes_url` varchar(255) NOT NULL default '',
-
`action_url` varchar(255) NOT NULL default '',
-
`icon_image` varchar(255) NOT NULL default '',
-
`icon_image_alt` varchar(255) NOT NULL default '',
-
`vrml_image` varchar(255) NOT NULL default '',
-
`statusmap_image` varchar(255) NOT NULL default '',
-
`have_2d_coords` smallint(6) NOT NULL default '0',
-
`x_2d` smallint(6) NOT NULL default '0',
-
`y_2d` smallint(6) NOT NULL default '0',
-
`have_3d_coords` smallint(6) NOT NULL default '0',
-
`x_3d` double NOT NULL default '0',
-
`y_3d` double NOT NULL default '0',
-
`z_3d` double NOT NULL default '0',
-
PRIMARY KEY (`host_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`host_object_id`),
-
KEY `host_object_id` (`host_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Host definitions';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_hoststatus`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_hoststatus` (
-
`hoststatus_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`host_object_id` int(11) NOT NULL default '0',
-
`status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`output` varchar(255) NOT NULL default '',
-
`long_output` TEXT NOT NULL default '',
-
`perfdata` TEXT NOT NULL default '',
-
`current_state` smallint(6) NOT NULL default '0',
-
`has_been_checked` smallint(6) NOT NULL default '0',
-
`should_be_scheduled` smallint(6) NOT NULL default '0',
-
`current_check_attempt` smallint(6) NOT NULL default '0',
-
`max_check_attempts` smallint(6) NOT NULL default '0',
-
`last_check` datetime NOT NULL default '0000-00-00 00:00:00',
-
`next_check` datetime NOT NULL default '0000-00-00 00:00:00',
-
`check_type` smallint(6) NOT NULL default '0',
-
`last_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
-
`last_hard_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
-
`last_hard_state` smallint(6) NOT NULL default '0',
-
`last_time_up` datetime NOT NULL default '0000-00-00 00:00:00',
-
`last_time_down` datetime NOT NULL default '0000-00-00 00:00:00',
-
`last_time_unreachable` datetime NOT NULL default '0000-00-00 00:00:00',
-
`state_type` smallint(6) NOT NULL default '0',
-
`last_notification` datetime NOT NULL default '0000-00-00 00:00:00',
-
`next_notification` datetime NOT NULL default '0000-00-00 00:00:00',
-
`no_more_notifications` smallint(6) NOT NULL default '0',
-
`notifications_enabled` smallint(6) NOT NULL default '0',
-
`problem_has_been_acknowledged` smallint(6) NOT NULL default '0',
-
`acknowledgement_type` smallint(6) NOT NULL default '0',
-
`current_notification_number` smallint(6) NOT NULL default '0',
-
`passive_checks_enabled` smallint(6) NOT NULL default '0',
-
`active_checks_enabled` smallint(6) NOT NULL default '0',
-
`event_handler_enabled` smallint(6) NOT NULL default '0',
-
`flap_detection_enabled` smallint(6) NOT NULL default '0',
-
`is_flapping` smallint(6) NOT NULL default '0',
-
`percent_state_change` double NOT NULL default '0',
-
`latency` double NOT NULL default '0',
-
`execution_time` double NOT NULL default '0',
-
`scheduled_downtime_depth` smallint(6) NOT NULL default '0',
-
`failure_prediction_enabled` smallint(6) NOT NULL default '0',
-
`process_performance_data` smallint(6) NOT NULL default '0',
-
`obsess_over_host` smallint(6) NOT NULL default '0',
-
`modified_host_attributes` int(11) NOT NULL default '0',
-
`event_handler` varchar(255) NOT NULL default '',
-
`check_command` varchar(255) NOT NULL default '',
-
`normal_check_interval` double NOT NULL default '0',
-
`retry_check_interval` double NOT NULL default '0',
-
`check_timeperiod_object_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`hoststatus_id`),
-
UNIQUE KEY `object_id` (`host_object_id`),
-
KEY `instance_id` (`instance_id`),
-
KEY `status_update_time` (`status_update_time`),
-
KEY `current_state` (`current_state`),
-
KEY `check_type` (`check_type`),
-
KEY `state_type` (`state_type`),
-
KEY `last_state_change` (`last_state_change`),
-
KEY `notifications_enabled` (`notifications_enabled`),
-
KEY `problem_has_been_acknowledged` (`problem_has_been_acknowledged`),
-
KEY `active_checks_enabled` (`active_checks_enabled`),
-
KEY `passive_checks_enabled` (`passive_checks_enabled`),
-
KEY `event_handler_enabled` (`event_handler_enabled`),
-
KEY `flap_detection_enabled` (`flap_detection_enabled`),
-
KEY `is_flapping` (`is_flapping`),
-
KEY `percent_state_change` (`percent_state_change`),
-
KEY `latency` (`latency`),
-
KEY `execution_time` (`execution_time`),
-
KEY `scheduled_downtime_depth` (`scheduled_downtime_depth`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Current host status information';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_host_contactgroups`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_host_contactgroups` (
-
`host_contactgroup_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`host_id` int(11) NOT NULL default '0',
-
`contactgroup_object_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`host_contactgroup_id`),
-
UNIQUE KEY `instance_id` (`host_id`,`contactgroup_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Host contact groups';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_host_contacts`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_host_contacts` (
-
`host_contact_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`host_id` int(11) NOT NULL default '0',
-
`contact_object_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`host_contact_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`host_id`,`contact_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_host_parenthosts`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_host_parenthosts` (
-
`host_parenthost_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`host_id` int(11) NOT NULL default '0',
-
`parent_host_object_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`host_parenthost_id`),
-
UNIQUE KEY `instance_id` (`host_id`,`parent_host_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Parent hosts';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_instances`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_instances` (
-
`instance_id` smallint(6) NOT NULL auto_increment,
-
`instance_name` varchar(64) NOT NULL default '',
-
`instance_description` varchar(128) NOT NULL default '',
-
PRIMARY KEY (`instance_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Location names of various Nagios installations';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_logentries`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_logentries` (
-
`logentry_id` int(11) NOT NULL auto_increment,
-
`instance_id` int(11) NOT NULL default '0',
-
`logentry_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`entry_time_usec` int(11) NOT NULL default '0',
-
`logentry_type` int(11) NOT NULL default '0',
-
`logentry_data` varchar(255) NOT NULL default '',
-
`realtime_data` smallint(6) NOT NULL default '0',
-
`inferred_data_extracted` smallint(6) NOT NULL default '0',
-
PRIMARY KEY (`logentry_id`),
-
UNIQUE KEY `instance_id` (`instance_id`, `logentry_time`,`entry_time`,`entry_time_usec`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Historical record of log entries';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_notifications`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_notifications` (
-
`notification_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`notification_type` smallint(6) NOT NULL default '0',
-
`notification_reason` smallint(6) NOT NULL default '0',
-
`object_id` int(11) NOT NULL default '0',
-
`start_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`start_time_usec` int(11) NOT NULL default '0',
-
`end_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`end_time_usec` int(11) NOT NULL default '0',
-
`state` smallint(6) NOT NULL default '0',
-
`output` varchar(255) NOT NULL default '',
-
`long_output` TEXT NOT NULL default '',
-
`escalated` smallint(6) NOT NULL default '0',
-
`contacts_notified` smallint(6) NOT NULL default '0',
-
PRIMARY KEY (`notification_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`start_time`,`start_time_usec`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Historical record of host and service notifications';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_objects`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_objects` (
-
`object_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`objecttype_id` smallint(6) NOT NULL default '0',
-
`name1` varchar(128) NOT NULL default '',
-
`name2` varchar(128) default NULL,
-
`is_active` smallint(6) NOT NULL default '0',
-
PRIMARY KEY (`object_id`),
-
KEY `objecttype_id` (`objecttype_id`,`name1`,`name2`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Current and historical objects of all kinds';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_processevents`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_processevents` (
-
`processevent_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`event_type` smallint(6) NOT NULL default '0',
-
`event_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`event_time_usec` int(11) NOT NULL default '0',
-
`process_id` int(11) NOT NULL default '0',
-
`program_name` varchar(16) NOT NULL default '',
-
`program_version` varchar(20) NOT NULL default '',
-
`program_date` varchar(10) NOT NULL default '',
-
PRIMARY KEY (`processevent_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Historical Nagios process events';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_programstatus`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_programstatus` (
-
`programstatus_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`program_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`program_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`is_currently_running` smallint(6) NOT NULL default '0',
-
`process_id` int(11) NOT NULL default '0',
-
`daemon_mode` smallint(6) NOT NULL default '0',
-
`last_command_check` datetime NOT NULL default '0000-00-00 00:00:00',
-
`last_log_rotation` datetime NOT NULL default '0000-00-00 00:00:00',
-
`notifications_enabled` smallint(6) NOT NULL default '0',
-
`active_service_checks_enabled` smallint(6) NOT NULL default '0',
-
`passive_service_checks_enabled` smallint(6) NOT NULL default '0',
-
`active_host_checks_enabled` smallint(6) NOT NULL default '0',
-
`passive_host_checks_enabled` smallint(6) NOT NULL default '0',
-
`event_handlers_enabled` smallint(6) NOT NULL default '0',
-
`flap_detection_enabled` smallint(6) NOT NULL default '0',
-
`failure_prediction_enabled` smallint(6) NOT NULL default '0',
-
`process_performance_data` smallint(6) NOT NULL default '0',
-
`obsess_over_hosts` smallint(6) NOT NULL default '0',
-
`obsess_over_services` smallint(6) NOT NULL default '0',
-
`modified_host_attributes` int(11) NOT NULL default '0',
-
`modified_service_attributes` int(11) NOT NULL default '0',
-
`global_host_event_handler` varchar(255) NOT NULL default '',
-
`global_service_event_handler` varchar(255) NOT NULL default '',
-
PRIMARY KEY (`programstatus_id`),
-
UNIQUE KEY `instance_id` (`instance_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Current program status information';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_runtimevariables`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_runtimevariables` (
-
`runtimevariable_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`varname` varchar(64) NOT NULL default '',
-
`varvalue` varchar(255) NOT NULL default '',
-
PRIMARY KEY (`runtimevariable_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`varname`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Runtime variables from the Nagios daemon';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_scheduleddowntime`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_scheduleddowntime` (
-
`scheduleddowntime_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`downtime_type` smallint(6) NOT NULL default '0',
-
`object_id` int(11) NOT NULL default '0',
-
`entry_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`author_name` varchar(64) NOT NULL default '',
-
`comment_data` varchar(255) NOT NULL default '',
-
`internal_downtime_id` int(11) NOT NULL default '0',
-
`triggered_by_id` int(11) NOT NULL default '0',
-
`is_fixed` smallint(6) NOT NULL default '0',
-
`duration` smallint(6) NOT NULL default '0',
-
`scheduled_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`scheduled_end_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`was_started` smallint(6) NOT NULL default '0',
-
`actual_start_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`actual_start_time_usec` int(11) NOT NULL default '0',
-
PRIMARY KEY (`scheduleddowntime_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`object_id`,`entry_time`,`internal_downtime_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Current scheduled host and service downtime';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_servicechecks`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_servicechecks` (
-
`servicecheck_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`service_object_id` int(11) NOT NULL default '0',
-
`check_type` smallint(6) NOT NULL default '0',
-
`current_check_attempt` smallint(6) NOT NULL default '0',
-
`max_check_attempts` smallint(6) NOT NULL default '0',
-
`state` smallint(6) NOT NULL default '0',
-
`state_type` smallint(6) NOT NULL default '0',
-
`start_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`start_time_usec` int(11) NOT NULL default '0',
-
`end_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`end_time_usec` int(11) NOT NULL default '0',
-
`command_object_id` int(11) NOT NULL default '0',
-
`command_args` varchar(255) NOT NULL default '',
-
`command_line` varchar(255) NOT NULL default '',
-
`timeout` smallint(6) NOT NULL default '0',
-
`early_timeout` smallint(6) NOT NULL default '0',
-
`execution_time` double NOT NULL default '0',
-
`latency` double NOT NULL default '0',
-
`return_code` smallint(6) NOT NULL default '0',
-
`output` varchar(255) NOT NULL default '',
-
`long_output` TEXT NOT NULL default '',
-
`perfdata` TEXT NOT NULL default '',
-
PRIMARY KEY (`servicecheck_id`),
-
KEY `instance_id` (`instance_id`),
-
KEY `service_object_id` (`service_object_id`),
-
KEY `start_time` (`start_time`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Historical service checks';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_servicedependencies`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_servicedependencies` (
-
`servicedependency_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`config_type` smallint(6) NOT NULL default '0',
-
`service_object_id` int(11) NOT NULL default '0',
-
`dependent_service_object_id` int(11) NOT NULL default '0',
-
`dependency_type` smallint(6) NOT NULL default '0',
-
`inherits_parent` smallint(6) NOT NULL default '0',
-
`timeperiod_object_id` int(11) NOT NULL default '0',
-
`fail_on_ok` smallint(6) NOT NULL default '0',
-
`fail_on_warning` smallint(6) NOT NULL default '0',
-
`fail_on_unknown` smallint(6) NOT NULL default '0',
-
`fail_on_critical` smallint(6) NOT NULL default '0',
-
PRIMARY KEY (`servicedependency_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`service_object_id`,`dependent_service_object_id`,`dependency_type`,`inherits_parent`,`fail_on_ok`,`fail_on_warning`,`fail_on_unknown`,`fail_on_critical`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Service dependency definitions';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_serviceescalations`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_serviceescalations` (
-
`serviceescalation_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`config_type` smallint(6) NOT NULL default '0',
-
`service_object_id` int(11) NOT NULL default '0',
-
`timeperiod_object_id` int(11) NOT NULL default '0',
-
`first_notification` smallint(6) NOT NULL default '0',
-
`last_notification` smallint(6) NOT NULL default '0',
-
`notification_interval` double NOT NULL default '0',
-
`escalate_on_recovery` smallint(6) NOT NULL default '0',
-
`escalate_on_warning` smallint(6) NOT NULL default '0',
-
`escalate_on_unknown` smallint(6) NOT NULL default '0',
-
`escalate_on_critical` smallint(6) NOT NULL default '0',
-
PRIMARY KEY (`serviceescalation_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`service_object_id`,`timeperiod_object_id`,`first_notification`,`last_notification`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Service escalation definitions';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_serviceescalation_contactgroups`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_serviceescalation_contactgroups` (
-
`serviceescalation_contactgroup_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`serviceescalation_id` int(11) NOT NULL default '0',
-
`contactgroup_object_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`serviceescalation_contactgroup_id`),
-
UNIQUE KEY `instance_id` (`serviceescalation_id`,`contactgroup_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Service escalation contact groups';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_serviceescalation_contacts`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_serviceescalation_contacts` (
-
`serviceescalation_contact_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`serviceescalation_id` int(11) NOT NULL default '0',
-
`contact_object_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`serviceescalation_contact_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`serviceescalation_id`,`contact_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_servicegroups`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_servicegroups` (
-
`servicegroup_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`config_type` smallint(6) NOT NULL default '0',
-
`servicegroup_object_id` int(11) NOT NULL default '0',
-
`alias` varchar(255) NOT NULL default '',
-
PRIMARY KEY (`servicegroup_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`servicegroup_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Servicegroup definitions';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_servicegroup_members`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_servicegroup_members` (
-
`servicegroup_member_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`servicegroup_id` int(11) NOT NULL default '0',
-
`service_object_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`servicegroup_member_id`),
-
UNIQUE KEY `instance_id` (`servicegroup_id`,`service_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Servicegroup members';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_services`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_services` (
-
`service_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`config_type` smallint(6) NOT NULL default '0',
-
`host_object_id` int(11) NOT NULL default '0',
-
`service_object_id` int(11) NOT NULL default '0',
-
`display_name` varchar(64) NOT NULL default '',
-
`importance` int(11) NOT NULL default '0',
-
`check_command_object_id` int(11) NOT NULL default '0',
-
`check_command_args` varchar(255) NOT NULL default '',
-
`eventhandler_command_object_id` int(11) NOT NULL default '0',
-
`eventhandler_command_args` varchar(255) NOT NULL default '',
-
`notification_timeperiod_object_id` int(11) NOT NULL default '0',
-
`check_timeperiod_object_id` int(11) NOT NULL default '0',
-
`failure_prediction_options` varchar(64) NOT NULL default '',
-
`check_interval` double NOT NULL default '0',
-
`retry_interval` double NOT NULL default '0',
-
`max_check_attempts` smallint(6) NOT NULL default '0',
-
`first_notification_delay` double NOT NULL default '0',
-
`notification_interval` double NOT NULL default '0',
-
`notify_on_warning` smallint(6) NOT NULL default '0',
-
`notify_on_unknown` smallint(6) NOT NULL default '0',
-
`notify_on_critical` smallint(6) NOT NULL default '0',
-
`notify_on_recovery` smallint(6) NOT NULL default '0',
-
`notify_on_flapping` smallint(6) NOT NULL default '0',
-
`notify_on_downtime` smallint(6) NOT NULL default '0',
-
`stalk_on_ok` smallint(6) NOT NULL default '0',
-
`stalk_on_warning` smallint(6) NOT NULL default '0',
-
`stalk_on_unknown` smallint(6) NOT NULL default '0',
-
`stalk_on_critical` smallint(6) NOT NULL default '0',
-
`is_volatile` smallint(6) NOT NULL default '0',
-
`flap_detection_enabled` smallint(6) NOT NULL default '0',
-
`flap_detection_on_ok` smallint(6) NOT NULL default '0',
-
`flap_detection_on_warning` smallint(6) NOT NULL default '0',
-
`flap_detection_on_unknown` smallint(6) NOT NULL default '0',
-
`flap_detection_on_critical` smallint(6) NOT NULL default '0',
-
`low_flap_threshold` double NOT NULL default '0',
-
`high_flap_threshold` double NOT NULL default '0',
-
`process_performance_data` smallint(6) NOT NULL default '0',
-
`freshness_checks_enabled` smallint(6) NOT NULL default '0',
-
`freshness_threshold` smallint(6) NOT NULL default '0',
-
`passive_checks_enabled` smallint(6) NOT NULL default '0',
-
`event_handler_enabled` smallint(6) NOT NULL default '0',
-
`active_checks_enabled` smallint(6) NOT NULL default '0',
-
`retain_status_information` smallint(6) NOT NULL default '0',
-
`retain_nonstatus_information` smallint(6) NOT NULL default '0',
-
`notifications_enabled` smallint(6) NOT NULL default '0',
-
`obsess_over_service` smallint(6) NOT NULL default '0',
-
`failure_prediction_enabled` smallint(6) NOT NULL default '0',
-
`notes` varchar(255) NOT NULL default '',
-
`notes_url` varchar(255) NOT NULL default '',
-
`action_url` varchar(255) NOT NULL default '',
-
`icon_image` varchar(255) NOT NULL default '',
-
`icon_image_alt` varchar(255) NOT NULL default '',
-
PRIMARY KEY (`service_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`service_object_id`),
-
KEY `service_object_id` (`service_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Service definitions';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_servicestatus`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_servicestatus` (
-
`servicestatus_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`service_object_id` int(11) NOT NULL default '0',
-
`status_update_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`output` varchar(255) NOT NULL default '',
-
`long_output` TEXT NOT NULL default '',
-
`perfdata` TEXT NOT NULL default '',
-
`current_state` smallint(6) NOT NULL default '0',
-
`has_been_checked` smallint(6) NOT NULL default '0',
-
`should_be_scheduled` smallint(6) NOT NULL default '0',
-
`current_check_attempt` smallint(6) NOT NULL default '0',
-
`max_check_attempts` smallint(6) NOT NULL default '0',
-
`last_check` datetime NOT NULL default '0000-00-00 00:00:00',
-
`next_check` datetime NOT NULL default '0000-00-00 00:00:00',
-
`check_type` smallint(6) NOT NULL default '0',
-
`last_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
-
`last_hard_state_change` datetime NOT NULL default '0000-00-00 00:00:00',
-
`last_hard_state` smallint(6) NOT NULL default '0',
-
`last_time_ok` datetime NOT NULL default '0000-00-00 00:00:00',
-
`last_time_warning` datetime NOT NULL default '0000-00-00 00:00:00',
-
`last_time_unknown` datetime NOT NULL default '0000-00-00 00:00:00',
-
`last_time_critical` datetime NOT NULL default '0000-00-00 00:00:00',
-
`state_type` smallint(6) NOT NULL default '0',
-
`last_notification` datetime NOT NULL default '0000-00-00 00:00:00',
-
`next_notification` datetime NOT NULL default '0000-00-00 00:00:00',
-
`no_more_notifications` smallint(6) NOT NULL default '0',
-
`notifications_enabled` smallint(6) NOT NULL default '0',
-
`problem_has_been_acknowledged` smallint(6) NOT NULL default '0',
-
`acknowledgement_type` smallint(6) NOT NULL default '0',
-
`current_notification_number` smallint(6) NOT NULL default '0',
-
`passive_checks_enabled` smallint(6) NOT NULL default '0',
-
`active_checks_enabled` smallint(6) NOT NULL default '0',
-
`event_handler_enabled` smallint(6) NOT NULL default '0',
-
`flap_detection_enabled` smallint(6) NOT NULL default '0',
-
`is_flapping` smallint(6) NOT NULL default '0',
-
`percent_state_change` double NOT NULL default '0',
-
`latency` double NOT NULL default '0',
-
`execution_time` double NOT NULL default '0',
-
`scheduled_downtime_depth` smallint(6) NOT NULL default '0',
-
`failure_prediction_enabled` smallint(6) NOT NULL default '0',
-
`process_performance_data` smallint(6) NOT NULL default '0',
-
`obsess_over_service` smallint(6) NOT NULL default '0',
-
`modified_service_attributes` int(11) NOT NULL default '0',
-
`event_handler` varchar(255) NOT NULL default '',
-
`check_command` varchar(255) NOT NULL default '',
-
`normal_check_interval` double NOT NULL default '0',
-
`retry_check_interval` double NOT NULL default '0',
-
`check_timeperiod_object_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`servicestatus_id`),
-
UNIQUE KEY `object_id` (`service_object_id`),
-
KEY `instance_id` (`instance_id`),
-
KEY `status_update_time` (`status_update_time`),
-
KEY `current_state` (`current_state`),
-
KEY `check_type` (`check_type`),
-
KEY `state_type` (`state_type`),
-
KEY `last_state_change` (`last_state_change`),
-
KEY `notifications_enabled` (`notifications_enabled`),
-
KEY `problem_has_been_acknowledged` (`problem_has_been_acknowledged`),
-
KEY `active_checks_enabled` (`active_checks_enabled`),
-
KEY `passive_checks_enabled` (`passive_checks_enabled`),
-
KEY `event_handler_enabled` (`event_handler_enabled`),
-
KEY `flap_detection_enabled` (`flap_detection_enabled`),
-
KEY `is_flapping` (`is_flapping`),
-
KEY `percent_state_change` (`percent_state_change`),
-
KEY `latency` (`latency`),
-
KEY `execution_time` (`execution_time`),
-
KEY `scheduled_downtime_depth` (`scheduled_downtime_depth`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Current service status information';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_service_contactgroups`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_service_contactgroups` (
-
`service_contactgroup_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`service_id` int(11) NOT NULL default '0',
-
`contactgroup_object_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`service_contactgroup_id`),
-
UNIQUE KEY `instance_id` (`service_id`,`contactgroup_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Service contact groups';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_service_contacts`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_service_contacts` (
-
`service_contact_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`service_id` int(11) NOT NULL default '0',
-
`contact_object_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`service_contact_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`service_id`,`contact_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci ;
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_service_parentservices`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_service_parentservices` (
-
`service_parentservice_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`service_id` int(11) NOT NULL default '0',
-
`parent_service_object_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`service_parentservice_id`),
-
UNIQUE KEY `instance_id` (`service_id`,`parent_service_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Parent services';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_statehistory`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_statehistory` (
-
`statehistory_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`state_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`state_time_usec` int(11) NOT NULL default '0',
-
`object_id` int(11) NOT NULL default '0',
-
`state_change` smallint(6) NOT NULL default '0',
-
`state` smallint(6) NOT NULL default '0',
-
`state_type` smallint(6) NOT NULL default '0',
-
`current_check_attempt` smallint(6) NOT NULL default '0',
-
`max_check_attempts` smallint(6) NOT NULL default '0',
-
`last_state` smallint(6) NOT NULL default '-1',
-
`last_hard_state` smallint(6) NOT NULL default '-1',
-
`output` varchar(255) NOT NULL default '',
-
`long_output` TEXT NOT NULL default '',
-
PRIMARY KEY (`statehistory_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Historical host and service state changes';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_systemcommands`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_systemcommands` (
-
`systemcommand_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`start_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`start_time_usec` int(11) NOT NULL default '0',
-
`end_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`end_time_usec` int(11) NOT NULL default '0',
-
`command_line` varchar(255) NOT NULL default '',
-
`timeout` smallint(6) NOT NULL default '0',
-
`early_timeout` smallint(6) NOT NULL default '0',
-
`execution_time` double NOT NULL default '0',
-
`return_code` smallint(6) NOT NULL default '0',
-
`output` varchar(255) NOT NULL default '',
-
`long_output` TEXT NOT NULL default '',
-
PRIMARY KEY (`systemcommand_id`),
-
KEY `instance_id` (`instance_id`),
-
KEY `start_time` (`start_time`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Historical system commands that are executed';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_timedeventqueue`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_timedeventqueue` (
-
`timedeventqueue_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`event_type` smallint(6) NOT NULL default '0',
-
`queued_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`queued_time_usec` int(11) NOT NULL default '0',
-
`scheduled_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`recurring_event` smallint(6) NOT NULL default '0',
-
`object_id` int(11) NOT NULL default '0',
-
PRIMARY KEY (`timedeventqueue_id`),
-
KEY `instance_id` (`instance_id`),
-
KEY `event_type` (`event_type`),
-
KEY `scheduled_time` (`scheduled_time`),
-
KEY `object_id` (`object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Current Nagios event queue';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_timedevents`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_timedevents` (
-
`timedevent_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`event_type` smallint(6) NOT NULL default '0',
-
`queued_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`queued_time_usec` int(11) NOT NULL default '0',
-
`event_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`event_time_usec` int(11) NOT NULL default '0',
-
`scheduled_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`recurring_event` smallint(6) NOT NULL default '0',
-
`object_id` int(11) NOT NULL default '0',
-
`deletion_time` datetime NOT NULL default '0000-00-00 00:00:00',
-
`deletion_time_usec` int(11) NOT NULL default '0',
-
PRIMARY KEY (`timedevent_id`),
-
KEY `instance_id` (`instance_id`),
-
KEY `event_type` (`event_type`),
-
KEY `scheduled_time` (`scheduled_time`),
-
KEY `object_id` (`object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Historical events from the Nagios event queue';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_timeperiods`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_timeperiods` (
-
`timeperiod_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`config_type` smallint(6) NOT NULL default '0',
-
`timeperiod_object_id` int(11) NOT NULL default '0',
-
`alias` varchar(255) NOT NULL default '',
-
PRIMARY KEY (`timeperiod_id`),
-
UNIQUE KEY `instance_id` (`instance_id`,`config_type`,`timeperiod_object_id`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Timeperiod definitions';
-
-
-- --------------------------------------------------------
-
-
--
-
-- Table structure for table `monitor_timeperiod_timeranges`
-
--
-
-
CREATE TABLE IF NOT EXISTS `monitor_timeperiod_timeranges` (
-
`timeperiod_timerange_id` int(11) NOT NULL auto_increment,
-
`instance_id` smallint(6) NOT NULL default '0',
-
`timeperiod_id` int(11) NOT NULL default '0',
-
`day` smallint(6) NOT NULL default '0',
-
`start_sec` int(11) NOT NULL default '0',
-
`end_sec` int(11) NOT NULL default '0',
-
PRIMARY KEY (`timeperiod_timerange_id`),
-
UNIQUE KEY `instance_id` (`timeperiod_id`,`day`,`start_sec`,`end_sec`)
-
) ENGINE=MyISAM AUTO_INCREMENT=30 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT='Timeperiod definitions';
ndoutils-2.0.0/src目录中的db.c
-
/***************************************************************
-
* DB.C - Datatabase routines for NDO2DB daemon
-
*
-
* Copyright (c) 2009 Nagios Core Development Team and Community Contributors
-
* Copyright (c) 2005-2009 Ethan Galstad
-
*
-
* Last Modified: 07-11-2009
-
*
-
**************************************************************/
-
-
/* include our project's header files */
-
#include "../include/config.h"
-
#include "../include/common.h"
-
#include "../include/io.h"
-
#include "../include/utils.h"
-
#include "../include/protoapi.h"
-
#include "../include/ndo2db.h"
-
#include "../include/dbhandlers.h"
-
#include "../include/db.h"
-
-
extern int errno;
-
-
extern ndo2db_dbconfig ndo2db_db_settings;
-
extern time_t ndo2db_db_last_checkin_time;
-
-
char *ndo2db_db_rawtablenames[NDO2DB_MAX_DBTABLES]={
-
"instances",
-
"conninfo",
-
"objects",
-
"objecttypes",
-
"logentries",
-
"systemcommands",
-
"eventhandlers",
-
"servicechecks",
-
"hostchecks",
-
"programstatus",
-
"externalcommands",
-
"servicestatus",
-
"hoststatus",
-
"processevents",
-
"timedevents",
-
"timedeventqueue",
-
"flappinghistory",
-
"commenthistory",
-
"comments",
-
"notifications",
-
"contactnotifications",
-
"contactnotificationmethods",
-
"acknowledgements",
-
"statehistory",
-
"downtimehistory",
-
"scheduleddowntime",
-
"configfiles",
-
"configfilevariables",
-
"runtimevariables",
-
"contactstatus",
-
"customvariablestatus",
-
"",
-
"",
-
"",
-
"",
-
"",
-
"",
-
"",
-
"",
-
"",
-
"commands",
-
"timeperiods",
-
"timeperiod_timeranges",
-
"contactgroups",
-
"contactgroup_members",
-
"hostgroups",
-
"hostgroup_members",
-
"servicegroups",
-
"servicegroup_members",
-
"hostescalations",
-
"hostescalation_contacts",
-
"serviceescalations",
-
"serviceescalation_contacts",
-
"hostdependencies",
-
"servicedependencies",
-
"contacts",
-
"contact_addresses",
-
"contact_notificationcommands",
-
"hosts",
-
"host_parenthosts",
-
"host_contacts",
-
"services",
-
"service_contacts",
-
"customvariables",
-
"host_contactgroups",
-
"service_contactgroups",
-
"hostescalation_contactgroups",
-
"serviceescalation_contactgroups",
-
"service_parentservices",
-
};
-
-
-
char *ndo2db_db_tablenames[NDO2DB_MAX_DBTABLES];
-
-
/*
-
#define DEBUG_NDO2DB_QUERIES 1
-
*/
-
-
/****************************************************************************/
-
/* CONNECTION FUNCTIONS */
-
/****************************************************************************/
-
-
/* initialize database structures */
-
int ndo2db_db_init(ndo2db_idi *idi){
-
register int x;
-
-
if(idi==NULL)
-
return NDO_ERROR;
-
-
/* initialize db server type */
-
idi->dbinfo.server_type=ndo2db_db_settings.server_type;
-
-
/* initialize table names */
-
for(x=0;x<NDO2DB_MAX_DBTABLES;x++){
-
if((ndo2db_db_tablenames[x]=(char *)malloc(strlen(ndo2db_db_rawtablenames[x])+((ndo2db_db_settings.dbprefix==NULL)?0:strlen(ndo2db_db_settings.dbprefix))+1))==NULL)
-
return NDO_ERROR;
-
sprintf(ndo2db_db_tablenames[x],"%s%s",(ndo2db_db_settings.dbprefix==NULL)?"":ndo2db_db_settings.dbprefix,ndo2db_db_rawtablenames[x]);
-
}
-
-
/* initialize other variables */
-
idi->dbinfo.connected=NDO_FALSE;
-
idi->dbinfo.error=NDO_FALSE;
-
idi->dbinfo.instance_id=0L;
-
idi->dbinfo.conninfo_id=0L;
-
idi->dbinfo.latest_program_status_time=(time_t)0L;
-
idi->dbinfo.latest_host_status_time=(time_t)0L;
-
idi->dbinfo.latest_service_status_time=(time_t)0L;
-
idi->dbinfo.latest_queued_event_time=(time_t)0L;
-
idi->dbinfo.latest_realtime_data_time=(time_t)0L;
-
idi->dbinfo.latest_comment_time=(time_t)0L;
-
idi->dbinfo.clean_event_queue=NDO_FALSE;
-
idi->dbinfo.last_notification_id=0L;
-
idi->dbinfo.last_contact_notification_id=0L;
-
idi->dbinfo.max_timedevents_age=ndo2db_db_settings.max_timedevents_age;
-
idi->dbinfo.max_systemcommands_age=ndo2db_db_settings.max_systemcommands_age;
-
idi->dbinfo.max_servicechecks_age=ndo2db_db_settings.max_servicechecks_age;
-
idi->dbinfo.max_hostchecks_age=ndo2db_db_settings.max_hostchecks_age;
-
idi->dbinfo.max_eventhandlers_age=ndo2db_db_settings.max_eventhandlers_age;
-
idi->dbinfo.max_externalcommands_age=ndo2db_db_settings.max_externalcommands_age;
-
idi->dbinfo.max_notifications_age=ndo2db_db_settings.max_notifications_age;
-
idi->dbinfo.max_contactnotifications_age=ndo2db_db_settings.max_contactnotifications_age;
-
idi->dbinfo.max_contactnotificationmethods_age=ndo2db_db_settings.max_contactnotificationmethods_age;
-
idi->dbinfo.max_logentries_age=ndo2db_db_settings.max_logentries_age;
-
idi->dbinfo.max_acknowledgements_age=ndo2db_db_settings.max_acknowledgements_age;
-
idi->dbinfo.last_table_trim_time=(time_t)0L;
-
idi->dbinfo.last_logentry_time=(time_t)0L;
-
idi->dbinfo.last_logentry_data=NULL;
-
idi->dbinfo.object_hashlist=NULL;
-
-
/* initialize db structures, etc. */
-
switch(idi->dbinfo.server_type){
-
case NDO2DB_DBSERVER_MYSQL:
-
#ifdef USE_MYSQL
-
if(!mysql_init(&idi->dbinfo.mysql_conn)){
-
syslog(LOG_USER|LOG_INFO,"Error: mysql_init() failed\n");
-
return NDO_ERROR;
-
}
-
#endif
-
break;
-
case NDO2DB_DBSERVER_PGSQL:
-
#ifdef USE_PGSQL
-
idi->dbinfo.pgsql_conn=NULL;
-
idi->dbinfo.pgsql_result=NULL;
-
#endif
-
break;
-
default:
-
break;
-
}
-
-
return NDO_OK;
-
}
-
-
-
/* clean up database structures */
-
int ndo2db_db_deinit(ndo2db_idi *idi){
-
register int x;
-
-
if(idi==NULL)
-
return NDO_ERROR;
-
-
/* free table names */
-
for(x=0;x<NDO2DB_MAX_DBTABLES;x++){
-
if(ndo2db_db_tablenames[x])
-
free(ndo2db_db_tablenames[x]);
-
ndo2db_db_tablenames[x]=NULL;
-
}
-
-
/* free cached object ids */
-
ndo2db_free_cached_object_ids(idi);
-
-
return NDO_OK;
-
}
-
-
-
/* connects to the database server */
-
int ndo2db_db_connect(ndo2db_idi *idi){
-
int result=NDO_OK;
-
-
if(idi==NULL)
-
return NDO_ERROR;
-
-
/* we're already connected... */
-
if(idi->dbinfo.connected==NDO_TRUE)
-
return NDO_OK;
-
-
switch(idi->dbinfo.server_type){
-
case NDO2DB_DBSERVER_MYSQL:
-
#ifdef USE_MYSQL
-
if(!mysql_real_connect(&idi->dbinfo.mysql_conn,ndo2db_db_settings.host,ndo2db_db_settings.username,ndo2db_db_settings.password,ndo2db_db_settings.dbname,ndo2db_db_settings.port,NULL,0)){
-
-
mysql_close(&idi->dbinfo.mysql_conn);
-
syslog(LOG_USER|LOG_INFO,"Error: Could not connect to MySQL database: %s",mysql_error(&idi->dbinfo.mysql_conn));
-
result=NDO_ERROR;
-
idi->disconnect_client=NDO_TRUE;
-
}
-
else{
-
/*rubydrew@qq.com*/
-
mysql_set_character_set(&idi->dbinfo.mysql_conn, "utf8");
-
idi->dbinfo.connected=NDO_TRUE;
-
syslog(LOG_USER|LOG_DEBUG,"Successfully connected to MySQL database");
-
}
-
#endif
-
break;
-
case NDO2DB_DBSERVER_PGSQL:
-
#ifdef USE_PGSQL
-
snprintf(connect_string,sizeof(connect_string)-1,"host='%s' port=%d dbname='%s' user='%s' password='%s'",ndo2db_db_settings.host,ndo2db_db_settings.port,ndo2db_db_settings.dbname,ndo2db_db_settings.username,ndo2db_db_settings.password);
-
connect_string[sizeof(connect_string)-1]='\x0';
-
idi->dbinfo.pgsql_conn=PQconnectdb(connect_string);
-
-
if(PQstatus(idi->dbinfo.pgsql_conn)==CONNECTION_BAD){
-
PQfinish(idi->dbinfo.pgsql_conn);
-
syslog(LOG_USER|LOG_INFO,"Error: Could not connect to PostgreSQL database: %s",PQerrorMessage(idi->dbinfo.pgsql_conn));
-
result=NDO_ERROR;
-
idi->disconnect_client=NDO_TRUE;
-
}
-
else{
-
idi->dbinfo.connected=NDO_TRUE;
-
syslog(LOG_USER|LOG_DEBUG,"Successfully connected to PostgreSQL database");
-
}
-
#endif
-
break;
-
default:
-
break;
-
}
-
-
return result;
-
}
-
-
-
/* disconnects from the database server */
-
int ndo2db_db_disconnect(ndo2db_idi *idi){
-
-
if(idi==NULL)
-
return NDO_ERROR;
-
-
/* we're not connected... */
-
if(idi->dbinfo.connected==NDO_FALSE)
-
return NDO_OK;
-
-
switch(idi->dbinfo.server_type){
-
case NDO2DB_DBSERVER_MYSQL:
-
#ifdef USE_MYSQL
-
/* close the connection to the database server */
-
mysql_close(&idi->dbinfo.mysql_conn);
-
idi->dbinfo.connected=NDO_FALSE;
-
syslog(LOG_USER|LOG_DEBUG,"Successfully disconnected from MySQL database");
-
#endif
-
break;
-
case NDO2DB_DBSERVER_PGSQL:
-
#ifdef USE_PGSQL
-
/* close database connection and cleanup */
-
if(PQstatus(idi->dbinfo.pgsql_conn)!=CONNECTION_BAD)
-
PQfinish(idi->dbinfo.pgsql_conn);
-
idi->dbinfo.connected=NDO_FALSE;
-
syslog(LOG_USER|LOG_DEBUG,"Successfully disconnected from PostgreSQL database");
-
#endif
-
break;
-
default:
-
break;
-
}
-
-
return NDO_OK;
-
}
-
-
-
/* post-connect routines */
-
int ndo2db_db_hello(ndo2db_idi *idi){
-
char *buf=NULL;
-
char *ts=NULL;
-
int result=NDO_OK;
-
int have_instance=NDO_FALSE;
-
time_t current_time;
-
-
/* make sure we have an instance name */
-
if(idi->instance_name==NULL)
-
idi->instance_name=strdup("default");
-
-
/* get existing instance */
-
if(asprintf(&buf,"SELECT instance_id FROM %s WHERE instance_name='%s'",ndo2db_db_tablenames[NDO2DB_DBTABLE_INSTANCES],idi->instance_name)==-1)
-
buf=NULL;
-
if((result=ndo2db_db_query(idi,buf))==NDO_OK){
-
switch(idi->dbinfo.server_type){
-
case NDO2DB_DBSERVER_MYSQL:
-
#ifdef USE_MYSQL
-
idi->dbinfo.mysql_result=mysql_store_result(&idi->dbinfo.mysql_conn);
-
if((idi->dbinfo.mysql_row=mysql_fetch_row(idi->dbinfo.mysql_result))!=NULL){
-
ndo2db_convert_string_to_unsignedlong(idi->dbinfo.mysql_row[0],&idi->dbinfo.instance_id);
-
have_instance=NDO_TRUE;
-
}
-
mysql_free_result(idi->dbinfo.mysql_result);
-
idi->dbinfo.mysql_result=NULL;
-
#endif
-
break;
-
default:
-
break;
-
}
-
}
-
free(buf);
-
-
/* insert new instance if necessary */
-
if(have_instance==NDO_FALSE){
-
if(asprintf(&buf,"INSERT INTO %s SET instance_name='%s'",ndo2db_db_tablenames[NDO2DB_DBTABLE_INSTANCES],idi->instance_name)==-1)
-
buf=NULL;
-
if((result=ndo2db_db_query(idi,buf))==NDO_OK){
-
switch(idi->dbinfo.server_type){
-
case NDO2DB_DBSERVER_MYSQL:
-
#ifdef USE_MYSQL
-
idi->dbinfo.instance_id=mysql_insert_id(&idi->dbinfo.mysql_conn);
-
#endif
-
break;
-
default:
-
break;
-
}
-
}
-
free(buf);
-
}
-
-
ts=ndo2db_db_timet_to_sql(idi,idi->data_start_time);
-
-
/* record initial connection information */
-
if(asprintf(&buf,"INSERT INTO %s SET instance_id='%lu', connect_time=NOW(), last_checkin_time=NOW(), bytes_processed='0', lines_processed='0', entries_processed='0', agent_name='%s', agent_version='%s', disposition='%s', connect_source='%s', connect_type='%s', data_start_time=%s"
-
,ndo2db_db_tablenames[NDO2DB_DBTABLE_CONNINFO]
-
,idi->dbinfo.instance_id
-
,idi->agent_name
-
,idi->agent_version
-
,idi->disposition
-
,idi->connect_source
-
,idi->connect_type
-
,ts
-
)==-1)
-
buf=NULL;
-
if((result=ndo2db_db_query(idi,buf))==NDO_OK){
-
switch(idi->dbinfo.server_type){
-
case NDO2DB_DBSERVER_MYSQL:
-
#ifdef USE_MYSQL
-
idi->dbinfo.conninfo_id=mysql_insert_id(&idi->dbinfo.mysql_conn);
-
#endif
-
break;
-
default:
-
break;
-
}
-
}
-
free(buf);
-
free(ts);
-
-
/* get cached object ids... */
-
ndo2db_get_cached_object_ids(idi);
-
-
/* get latest times from various tables... */
-
ndo2db_db_get_latest_data_time(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_PROGRAMSTATUS],"status_update_time",(unsigned long *)&idi->dbinfo.latest_program_status_time);
-
ndo2db_db_get_latest_data_time(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_HOSTSTATUS],"status_update_time",(unsigned long *)&idi->dbinfo.latest_host_status_time);
-
ndo2db_db_get_latest_data_time(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_SERVICESTATUS],"status_update_time",(unsigned long *)&idi->dbinfo.latest_service_status_time);
-
ndo2db_db_get_latest_data_time(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_CONTACTSTATUS],"status_update_time",(unsigned long *)&idi->dbinfo.latest_contact_status_time);
-
ndo2db_db_get_latest_data_time(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_TIMEDEVENTQUEUE],"queued_time",(unsigned long *)&idi->dbinfo.latest_queued_event_time);
-
ndo2db_db_get_latest_data_time(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_COMMENTS],"entry_time",(unsigned long *)&idi->dbinfo.latest_comment_time);
-
-
/* calculate time of latest realtime data */
-
idi->dbinfo.latest_realtime_data_time=(time_t)0L;
-
if(idi->dbinfo.latest_program_status_time>idi->dbinfo.latest_realtime_data_time)
-
idi->dbinfo.latest_realtime_data_time=idi->dbinfo.latest_program_status_time;
-
if(idi->dbinfo.latest_host_status_time>idi->dbinfo.latest_realtime_data_time)
-
idi->dbinfo.latest_realtime_data_time=idi->dbinfo.latest_host_status_time;
-
if(idi->dbinfo.latest_service_status_time>idi->dbinfo.latest_realtime_data_time)
-
idi->dbinfo.latest_realtime_data_time=idi->dbinfo.latest_service_status_time;
-
if(idi->dbinfo.latest_contact_status_time>idi->dbinfo.latest_realtime_data_time)
-
idi->dbinfo.latest_realtime_data_time=idi->dbinfo.latest_contact_status_time;
-
if(idi->dbinfo.latest_queued_event_time>idi->dbinfo.latest_realtime_data_time)
-
idi->dbinfo.latest_realtime_data_time=idi->dbinfo.latest_queued_event_time;
-
-
/* get current time */
-
/* make sure latest time stamp isn't in the future - this will cause problems if a backwards system time change occurs */
-
time(¤t_time);
-
if(idi->dbinfo.latest_realtime_data_time>current_time)
-
idi->dbinfo.latest_realtime_data_time=current_time;
-
-
/* set flags to clean event queue, etc. */
-
idi->dbinfo.clean_event_queue=NDO_TRUE;
-
-
/* set misc data */
-
idi->dbinfo.last_notification_id=0L;
-
idi->dbinfo.last_contact_notification_id=0L;
-
-
return result;
-
}
-
-
-
/* pre-disconnect routines */
-
int ndo2db_db_goodbye(ndo2db_idi *idi){
-
int result=NDO_OK;
-
char *buf=NULL;
-
char *ts=NULL;
-
-
ts=ndo2db_db_timet_to_sql(idi,idi->data_end_time);
-
-
/* record last connection information */
-
if(asprintf(&buf,"UPDATE %s SET disconnect_time=NOW(), last_checkin_time=NOW(), data_end_time=%s, bytes_processed='%lu', lines_processed='%lu', entries_processed='%lu' WHERE conninfo_id='%lu'"
-
,ndo2db_db_tablenames[NDO2DB_DBTABLE_CONNINFO]
-
,ts
-
,idi->bytes_processed
-
,idi->lines_processed
-
,idi->entries_processed
-
,idi->dbinfo.conninfo_id
-
)==-1)
-
buf=NULL;
-
result=ndo2db_db_query(idi,buf);
-
free(buf);
-
-
free(ts);
-
-
return result;
-
}
-
-
-
/* checking routines */
-
int ndo2db_db_checkin(ndo2db_idi *idi){
-
int result=NDO_OK;
-
char *buf=NULL;
-
-
/* record last connection information */
-
if(asprintf(&buf,"UPDATE %s SET last_checkin_time=NOW(), bytes_processed='%lu', lines_processed='%lu', entries_processed='%lu' WHERE conninfo_id='%lu'"
-
,ndo2db_db_tablenames[NDO2DB_DBTABLE_CONNINFO]
-
,idi->bytes_processed
-
,idi->lines_processed
-
,idi->entries_processed
-
,idi->dbinfo.conninfo_id
-
)==-1)
-
buf=NULL;
-
result=ndo2db_db_query(idi,buf);
-
free(buf);
-
-
time(&ndo2db_db_last_checkin_time);
-
-
return result;
-
}
-
-
-
-
/****************************************************************************/
-
/* MISC FUNCTIONS */
-
/****************************************************************************/
-
-
/* escape a string for a SQL statement */
-
char *ndo2db_db_escape_string(ndo2db_idi *idi, char *buf){
-
register int x,y,z;
-
char *newbuf=NULL;
-
-
if(idi==NULL || buf==NULL)
-
return NULL;
-
-
z=strlen(buf);
-
-
/* allocate space for the new string */
-
if((newbuf=(char *)malloc((z*2)+1))==NULL)
-
return NULL;
-
-
/* escape characters */
-
for(x=0,y=0;x<z;x++){
-
-
if(idi->dbinfo.server_type==NDO2DB_DBSERVER_MYSQL){
-
if(buf[x]=='\'' || buf[x]=='\"' || buf[x]=='*' || buf[x]=='\\' || buf[x]=='$' || buf[x]=='?' || buf[x]=='.' || buf[x]=='^' || buf[x]=='+' || buf[x]=='[' || buf[x]==']' || buf[x]=='(' || buf[x]==')')
-
newbuf[y++]='\\';
-
}
-
else if(idi->dbinfo.server_type==NDO2DB_DBSERVER_PGSQL){
-
if(! (isspace(buf[x]) || isalnum(buf[x]) || (buf[x]=='_')) )
-
newbuf[y++]='\\';
-
}
-
-
newbuf[y++]=buf[x];
-
}
-
-
/* terminate escape string */
-
newbuf [y]='\0';
-
-
return newbuf;
-
}
-
-
-
/* SQL query conversion of time_t format to date/time format */
-
char *ndo2db_db_timet_to_sql(ndo2db_idi *idi, time_t t){
-
char *buf=NULL;
-
-
switch(idi->dbinfo.server_type){
-
case NDO2DB_DBSERVER_MYSQL:
-
#ifdef USE_MYSQL
-
asprintf(&buf,"FROM_UNIXTIME(%lu)",(unsigned long)t);
-
#endif
-
break;
-
case NDO2DB_DBSERVER_PGSQL:
-
#ifdef USE_PGSQL
-
asprintf(&buf,"FROM_UNIXTIME(%lu)",(unsigned long)t);
-
#endif
-
break;
-
default:
-
break;
-
}
-
-
return buf;
-
}
-
-
-
/* SQL query conversion of date/time format to time_t format */
-
char *ndo2db_db_sql_to_timet(ndo2db_idi *idi, char *field){
-
char *buf=NULL;
-
-
switch(idi->dbinfo.server_type){
-
case NDO2DB_DBSERVER_MYSQL:
-
#ifdef USE_MYSQL
-
asprintf(&buf,"UNIX_TIMESTAMP(%s)",(field==NULL)?"":field);
-
#endif
-
break;
-
case NDO2DB_DBSERVER_PGSQL:
-
#ifdef USE_PGSQL
-
asprintf(&buf,"UNIX_TIMESTAMP(%s",(field==NULL)?"":field);
-
#endif
-
break;
-
default:
-
break;
-
}
-
-
return buf;
-
}
-
-
-
/* executes a SQL statement */
-
int ndo2db_db_query(ndo2db_idi *idi, char *buf){
-
int result=NDO_OK;
-
int query_result=0;
-
-
if(idi==NULL || buf==NULL)
-
return NDO_ERROR;
-
-
/* if we're not connected, try and reconnect... */
-
if(idi->dbinfo.connected==NDO_FALSE){
-
if(ndo2db_db_connect(idi)==NDO_ERROR)
-
return NDO_ERROR;
-
ndo2db_db_hello(idi);
-
}
-
-
#ifdef DEBUG_NDO2DB_QUERIES
-
printf("%s\n\n",buf);
-
#endif
-
-
ndo2db_log_debug_info(NDO2DB_DEBUGL_SQL,0,"%s\n",buf);
-
-
switch(idi->dbinfo.server_type){
-
case NDO2DB_DBSERVER_MYSQL:
-
#ifdef USE_MYSQL
-
if((query_result=mysql_query(&idi->dbinfo.mysql_conn,buf))){
-
syslog(LOG_USER|LOG_INFO,"Error: mysql_query() failed for '%s'\n",buf);
-
syslog(LOG_USER|LOG_INFO,"mysql_error: '%s'\n", mysql_error(&idi->dbinfo.mysql_conn));
-
result=NDO_ERROR;
-
}
-
#endif
-
break;
-
case NDO2DB_DBSERVER_PGSQL:
-
#ifdef USE_PGSQL
-
idi->dbinfo.pgsql_result==PQexec(idi->dbinfo.pgsql_conn,buf);
-
if((query_result=PQresultStatus(idi->dbinfo.pgsql_result))!=PGRES_COMMAND_OK){
-
syslog(LOG_USER|LOG_INFO,"Error: PQexec() failed for '%s'\n",buf);
-
PQclear(idi->dbinfo.pgsql_result);
-
result=NDO_ERROR;
-
}
-
#endif
-
break;
-
default:
-
break;
-
}
-
-
/* handle errors */
-
if(result==NDO_ERROR)
-
ndo2db_handle_db_error(idi,query_result);
-
-
return result;
-
}
-
-
-
/* frees memory associated with a query */
-
int ndo2db_db_free_query(ndo2db_idi *idi){
-
-
if(idi==NULL)
-
return NDO_ERROR;
-
-
switch(idi->dbinfo.server_type){
-
case NDO2DB_DBSERVER_MYSQL:
-
#ifdef USE_MYSQL
-
#endif
-
break;
-
case NDO2DB_DBSERVER_PGSQL:
-
#ifdef USE_PGSQL
-
PQclear(idi->dbinfo.pgsql_result);
-
#endif
-
break;
-
default:
-
break;
-
}
-
-
return NDO_OK;
-
}
-
-
-
/* handles SQL query errors */
-
int ndo2db_handle_db_error(ndo2db_idi *idi, int query_result){
-
int result=0;
-
-
if(idi==NULL)
-
return NDO_ERROR;
-
-
/* we're not currently connected... */
-
if(idi->dbinfo.connected==NDO_FALSE)
-
return NDO_OK;
-
-
switch(idi->dbinfo.server_type){
-
case NDO2DB_DBSERVER_MYSQL:
-
#ifdef USE_MYSQL
-
result=mysql_errno(&idi->dbinfo.mysql_conn);
-
if(result==CR_SERVER_LOST || result==CR_SERVER_GONE_ERROR){
-
syslog(LOG_USER|LOG_INFO,"Error: Connection to MySQL database has been lost!\n");
-
ndo2db_db_disconnect(idi);
-
idi->disconnect_client=NDO_TRUE;
-
}
-
#endif
-
break;
-
case NDO2DB_DBSERVER_PGSQL:
-
#ifdef USE_PGSQL
-
result=PQstatus(idi->dbinfo.pgsql_conn);
-
if(result!=CONNECTION_OK){
-
syslog(LOG_USER|LOG_INFO,"Error: Connection to PostgreSQL database has been lost!\n");
-
ndo2db_db_disconnect(idi);
-
idi->disconnect_client=NDO_TRUE;
-
}
-
#endif
-
break;
-
default:
-
break;
-
}
-
-
return NDO_OK;
-
}
-
-
-
/* clears data from a given table (current instance only) */
-
int ndo2db_db_clear_table(ndo2db_idi *idi, char *table_name){
-
char *buf=NULL;
-
int result=NDO_OK;
-
-
if(idi==NULL || table_name==NULL)
-
return NDO_ERROR;
-
-
if(asprintf(&buf,"DELETE FROM %s WHERE instance_id='%lu'"
-
,table_name
-
,idi->dbinfo.instance_id
-
)==-1)
-
buf=NULL;
-
-
result=ndo2db_db_query(idi,buf);
-
free(buf);
-
-
return result;
-
}
-
-
-
/* gets latest data time value from a given table */
-
int ndo2db_db_get_latest_data_time(ndo2db_idi *idi, char *table_name, char *field_name, unsigned long *t){
-
char *buf=NULL;
-
char *ts[1];
-
int result=NDO_OK;
-
-
if(idi==NULL || table_name==NULL || field_name==NULL || t==NULL)
-
return NDO_ERROR;
-
-
*t=(time_t)0L;
-
ts[0]=ndo2db_db_sql_to_timet(idi,field_name);
-
-
if(asprintf(&buf,"SELECT %s AS latest_time FROM %s WHERE instance_id='%lu' ORDER BY %s DESC LIMIT 0,1"
-
,ts[0]
-
,table_name
-
,idi->dbinfo.instance_id
-
,field_name
-
)==-1)
-
buf=NULL;
-
-
if((result=ndo2db_db_query(idi,buf))==NDO_OK){
-
switch(idi->dbinfo.server_type){
-
case NDO2DB_DBSERVER_MYSQL:
-
#ifdef USE_MYSQL
-
idi->dbinfo.mysql_result=mysql_store_result(&idi->dbinfo.mysql_conn);
-
if((idi->dbinfo.mysql_row=mysql_fetch_row(idi->dbinfo.mysql_result))!=NULL){
-
ndo2db_convert_string_to_unsignedlong(idi->dbinfo.mysql_row[0],t);
-
}
-
mysql_free_result(idi->dbinfo.mysql_result);
-
idi->dbinfo.mysql_result=NULL;
-
#endif
-
break;
-
default:
-
break;
-
}
-
}
-
free(buf);
-
free(ts[0]);
-
-
return result;
-
}
-
-
-
/* trim/delete old data from a given table */
-
int ndo2db_db_trim_data_table(ndo2db_idi *idi, char *table_name, char *field_name, unsigned long t){
-
char *buf=NULL;
-
char *ts[1];
-
int result=NDO_OK;
-
-
if(idi==NULL || table_name==NULL || field_name==NULL)
-
return NDO_ERROR;
-
-
ts[0]=ndo2db_db_timet_to_sql(idi,(time_t)t);
-
-
if(asprintf(&buf,"DELETE FROM %s WHERE instance_id='%lu' AND %s<%s"
-
,table_name
-
,idi->dbinfo.instance_id
-
,field_name
-
,ts[0]
-
)==-1)
-
buf=NULL;
-
-
result=ndo2db_db_query(idi,buf);
-
free(buf);
-
free(ts[0]);
-
-
return result;
-
}
-
-
-
/* performs some periodic table maintenance... */
-
int ndo2db_db_perform_maintenance(ndo2db_idi *idi){
-
time_t current_time;
-
-
/* get the current time */
-
time(¤t_time);
-
-
/* trim tables */
-
if(((unsigned long)current_time-60)>(unsigned long)idi->dbinfo.last_table_trim_time){
-
if(idi->dbinfo.max_timedevents_age>0L)
-
ndo2db_db_trim_data_table(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_TIMEDEVENTS],"scheduled_time",(time_t)((unsigned long)current_time-idi->dbinfo.max_timedevents_age));
-
if(idi->dbinfo.max_systemcommands_age>0L)
-
ndo2db_db_trim_data_table(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_SYSTEMCOMMANDS],"start_time",(time_t)((unsigned long)current_time-idi->dbinfo.max_systemcommands_age));
-
if(idi->dbinfo.max_servicechecks_age>0L)
-
ndo2db_db_trim_data_table(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_SERVICECHECKS],"start_time",(time_t)((unsigned long)current_time-idi->dbinfo.max_servicechecks_age));
-
if(idi->dbinfo.max_hostchecks_age>0L)
-
ndo2db_db_trim_data_table(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_HOSTCHECKS],"start_time",(time_t)((unsigned long)current_time-idi->dbinfo.max_hostchecks_age));
-
if(idi->dbinfo.max_eventhandlers_age>0L)
-
ndo2db_db_trim_data_table(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_EVENTHANDLERS],"start_time",(time_t)((unsigned long)current_time-idi->dbinfo.max_eventhandlers_age));
-
if(idi->dbinfo.max_externalcommands_age>0L)
-
ndo2db_db_trim_data_table(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_EXTERNALCOMMANDS],"entry_time",(time_t)((unsigned long)current_time-idi->dbinfo.max_externalcommands_age));
-
if(idi->dbinfo.max_notifications_age>0L)
-
ndo2db_db_trim_data_table(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_NOTIFICATIONS],"entry_time",(time_t)((unsigned long)current_time-idi->dbinfo.max_notifications_age));
-
-
if(idi->dbinfo.max_contactnotifications_age>0L)
-
ndo2db_db_trim_data_table(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_CONTACTNOTIFICATIONS],"entry_time",(time_t)((unsigned long)current_time-idi->dbinfo.max_contactnotifications_age));
-
if(idi->dbinfo.max_contactnotificationmethods_age>0L)
-
ndo2db_db_trim_data_table(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_CONTACTNOTIFICATIONMETHODS],"entry_time",(time_t)((unsigned long)current_time-idi->dbinfo.max_contactnotificationmethods_age));
-
if(idi->dbinfo.max_logentries_age>0L)
-
ndo2db_db_trim_data_table(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_LOGENTRIES],"entry_time",(time_t)((unsigned long)current_time-idi->dbinfo.max_logentries_age));
-
if(idi->dbinfo.max_acknowledgements_age>0L)
-
ndo2db_db_trim_data_table(idi,ndo2db_db_tablenames[NDO2DB_DBTABLE_ACKNOWLEDGEMENTS],"entry_time
ndoutils-2.0.1-utf8(完美解决中文乱码问题)
软件下载地址:http://download.csdn.net/detail/drew27/8475389
参考资料:http://blog.sina.com.cn/s/blog_620f4cf70100pvlv.html
阅读(2363) | 评论(0) | 转发(1) |