Merge branch 'test/ci' into 'master'

Add CI and config

See merge request icingadb/icingadb-main!1
This commit is contained in:
Noah Hilverling 2019-03-20 10:05:49 +01:00
commit c5fe05f6cd
39 changed files with 1288 additions and 9 deletions

66
config/config.go Normal file
View file

@ -0,0 +1,66 @@
package config
import (
"errors"
"github.com/go-ini/ini"
)
type RedisInfo struct {
Host string `ini:"host"`
Port string `ini:"port"`
User string `ini:"user"`
Password string `ini:"password"`
}
var redisInfo = &RedisInfo{
Port: "6379",
}
type MysqlInfo struct {
Host string `ini:"host"`
Port string `ini:"port"`
Database string `ini:"database"`
User string `ini:"user"`
Password string `ini:"password"`
}
var mysqlInfo = &MysqlInfo{
Port: "3306",
Database: "icingadb",
}
func ParseConfig(path string) error {
cfg, err := ini.Load(path)
if err != nil {
return err
}
if err := cfg.Section("redis").MapTo(redisInfo); err != nil {
return err
}
if redisInfo.Host == "" {
return errors.New("missing redis host")
}
if err = cfg.Section("mysql").MapTo(mysqlInfo); err != nil {
return err
}
if mysqlInfo.Host == "" {
return errors.New("missing mysql host")
}
if mysqlInfo.User == "" || mysqlInfo.Password == "" {
return errors.New("missing mysql credentials")
}
return nil
}
func GetMysqlInfo() *MysqlInfo {
return mysqlInfo
}
func GetRedisInfo() *RedisInfo {
return redisInfo
}

View file

@ -0,0 +1,62 @@
SET sql_mode = 'STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION';
SET innodb_strict_mode = 1;
CREATE TABLE command (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + type + name)',
zone_id binary(20) DEFAULT NULL COMMENT 'zone.id',
env_id binary(20) NOT NULL COMMENT 'env.id',
name_checksum binary(20) NOT NULL COMMENT 'sha1(name)',
properties_checksum binary(20) NOT NULL COMMENT 'sha1(all properties)',
customvars_checksum binary(20) NOT NULL COMMENT 'sha1(command.vars)',
arguments_checksum binary(20) NOT NULL COMMENT 'sha1(arguments from command_argument where command_argument.command_id = id)',
envvars_checksum binary(20) NOT NULL COMMENT 'sha1(envvars from command_envvar where command_envvar.command_id = id)',
type enum('CheckCommand','NotificationCommand','EventCommand') NOT NULL,
name varchar(255) NOT NULL,
name_ci varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
command text NOT NULL,
timeout smallint(5) unsigned NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE command_argument (
command_id binary(20) NOT NULL COMMENT 'command.id',
argument_key varchar(64) NOT NULL,
env_id binary(20) NOT NULL COMMENT 'env.id',
properties_checksum binary(20) NOT NULL COMMENT 'sha1(all properties)',
argument_value text DEFAULT NULL,
argument_order tinyint(3) DEFAULT NULL,
description text DEFAULT NULL,
argument_key_override varchar(64) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
repeat_key enum('y','n') NOT NULL,
required enum('y','n') NOT NULL,
set_if varchar(255) DEFAULT NULL,
skip_key enum('y','n') NOT NULL,
PRIMARY KEY (command_id,argument_key)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE command_envvar (
command_id binary(20) NOT NULL COMMENT 'command.id',
envvar_key varchar(64) NOT NULL,
env_id binary(20) NOT NULL COMMENT 'env.id',
properties_checksum binary(20) NOT NULL COMMENT 'sha1(all properties)',
envvar_value text NOT NULL,
PRIMARY KEY (command_id,envvar_key)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE command_customvar (
command_id binary(20) NOT NULL COMMENT 'command.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, command_id)
) ENGINE=InnoDb ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;
/* TODO(el): Default custom variables are missing */

View file

@ -0,0 +1,44 @@
SET sql_mode = 'STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION';
SET innodb_strict_mode = 1;
CREATE TABLE host_comment (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + name)',
env_id binary(20) NOT NULL COMMENT 'environment.id',
host_id binary(20) NOT NULL COMMENT 'host.id',
name_checksum binary(20) NOT NULL COMMENT 'sha1(name)',
properties_checksum binary(20) NOT NULL,
name varchar(255) NOT NULL,
author varchar(255) NOT NULL COLLATE utf8mb4_unicode_ci,
text text NOT NULL,
entry_type enum('comment','ack','downtime','flapping') NOT NULL,
entry_time bigint(20) unsigned NOT NULL,
is_persistent enum('y','n') NOT NULL,
expire_time bigint(20) unsigned DEFAULT NULL,
zone_id binary(20) DEFAULT NULL COMMENT 'zone.id',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE service_comment (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + name)',
env_id binary(20) NOT NULL COMMENT 'environment.id',
service_id binary(20) NOT NULL COMMENT 'service.id',
name_checksum binary(20) NOT NULL COMMENT 'sha1(name)',
properties_checksum binary(20) NOT NULL,
name varchar(255) NOT NULL,
author varchar(255) NOT NULL COLLATE utf8mb4_unicode_ci,
text text NOT NULL,
entry_type enum('comment','ack','downtime','flapping') NOT NULL,
entry_time bigint(20) unsigned NOT NULL,
is_persistent enum('y','n') NOT NULL,
expire_time bigint(20) unsigned DEFAULT NULL,
zone_id binary(20) DEFAULT NULL COMMENT 'zone.id',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;

View file

@ -0,0 +1,26 @@
SET sql_mode = 'STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION';
SET innodb_strict_mode = 1;
CREATE TABLE customvar (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + name + value)',
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
name_checksum binary(20) NOT NULL COMMENT 'sha1(name)',
reference_counter int(6) unsigned NOT NULL COMMENT 'if 0, the custom var needs to be deleted',
name varchar(255) NOT NULL COLLATE utf8_bin,
value text NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDb ROW_FORMAT=COMPRESSED DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;
CREATE TABLE customvar_flat (
customvar_id binary(20) NOT NULL COMMENT 'sha1(customvar.id)',
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
path_checksum binary(20) NOT NULL COMMENT 'sha1(flatname before conversion)',
flatname_checksum binary(20) NOT NULL COMMENT 'sha1(flatname after conversion)',
flatname varchar(512) NOT NULL COLLATE utf8_bin COMMENT 'Path converted with `.` and `[ ]`',
flatvalue text NOT NULL,
PRIMARY KEY (customvar_id, path_checksum)
) ENGINE=InnoDb ROW_FORMAT=COMPRESSED DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;

View file

@ -0,0 +1,54 @@
SET sql_mode = 'STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION';
SET innodb_strict_mode = 1;
CREATE TABLE host_downtime (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + name)',
env_id binary(20) NOT NULL COMMENT 'environment.id',
host_id binary(20) NOT NULL COMMENT 'host.id',
name_checksum binary(20) NOT NULL COMMENT 'sha1(name)',
properties_checksum binary(20) NOT NULL COMMENT 'sha1(all properties)',
name varchar(255) NOT NULL,
author varchar(255) NOT NULL COLLATE utf8mb4_unicode_ci,
comment text NOT NULL,
entry_time bigint(20) unsigned NOT NULL,
scheduled_start_time bigint(20) unsigned NOT NULL,
scheduled_end_time bigint(20) unsigned NOT NULL,
duration bigint(20) unsigned NOT NULL,
is_fixed enum('y', 'n') NOT NULL,
is_in_effect enum('y', 'n') NOT NULL,
actual_start_time bigint(20) unsigned DEFAULT NULL COMMENT 'Time when the host went into a problem state during the downtimes timeframe',
actual_end_time bigint(20) unsigned DEFAULT NULL COMMENT 'Problem state assumed: scheduled_end_time if fixed, start_time + duration otherwise',
zone_id binary(20) DEFAULT NULL COMMENT 'zone.id',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE service_downtime (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + name)',
env_id binary(20) NOT NULL COMMENT 'environment.id',
service_id binary(20) DEFAULT NULL COMMENT 'service.id',
name_checksum binary(20) NOT NULL COMMENT 'sha1(name)',
properties_checksum binary(20) NOT NULL COMMENT 'sha1(all properties)',
name varchar(255) NOT NULL,
author varchar(255) NOT NULL COLLATE utf8mb4_unicode_ci,
comment text NOT NULL,
entry_time bigint(20) unsigned NOT NULL,
scheduled_start_time bigint(20) unsigned NOT NULL,
scheduled_end_time bigint(20) unsigned NOT NULL,
duration bigint(20) unsigned NOT NULL,
is_fixed enum('y', 'n') NOT NULL,
is_in_effect enum('y', 'n') NOT NULL,
actual_start_time bigint(20) unsigned DEFAULT NULL COMMENT 'Time when the host went into a problem state during the downtimes timeframe',
actual_end_time bigint(20) unsigned DEFAULT NULL COMMENT 'Problem state assumed: scheduled_end_time if fixed, start_time + duration otherwise',
zone_id binary(20) DEFAULT NULL COMMENT 'zone.id',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;

View file

@ -0,0 +1,16 @@
SET sql_mode = 'STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION';
SET innodb_strict_mode = 1;
CREATE TABLE endpoint (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + name)',
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
name_checksum binary(20) NOT NULL COMMENT 'sha1(name)',
properties_checksum binary(20) NOT NULL,
name varchar(255) NOT NULL,
name_ci varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
zone_id binary(20) NOT NULL COMMENT 'zone.id',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;

View file

@ -0,0 +1,18 @@
SET sql_mode = 'STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION';
SET innodb_strict_mode = 1;
CREATE TABLE environment (
id binary(20) NOT NULL COMMENT 'sha1(name)',
name varchar(255) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE icingadb_instance (
id binary(16) NOT NULL COMMENT 'UUIDv4',
environment_id binary(20) NOT NULL COMMENT 'environment.id',
heartbeat bigint(20) unsigned NOT NULL COMMENT '*nix timestamp',
responsible enum('y','n') NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;

View file

@ -0,0 +1,29 @@
DROP PROCEDURE IF EXISTS cleanup_url;
DELIMITER //
CREATE PROCEDURE cleanup_url()
BEGIN
DELETE
FROM action_url
WHERE NOT EXISTS(
SELECT h.action_url_id
FROM host h
WHERE h.action_url_id = action_url.id
);
DELETE
FROM notes_url
WHERE NOT EXISTS(
SELECT h.notes_url_id
FROM host h
WHERE h.notes_url_id = notes_url.id
);
DELETE
FROM icon_image
WHERE NOT EXISTS(
SELECT h.icon_image_id
FROM host h
WHERE h.icon_image_id = icon_image.id
);
END//
DELIMITER ;

View file

@ -0,0 +1,5 @@
DROP FUNCTION IF EXISTS unix_timestamp_ms;
CREATE FUNCTION unix_timestamp_ms()
RETURNS BIGINT UNSIGNED
RETURN FLOOR((UNIX_TIMESTAMP(NOW(3)) * 1000));

View file

@ -0,0 +1,56 @@
DELIMITER //
CREATE PROCEDURE populate_pending_hosts_for_environment(
IN env_id BINARY(20)
)
BEGIN
SET @bigNow = unix_timestamp_ms();
INSERT INTO host_state (
host_id,
env_id,
state_type,
soft_state,
hard_state,
attempt,
is_active_check,
is_problem,
is_handled,
is_reachable,
is_flapping,
is_acknowledged,
in_downtime,
last_update,
last_state_change,
last_soft_state,
last_hard_state,
next_check
) SELECT
h.id,
env_id,
'hard',
99,
99,
1,
'n',
'n',
'n',
'y',
'n',
'n',
'n',
@bigNow,
@bigNow,
99,
99,
@bigNow + h.check_interval * 1000
FROM host h
WHERE NOT EXISTS(
SELECT host_id
FROM host_state hs
WHERE hs.host_id = h.id)
AND h.env_id = env_id;
END
//
DELIMITER ;

143
etc/schema/mysql/host.sql Normal file
View file

@ -0,0 +1,143 @@
SET sql_mode = 'STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION';
SET innodb_strict_mode = 1;
CREATE TABLE host (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + name)',
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
name_checksum binary(20) NOT NULL COMMENT 'sha1(name)',
properties_checksum binary(20) NOT NULL COMMENT 'sha1(all properties)',
customvars_checksum binary(20) NOT NULL COMMENT 'sha1(host.vars)',
groups_checksum binary(20) NOT NULL COMMENT 'sha1(hostgroup.name + hostgroup.name ...)',
name varchar(255) NOT NULL,
name_ci varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
display_name varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
address varchar(255) NOT NULL,
address6 varchar(255) NOT NULL,
address_bin binary(4) DEFAULT NULL,
address6_bin binary(16) DEFAULT NULL,
checkcommand varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'checkcommand.name',
checkcommand_id binary(20) NOT NULL COMMENT 'checkcommand.id',
max_check_attempts int(10) unsigned NOT NULL,
check_period varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'timeperiod.name',
check_period_id binary(20) DEFAULT NULL COMMENT 'timeperiod.id',
check_timeout int(10) unsigned DEFAULT NULL,
check_interval int(10) unsigned NOT NULL,
check_retry_interval int(10) unsigned NOT NULL,
active_checks_enabled enum('y','n') NOT NULL,
passive_checks_enabled enum('y','n') NOT NULL,
event_handler_enabled enum('y','n') NOT NULL,
notifications_enabled enum('y','n') NOT NULL,
flapping_enabled enum('y','n') NOT NULL,
flapping_threshold_low float unsigned NOT NULL,
flapping_threshold_high float unsigned NOT NULL,
perfdata_enabled enum('y','n') NOT NULL,
eventcommand varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'eventcommand.name',
eventcommand_id binary(20) DEFAULT NULL COMMENT 'eventcommand.id',
is_volatile enum('y','n') NOT NULL,
action_url_id binary(20) DEFAULT NULL COMMENT 'action_url.id',
notes_url_id binary(20) DEFAULT NULL COMMENT 'notes_url.id',
notes text NOT NULL,
icon_image_id binary(20) DEFAULT NULL COMMENT 'icon_image.id',
icon_image_alt varchar(32) NOT NULL,
zone varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'zone.name',
zone_id binary(20) DEFAULT NULL COMMENT 'zone.id',
command_endpoint varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'endpoint.name',
command_endpoint_id binary(20) DEFAULT NULL COMMENT 'endpoint.id',
PRIMARY KEY (id),
KEY idx_action_url_checksum (action_url_id) COMMENT 'cleanup',
KEY idx_notes_url_checksum (notes_url_id) COMMENT 'cleanup',
KEY idx_icon_image_checksum (icon_image_id) COMMENT 'cleanup'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE hostgroup (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + name)',
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
name_checksum binary(20) NOT NULL COMMENT 'sha1(name)',
properties_checksum binary(20) NOT NULL COMMENT 'sha1(all properties)',
customvars_checksum binary(20) NOT NULL COMMENT 'sha1(hostgroup.vars)',
name varchar(255) NOT NULL,
name_ci varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
display_name varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
zone_id binary(20) DEFAULT NULL COMMENT 'zone.id',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE hostgroup_member (
host_id binary(20) NOT NULL COMMENT 'host.id',
hostgroup_id binary(20) NOT NULL COMMENT 'hostgroup.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (hostgroup_id,host_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE host_customvar (
host_id binary(20) NOT NULL COMMENT 'host.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, host_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE hostgroup_customvar (
hostgroup_id binary(20) NOT NULL COMMENT 'hostgroup.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, hostgroup_id)
) ENGINE=InnoDb ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;
CREATE TABLE host_state (
host_id binary(20) NOT NULL COMMENT 'host.id',
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
state_type enum('hard', 'soft') NOT NULL,
soft_state tinyint(1) unsigned NOT NULL,
hard_state tinyint(1) unsigned NOT NULL,
attempt tinyint(1) unsigned NOT NULL,
severity smallint unsigned NOT NULL,
output text DEFAULT NULL,
long_output text DEFAULT NULL,
performance_data text DEFAULT NULL,
check_commandline varchar(255) DEFAULT NULL,
is_problem enum('y', 'n') NOT NULL,
is_handled enum('y', 'n') NOT NULL,
is_reachable enum('y', 'n') NOT NULL,
is_flapping enum('y', 'n') NOT NULL,
is_acknowledged enum('y', 'n', 'sticky') NOT NULL,
acknowledgement_comment_id binary(20) DEFAULT NULL COMMENT 'comment.id',
in_downtime enum('y', 'n') NOT NULL,
execution_time bigint(20) unsigned DEFAULT NULL,
latency bigint(20) unsigned DEFAULT NULL,
timeout bigint(20) unsigned DEFAULT NULL,
last_update bigint(20) unsigned NOT NULL,
last_state_change bigint(20) unsigned NOT NULL,
last_soft_state tinyint(1) unsigned NOT NULL,
last_hard_state tinyint(1) unsigned NOT NULL,
next_check bigint(20) unsigned NOT NULL,
PRIMARY KEY (host_id)
) ENGINE=InnoDb ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;

View file

@ -0,0 +1,54 @@
SET sql_mode = 'STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION';
SET innodb_strict_mode = 1;
CREATE TABLE notification (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + name)',
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
name_checksum binary(20) NOT NULL COMMENT 'sha1(name)',
properties_checksum binary(20) NOT NULL,
customvars_checksum binary(20) NOT NULL COMMENT 'sha1(notification.vars)',
users_checksum binary(20) NOT NULL,
usergroups_checksum binary(20) NOT NULL,
name varchar(255) NOT NULL,
name_ci varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
host_id binary(20) NOT NULL COMMENT 'host.id',
service_id binary(20) DEFAULT NULL COMMENT 'service.id',
command_id binary(20) NOT NULL COMMENT 'command.id',
times_begin int(10) unsigned DEFAULT NULL,
times_end int(10) unsigned DEFAULT NULL,
notification_interval int(10) unsigned NOT NULL,
period_id binary(20) DEFAULT NULL COMMENT 'timeperiod.id',
states tinyint(2) unsigned NOT NULL,
types smallint(3) unsigned NOT NULL,
zone_id binary(20) DEFAULT NULL COMMENT 'zone.id',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE notification_user (
notification_id binary(20) NOT NULL COMMENT 'notification.id',
user_id binary(20) NOT NULL COMMENT 'user.id',
env_id binary(20) NOT NULL COMMENT 'environment.id',
PRIMARY KEY (notification_id,user_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE notification_usergroup (
notification_id binary(20) NOT NULL COMMENT 'notification.id',
usergroup_id binary(20) NOT NULL COMMENT 'usergroup.id',
env_id binary(20) NOT NULL COMMENT 'environment.id',
PRIMARY KEY (notification_id, usergroup_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE notification_customvar (
notification_id binary(20) NOT NULL COMMENT 'notification.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, notification_id)
) ENGINE=InnoDb ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;

View file

@ -0,0 +1,136 @@
SET sql_mode = 'STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION';
SET innodb_strict_mode = 1;
CREATE TABLE service (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + name)',
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
name_checksum binary(20) NOT NULL COMMENT 'sha1(name)',
properties_checksum binary(20) NOT NULL COMMENT 'sha1(all properties)',
customvars_checksum binary(20) NOT NULL COMMENT 'sha1(service.vars)',
groups_checksum binary(20) NOT NULL COMMENT 'sha1(servicegroup.name + servicegroup.name ...)',
host_id binary(20) NOT NULL COMMENT 'sha1(host.id)',
name varchar(255) NOT NULL,
name_ci varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
display_name varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
checkcommand varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'checkcommand.name',
checkcommand_id binary(20) NOT NULL COMMENT 'checkcommand.id',
max_check_attempts int(10) unsigned NOT NULL,
check_period varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'timeperiod.name',
check_period_id binary(20) DEFAULT NULL COMMENT 'timeperiod.id',
check_timeout int(10) unsigned DEFAULT NULL,
check_interval int(10) unsigned NOT NULL,
check_retry_interval int(10) unsigned NOT NULL,
active_checks_enabled enum('y','n') NOT NULL,
passive_checks_enabled enum('y','n') NOT NULL,
event_handler_enabled enum('y','n') NOT NULL,
notifications_enabled enum('y','n') NOT NULL,
flapping_enabled enum('y','n') NOT NULL,
flapping_threshold_low float unsigned NOT NULL,
flapping_threshold_high float unsigned NOT NULL,
perfdata_enabled enum('y','n') NOT NULL,
eventcommand varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'eventcommand.name',
eventcommand_id binary(20) DEFAULT NULL COMMENT 'eventcommand.id',
is_volatile enum('y','n') NOT NULL,
action_url_id binary(20) DEFAULT NULL COMMENT 'action_url.id',
notes_url_id binary(20) DEFAULT NULL COMMENT 'notes_url.id',
notes text NOT NULL,
icon_image_id binary(20) DEFAULT NULL COMMENT 'icon_image.id',
icon_image_alt varchar(32) NOT NULL,
zone varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'zone.name',
zone_id binary(20) DEFAULT NULL COMMENT 'zone.id',
command_endpoint varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'endpoint.name',
command_endpoint_id binary(20) DEFAULT NULL COMMENT 'endpoint.id',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE servicegroup (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + name)',
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
name_checksum binary(20) NOT NULL COMMENT 'sha1(name)',
properties_checksum binary(20) NOT NULL COMMENT 'sha1(all properties)',
customvars_checksum binary(20) NOT NULL COMMENT 'sha1(servicegroup.vars)',
name varchar(255) NOT NULL,
name_ci varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
display_name varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
zone_id binary(20) DEFAULT NULL COMMENT 'zone.id',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE servicegroup_member (
service_id binary(20) NOT NULL COMMENT 'service.id',
servicegroup_id binary(20) NOT NULL COMMENT 'servicegroup.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (servicegroup_id,service_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE service_customvar (
service_id binary(20) NOT NULL COMMENT 'service.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, service_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE servicegroup_customvar (
servicegroup_id binary(20) NOT NULL COMMENT 'servicegroup.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, servicegroup_id)
) ENGINE=InnoDb ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;
CREATE TABLE service_state (
service_id binary(20) NOT NULL COMMENT 'service.id',
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
state_type enum('hard', 'soft') NOT NULL,
soft_state tinyint(1) unsigned NOT NULL,
hard_state tinyint(1) unsigned NOT NULL,
attempt tinyint(1) unsigned NOT NULL,
severity smallint unsigned NOT NULL,
output text DEFAULT NULL,
long_output text DEFAULT NULL,
performance_data text DEFAULT NULL,
check_commandline varchar(255) DEFAULT NULL,
is_problem enum('y', 'n') NOT NULL,
is_handled enum('y', 'n') NOT NULL,
is_reachable enum('y', 'n') NOT NULL,
is_flapping enum('y', 'n') NOT NULL,
is_acknowledged enum('y', 'n', 'sticky') NOT NULL,
acknowledgement_comment_id binary(20) DEFAULT NULL COMMENT 'comment.id',
in_downtime enum('y', 'n') NOT NULL,
execution_time bigint(20) unsigned DEFAULT NULL,
latency bigint(20) unsigned DEFAULT NULL,
timeout bigint(20) unsigned DEFAULT NULL,
last_update bigint(20) unsigned NOT NULL,
last_state_change bigint(20) unsigned NOT NULL,
last_soft_state tinyint(1) unsigned NOT NULL,
last_hard_state tinyint(1) unsigned NOT NULL,
next_check bigint(20) unsigned NOT NULL,
PRIMARY KEY (service_id)
) ENGINE=InnoDb ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;

View file

@ -0,0 +1,11 @@
id;action_url
7ae3bfebcb1d644e9ad9;http://google.com
4bdd2ffe5134c4283afd;https://netways.de
f2040cbe68069d252c8d;https://icinga.com
4a4e5b48bf31ae07ca84;https://example.com
271661f114b4a123bdc8;https://test.net
67af359061dd5e8417d4;http://localhost:8080/action
fe465a8ed9e9ca13ab92;https://github.com/icinga
9978ba84b178edb04c5f;http://heise.de
db1b8dde62083321f6fc;http://www.myaction.com/action?host=$host.name$
000ab0a3143b170aa9be;https://foobar.com/action
1 id action_url
2 7ae3bfebcb1d644e9ad9 http://google.com
3 4bdd2ffe5134c4283afd https://netways.de
4 f2040cbe68069d252c8d https://icinga.com
5 4a4e5b48bf31ae07ca84 https://example.com
6 271661f114b4a123bdc8 https://test.net
7 67af359061dd5e8417d4 http://localhost:8080/action
8 fe465a8ed9e9ca13ab92 https://github.com/icinga
9 9978ba84b178edb04c5f http://heise.de
10 db1b8dde62083321f6fc http://www.myaction.com/action?host=$host.name$
11 000ab0a3143b170aa9be https://foobar.com/action

View file

@ -0,0 +1,7 @@
id;zone_id;env_id;name_checksum;properties_checksum;arguments_checksum;envvars_checksum;type;name;name_ci;command;timeout
028c76d230427a74cf13;5bf526ee976b4ccade5a;b65da3345b7d4cff9a24;e092682d99e54714972c;56e79a3538284e88b0c6;8724b67d15e3407ca18a;9d62a097e80b47be9b52;CheckCommand;ssh;ssh;check_ssh;10
7c6a6e2c6cd0b7eb6e3d;5bf526ee976b4ccade5a;b65da3345b7d4cff9a24;9be217119fb447fdaabb;74e1d06fc0ec41fe96ae;8352f468b029422a935f;beacaf4124f9447498c1;CheckCommand;http;http;check_http;10
9669632761ac9a6b34c7;5bf526ee976b4ccade5a;b65da3345b7d4cff9a24;d31aa3f08a3249b59e35;d2d80d9f3501482b9993;b2f8bbee31684e609d58;c7a536eeec964e64bede;CheckCommand;ping;ping;check_ping;10
b35cfcabd029d83ed0e9;5bf526ee976b4ccade5a;b65da3345b7d4cff9a24;afc75755c38e427892c7;091a208425604cd3906a;a69d97ba65ef4870ac6e;4a300f6d2c6e437c951d;CheckCommand;udp;udp;check_udp;30
8026ac5396f0824556a5;5bf526ee976b4ccade5a;b65da3345b7d4cff9a24;2ecd4850301f4270b93b;c2de4a2fbdba4e9594a3;db6cff485e18432aa5e2;d9f6ce09ed7b48d2ab17;CheckCommand;smtp;smtp;check_smtp;50
e55cfd3301c0454a8481;5bf526ee976b4ccade5a;b65da3345b7d4cff9a24;fa27c97c4e5d48938ca4;6b952824120747fe9501;50cbf42f63b948a89e0e;33fe8a4ed79049928857;NotificationCommand;notify-by-email;notify-by-email;notifiy-by-email;20
1 id zone_id env_id name_checksum properties_checksum arguments_checksum envvars_checksum type name name_ci command timeout
2 028c76d230427a74cf13 5bf526ee976b4ccade5a b65da3345b7d4cff9a24 e092682d99e54714972c 56e79a3538284e88b0c6 8724b67d15e3407ca18a 9d62a097e80b47be9b52 CheckCommand ssh ssh check_ssh 10
3 7c6a6e2c6cd0b7eb6e3d 5bf526ee976b4ccade5a b65da3345b7d4cff9a24 9be217119fb447fdaabb 74e1d06fc0ec41fe96ae 8352f468b029422a935f beacaf4124f9447498c1 CheckCommand http http check_http 10
4 9669632761ac9a6b34c7 5bf526ee976b4ccade5a b65da3345b7d4cff9a24 d31aa3f08a3249b59e35 d2d80d9f3501482b9993 b2f8bbee31684e609d58 c7a536eeec964e64bede CheckCommand ping ping check_ping 10
5 b35cfcabd029d83ed0e9 5bf526ee976b4ccade5a b65da3345b7d4cff9a24 afc75755c38e427892c7 091a208425604cd3906a a69d97ba65ef4870ac6e 4a300f6d2c6e437c951d CheckCommand udp udp check_udp 30
6 8026ac5396f0824556a5 5bf526ee976b4ccade5a b65da3345b7d4cff9a24 2ecd4850301f4270b93b c2de4a2fbdba4e9594a3 db6cff485e18432aa5e2 d9f6ce09ed7b48d2ab17 CheckCommand smtp smtp check_smtp 50
7 e55cfd3301c0454a8481 5bf526ee976b4ccade5a b65da3345b7d4cff9a24 fa27c97c4e5d48938ca4 6b952824120747fe9501 50cbf42f63b948a89e0e 33fe8a4ed79049928857 NotificationCommand notify-by-email notify-by-email notifiy-by-email 20

View file

@ -0,0 +1,2 @@
id;env_id;name_checksum;properties_checksum;name;name_ci;zone_checksum;
de05024e342884336eb9;b65da3345b7d4cff9a24;182b2683d3ce1422da51;1d38f896a509ce6a233f;host-1.example.com;host-1.example.com;5bf526ee976b4ccade5a
1 id;env_id;name_checksum;properties_checksum;name;name_ci;zone_checksum;
2 de05024e342884336eb9;b65da3345b7d4cff9a24;182b2683d3ce1422da51;1d38f896a509ce6a233f;host-1.example.com;host-1.example.com;5bf526ee976b4ccade5a

View file

@ -0,0 +1,4 @@
env_id;name
b65da3345b7d4cff9a24;berlin
2591057fe9b1668fe6f3;rio
a776df0725a7fb7e8350;london
1 env_id name
2 b65da3345b7d4cff9a24 berlin
3 2591057fe9b1668fe6f3 rio
4 a776df0725a7fb7e8350 london

View file

@ -0,0 +1,2 @@
id;env_id;name_checksum;name
6625851376b230891032;b65da3345b7d4cff9a24;33f3e3be317c6e79daae;run_my_event.sh
1 id env_id name_checksum name
2 6625851376b230891032 b65da3345b7d4cff9a24 33f3e3be317c6e79daae run_my_event.sh

View file

@ -0,0 +1,2 @@
id;env_id;name_checksum;properties_checksum;customvars_checksum;groups_checksum;name;name_ci;display_name;address;address6;address_bin;address6_bin;checkcommand;checkcommand_id;max_check_attempts;check_period;check_period_id;check_timeout;check_interval;check_retry_interval;active_checks_enabled;passive_checks_enabled;event_handler_enabled;notifications_enabled;flapping_enabled;flapping_threshold_low;flapping_threshold_high;perfdata_enabled;eventcommand;eventcommand_id;is_volatile;action_url_id;notes_url_id;notes;icon_image_id;icon_image_alt;zone;zone_id;command_endpoint;command_endpoint_id
4bf94dba13178df0a0a4;b65da3345b7d4cff9a24;29d5877b34cc481ddf93;52ea2238f3f248295f4e;fe98cdc58d454dd68c6c;2f27f2ad0f9e725febb1;host-1.example.com;host-1.example.com;Host-1;127.0.0.1;::1;abcd;abcdefgh;/bin/foobar;028c76d230427a74cf13;3;24x7;0f75d7bbb6bcc4ac23cc;50;60;10;y;y;y;y;y;"";"";y;"";"";n;"";"";foobar asdf;"";"";master;5bf526ee976b4ccade5a;host-1.example.com;de05024e342884336eb9
1 id env_id name_checksum properties_checksum customvars_checksum groups_checksum name name_ci display_name address address6 address_bin address6_bin checkcommand checkcommand_id max_check_attempts check_period check_period_id check_timeout check_interval check_retry_interval active_checks_enabled passive_checks_enabled event_handler_enabled notifications_enabled flapping_enabled flapping_threshold_low flapping_threshold_high perfdata_enabled eventcommand eventcommand_id is_volatile action_url_id notes_url_id notes icon_image_id icon_image_alt zone zone_id command_endpoint command_endpoint_id
2 4bf94dba13178df0a0a4 b65da3345b7d4cff9a24 29d5877b34cc481ddf93 52ea2238f3f248295f4e fe98cdc58d454dd68c6c 2f27f2ad0f9e725febb1 host-1.example.com host-1.example.com Host-1 127.0.0.1 ::1 abcd abcdefgh /bin/foobar 028c76d230427a74cf13 3 24x7 0f75d7bbb6bcc4ac23cc 50 60 10 y y y y y y n foobar asdf master 5bf526ee976b4ccade5a host-1.example.com de05024e342884336eb9

View file

@ -0,0 +1,5 @@
id;env_id;name_checksum;properties_checksum;name;name_ci;display_name
2707e212c64878787ff7;b65da3345b7d4cff9a24;061c5b49e09d4fab6232;b739d140a7a58a65b61f;linux-server;linux-server;Linux Server
21229b386d88d686e22f;b65da3345b7d4cff9a24;25697d5e364550ee4bb3;b77b58b5ce480395acb2;windows;windows;Windows
2f27f2ad0f9e725febb1;b65da3345b7d4cff9a24;75e381fffc334e19c372;167e9930fd7b55b376aa;Dc1;dc1;DC 1
bc04f6c12cf74149bdb7;b65da3345b7d4cff9a24;86a2f9a4799960bac520;461146038345a545f79c;Dc2;dc2;DC 2
1 id env_id name_checksum properties_checksum name name_ci display_name
2 2707e212c64878787ff7 b65da3345b7d4cff9a24 061c5b49e09d4fab6232 b739d140a7a58a65b61f linux-server linux-server Linux Server
3 21229b386d88d686e22f b65da3345b7d4cff9a24 25697d5e364550ee4bb3 b77b58b5ce480395acb2 windows windows Windows
4 2f27f2ad0f9e725febb1 b65da3345b7d4cff9a24 75e381fffc334e19c372 167e9930fd7b55b376aa Dc1 dc1 DC 1
5 bc04f6c12cf74149bdb7 b65da3345b7d4cff9a24 86a2f9a4799960bac520 461146038345a545f79c Dc2 dc2 DC 2

View file

@ -0,0 +1,2 @@
host_id;hostgroup_id;env_id
4bf94dba13178df0a0a4;2707e212c64878787ff7;b65da3345b7d4cff9a24
1 host_id hostgroup_id env_id
2 4bf94dba13178df0a0a4 2707e212c64878787ff7 b65da3345b7d4cff9a24

View file

@ -0,0 +1,11 @@
id;icon_image
7e2bc7526cf32e0ca468;/usr/local/icons/icon.img
152a0cb13bb7725fdba0;/var/www/icon.ico
c1e1a286bf94b776876b;/icons/linux.png
9c78fe334eb32efbe5dc;/icons/windows.png
f1eaa4bce4a5adbad360;/icons/bsd.png
c27aa5794a5391881c4e;/icons/cloud.png
e2ce7f6b557ca20e7929;/icons/switch.png
3612e1fd75143e4582ec;/icons/router.png
d2b0743a6c62896b07b6;/icons/hub.png
403956eaf7a48505726b;/icons/rj45-cable.png
1 id icon_image
2 7e2bc7526cf32e0ca468 /usr/local/icons/icon.img
3 152a0cb13bb7725fdba0 /var/www/icon.ico
4 c1e1a286bf94b776876b /icons/linux.png
5 9c78fe334eb32efbe5dc /icons/windows.png
6 f1eaa4bce4a5adbad360 /icons/bsd.png
7 c27aa5794a5391881c4e /icons/cloud.png
8 e2ce7f6b557ca20e7929 /icons/switch.png
9 3612e1fd75143e4582ec /icons/router.png
10 d2b0743a6c62896b07b6 /icons/hub.png
11 403956eaf7a48505726b /icons/rj45-cable.png

View file

@ -0,0 +1,165 @@
LOAD DATA INFILE '/var/lib/mysql-files/environment.csv'
REPLACE
INTO TABLE environment
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/host.csv'
REPLACE
INTO TABLE host
CHARACTER SET utf8mb4
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/hostgroup.csv'
REPLACE
INTO TABLE hostgroup
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/hostgroup_member.csv'
REPLACE
INTO TABLE hostgroup_member
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/service.csv'
REPLACE
INTO TABLE service
CHARACTER SET utf8mb4
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/servicegroup.csv'
REPLACE
INTO TABLE servicegroup
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/servicegroup_member.csv'
REPLACE
INTO TABLE servicegroup_member
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/command.csv'
REPLACE
INTO TABLE command
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/eventcommand.csv'
REPLACE
INTO TABLE eventcommand
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/action_url.csv'
REPLACE
INTO TABLE action_url
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/notes_url.csv'
REPLACE
INTO TABLE notes_url
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/icon_image.csv'
REPLACE
INTO TABLE icon_image
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/endpoint.csv'
REPLACE
INTO TABLE endpoint
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/zone.csv'
REPLACE
INTO TABLE zone
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/notification.csv'
REPLACE
INTO TABLE notification
CHARACTER SET utf8mb4
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/user.csv'
REPLACE
INTO TABLE user
CHARACTER SET utf8mb4
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/usergroup.csv'
REPLACE
INTO TABLE usergroup
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
LOAD DATA INFILE '/var/lib/mysql-files/usergroup_member.csv'
REPLACE
INTO TABLE usergroup_member
COLUMNS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

View file

@ -0,0 +1,11 @@
id;notes_url
0f75d7bbb6bcc4ac23cc;https://netways.de/notes
48c192d5df8397c5aefb;https://mynotes1.com/notes
d3bd74fb834008ef18b0;http://mynotes2.com/notes2
f018361bed42fb11e307;http://netways.de/
c6bce8bb9287eecec438;http://google.com/notes
1b3802cd9bf366a6deb6;http://example.com/foobar
72b8661ed08a3638094e;https://foobar.com/notes
d9930220bddf331861e7;http://barfoo.net
5201df53a52a5026ecfb;https://www.test.com/myicinganotes
4d1951edf8204a93ac91;http://localhost:8080/notes
1 id notes_url
2 0f75d7bbb6bcc4ac23cc https://netways.de/notes
3 48c192d5df8397c5aefb https://mynotes1.com/notes
4 d3bd74fb834008ef18b0 http://mynotes2.com/notes2
5 f018361bed42fb11e307 http://netways.de/
6 c6bce8bb9287eecec438 http://google.com/notes
7 1b3802cd9bf366a6deb6 http://example.com/foobar
8 72b8661ed08a3638094e https://foobar.com/notes
9 d9930220bddf331861e7 http://barfoo.net
10 5201df53a52a5026ecfb https://www.test.com/myicinganotes
11 4d1951edf8204a93ac91 http://localhost:8080/notes

View file

@ -0,0 +1,2 @@
id;env_id;name_checksum;properties_checksum;name;name_ci;host_id;service_id;command_id;times_begin;times_end;notification_interval;period_id;states;types;zone_id
0a30d6199584432ea369;b65da3345b7d4cff9a24;fe53687c39514a5794b7;2992037dd9dd4577ae79;notify-1;notify-1;4bf94dba13178df0a0a4;NULL;e55cfd3301c0454a8481;NULL;NULL;300;f98a83dfd1fd4aaa9af9;15;96;5bf526ee976b4ccade5a
1 id env_id name_checksum properties_checksum name name_ci host_id service_id command_id times_begin times_end notification_interval period_id states types zone_id
2 0a30d6199584432ea369 b65da3345b7d4cff9a24 fe53687c39514a5794b7 2992037dd9dd4577ae79 notify-1 notify-1 4bf94dba13178df0a0a4 NULL e55cfd3301c0454a8481 NULL NULL 300 f98a83dfd1fd4aaa9af9 15 96 5bf526ee976b4ccade5a

View file

@ -0,0 +1,3 @@
id;env_id;name_checksum;properties_checksum;groups_checksum;host_checksum;name;name_ci;display_name;checkcommand;checkcommand_id;max_check_attempts;check_period;check_period_id;check_timeout;check_interval;check_retry_interval;active_checks_enabled;passive_checks_enabled;event_handler_enabled;notifications_enabled;flapping_enabled;flapping_threshold_low;flapping_threshold_high;perfdata_enabled;eventcommand;eventcommand_id;is_volatile;action_url_id;notes_url_id;notes;icon_image_id;icon_image_alt;zone;zone_id;command_endpoint;command_endpoint_id
761cd44dac02475eace0;b65da3345b7d4cff9a24;c06ec2d10dc547f4b0ae;0fe34c2ab0a84d70bc1f;bafbaa5b9c024db19376;4bf94dba13178df0a0a4;ssh;ssh;SSH;ssh;028c76d230427a74cf13;3;24x7;f82ff663461d45baac03;60;60;10;y;y;y;y;y;NULL;NULL;y;NULL;NULL;n;NULL;NULL;NULL;NULL;NULL;master;5bf526ee976b4ccade5a;host-1.example.com;4bf94dba13178df0a0a4
1c26aa30d3b9406ba838;b65da3345b7d4cff9a24;54cb075cbcfe43a6b927;f9250c3bc58248d7b5e6;1247ae00b6ef4f0ca7e1;129421882f9a5d27097f;http;http;HTTP;http;7c6a6e2c6cd0b7eb6e3d;3;24x7;f82ff663461d45baac03;60;60;10;y;y;n;y;n;NULL;NULL;y;NULL;NULL;n;NULL;NULL;NULL;NULL;NULL;master;5bf526ee976b4ccade5a;NULL;NULL
1 id env_id name_checksum properties_checksum groups_checksum host_checksum name name_ci display_name checkcommand checkcommand_id max_check_attempts check_period check_period_id check_timeout check_interval check_retry_interval active_checks_enabled passive_checks_enabled event_handler_enabled notifications_enabled flapping_enabled flapping_threshold_low flapping_threshold_high perfdata_enabled eventcommand eventcommand_id is_volatile action_url_id notes_url_id notes icon_image_id icon_image_alt zone zone_id command_endpoint command_endpoint_id
2 761cd44dac02475eace0 b65da3345b7d4cff9a24 c06ec2d10dc547f4b0ae 0fe34c2ab0a84d70bc1f bafbaa5b9c024db19376 4bf94dba13178df0a0a4 ssh ssh SSH ssh 028c76d230427a74cf13 3 24x7 f82ff663461d45baac03 60 60 10 y y y y y NULL NULL y NULL NULL n NULL NULL NULL NULL NULL master 5bf526ee976b4ccade5a host-1.example.com 4bf94dba13178df0a0a4
3 1c26aa30d3b9406ba838 b65da3345b7d4cff9a24 54cb075cbcfe43a6b927 f9250c3bc58248d7b5e6 1247ae00b6ef4f0ca7e1 129421882f9a5d27097f http http HTTP http 7c6a6e2c6cd0b7eb6e3d 3 24x7 f82ff663461d45baac03 60 60 10 y y n y n NULL NULL y NULL NULL n NULL NULL NULL NULL NULL master 5bf526ee976b4ccade5a NULL NULL

View file

@ -0,0 +1,2 @@
id;env_id;name_checksum;properties_checksum;name;name_ci;display_name;zone_id
6eaf35fcc99d490cb110;b65da3345b7d4cff9a24;7078e8355bb444d78616;60a2a3583ce443c498a5;myGroup;mygroup;My Group;5bf526ee976b4ccade5a
1 id env_id name_checksum properties_checksum name name_ci display_name zone_id
2 6eaf35fcc99d490cb110 b65da3345b7d4cff9a24 7078e8355bb444d78616 60a2a3583ce443c498a5 myGroup mygroup My Group 5bf526ee976b4ccade5a

View file

@ -0,0 +1,2 @@
service_id;servicegroup_id;env_id
761cd44dac02475eace0;6eaf35fcc99d490cb110;b65da3345b7d4cff9a24
1 service_id servicegroup_id env_id
2 761cd44dac02475eace0 6eaf35fcc99d490cb110 b65da3345b7d4cff9a24

View file

@ -0,0 +1,3 @@
id;env_id;name_checksum;properties_checksum;groups_checksum;name;name_ci;label;email;pager;notifications_enabled;period_id;states;types;zone_id
68e12f6f9ebb42cea93b;b65da3345b7d4cff9a24;9379c8d791fe4728ab4c;d75ffc6507b34f18b083;210436e39ad141d189b4;John;john;John;john@doe.com;NULL;y;f98a83dfd1fd4aaa9af9;15;96;5bf526ee976b4ccade5a
2744e0261ab04aa2ad66;b65da3345b7d4cff9a24;c04cdda645d341c1bfc3;c49635a2d3e74f329d60;9f57dd06be924335ad1c;Bob;bob;Bob;bob@apple.com;NULL;y;996b2dfd57a14d39b815;7;32;5bf526ee976b4ccade5a
1 id env_id name_checksum properties_checksum groups_checksum name name_ci label email pager notifications_enabled period_id states types zone_id
2 68e12f6f9ebb42cea93b b65da3345b7d4cff9a24 9379c8d791fe4728ab4c d75ffc6507b34f18b083 210436e39ad141d189b4 John john John john@doe.com NULL y f98a83dfd1fd4aaa9af9 15 96 5bf526ee976b4ccade5a
3 2744e0261ab04aa2ad66 b65da3345b7d4cff9a24 c04cdda645d341c1bfc3 c49635a2d3e74f329d60 9f57dd06be924335ad1c Bob bob Bob bob@apple.com NULL y 996b2dfd57a14d39b815 7 32 5bf526ee976b4ccade5a

View file

@ -0,0 +1,3 @@
id;env_id;name_checksum;properties_checksum;name;name_ci;display_name;zone_id
4ba982d6c3a44798ad73;b65da3345b7d4cff9a24;e9e70554b63d4e04ade3;a7ead798a7b94668a6de;Administrators;administrators;Admins;5bf526ee976b4ccade5a
074302b6f8ae40c88567;b65da3345b7d4cff9a24;1710fe8a008c433486cb;dc30bdf415544b6fa061;Users;users;Users;5bf526ee976b4ccade5a
1 id env_id name_checksum properties_checksum name name_ci display_name zone_id
2 4ba982d6c3a44798ad73 b65da3345b7d4cff9a24 e9e70554b63d4e04ade3 a7ead798a7b94668a6de Administrators administrators Admins 5bf526ee976b4ccade5a
3 074302b6f8ae40c88567 b65da3345b7d4cff9a24 1710fe8a008c433486cb dc30bdf415544b6fa061 Users users Users 5bf526ee976b4ccade5a

View file

@ -0,0 +1,3 @@
user_id;usergroup_id;env_id
2744e0261ab04aa2ad66;4ba982d6c3a44798ad73;b65da3345b7d4cff9a24
68e12f6f9ebb42cea93b;074302b6f8ae40c88567;b65da3345b7d4cff9a24
1 user_id usergroup_id env_id
2 2744e0261ab04aa2ad66 4ba982d6c3a44798ad73 b65da3345b7d4cff9a24
3 68e12f6f9ebb42cea93b 074302b6f8ae40c88567 b65da3345b7d4cff9a24

View file

@ -0,0 +1,3 @@
id;env_checksum;name_checksum;properties_checksum;name;name_ci;is_global;parent_id
5bf526ee976b4ccade5a;b65da3345b7d4cff9a24;1c99751939822f45bdbe;69616e902472807a9478;master;master;n;NULL
627b6a90fbee738ae674;b65da3345b7d4cff9a24;dc2baecdb1b69ffc174a;e5c614f057dede0a5765;global;global;y;NULL
1 id env_checksum name_checksum properties_checksum name name_ci is_global parent_id
2 5bf526ee976b4ccade5a b65da3345b7d4cff9a24 1c99751939822f45bdbe 69616e902472807a9478 master master n NULL
3 627b6a90fbee738ae674 b65da3345b7d4cff9a24 dc2baecdb1b69ffc174a e5c614f057dede0a5765 global global y NULL

View file

@ -0,0 +1,50 @@
SET sql_mode = 'STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION';
SET innodb_strict_mode = 1;
CREATE TABLE timeperiod (
id binary(20) NOT NULL COMMENT 'sha1(env.name + name)',
env_id binary(20) NOT NULL COMMENT 'env.id',
name_checksum binary(20) NOT NULL COMMENT 'sha1(name)',
ranges_checksum binary(20) NOT NULL COMMENT 'sha1(ranges from timeperiod_ranges where timeperiod_range.timeperiod_id = id)',
properties_checksum binary(20) NOT NULL COMMENT 'sha1(all properties)',
customvars_checksum binary(20) NOT NULL COMMENT 'sha1(timeperiod.vars)',
includes_checksum binary(20) NOT NULL COMMENT 'sha1(includes)',
excludes_checksum binary(20) NOT NULL COMMENT 'sha1(excludes)',
name varchar(255) NOT NULL,
name_ci varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
display_name varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
prefer_includes enum('y','n') NOT NULL,
zone_id binary(20) DEFAULT NULL COMMENT 'zone.id',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE timeperiod_range (
timeperiod_id binary(20) NOT NULL COMMENT 'timeperiod.id',
range_key varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
env_id binary(20) NOT NULL COMMENT 'env.id',
range_value varchar(255) NOT NULL,
PRIMARY KEY (timeperiod_id,range_key)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE timeperiod_override (
timeperiod_id binary(20) NOT NULL COMMENT 'timeperiod.id',
override_id binary(20) NOT NULL COMMENT 'timeperiod.id',
env_id binary(20) NOT NULL COMMENT 'env.id',
override_type enum('include','exclude') NOT NULL,
PRIMARY KEY (timeperiod_id,override_id,override_type)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE timeperiod_customvar (
timeperiod_id binary(20) NOT NULL COMMENT 'timeperiod.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, timeperiod_id)
) ENGINE=InnoDb ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;

128
etc/schema/mysql/types Normal file
View file

@ -0,0 +1,128 @@
object:*
name
zone (if has zone)
checksum:*
name_checksum
environment_checksum
zone_id (if has zone)
object:*command
name
type (CheckCommand, EventCommand, NotificationCommand)
command
timeout
arguments (not part of property_checksum)
envvars (not part of property_checksum)
checksum:Xcommand
properties_checksum
arguments_checksum
argument_ids
envvars_checksum
envvar_ids
object:notification
times_begin (not part of property_checksum)
times_end (not part of property_checksum)
checksum:notification
host_id
service_id (if servicenotification)
command_id
properties_checksum
user_ids
users_checksum
usergroup_ids
usergroups_checksum
object:Xcomment
author
text
entry_type
is_persistent
expire_time
checksum:Xcomment
host_id (if hostcomment)
service_id (if servicecomment)
object:Xgroup
display_name
checksum:Xgroup
properties_checksum
object:user
display_name
email
pager
notification_enabled
states
types
checksum:user
properies_checksum
group_ids
groups_checksum
period_id
object:zone
is_global
checkusm:zone
properties_checksum
parents_checksum
parent_ids
object:endpoint
checksum:endpoint
properties_checksum
object:host/service
checkcommand
max_check_attempts
check_timeout
check_interval
check_retry_interval
active_checks_enabled
passive_checks_enabled
event_handler_enabled
notifications_enabled
flapping_enabled
flapping_threshold_low
flapping_threshold_high
perfdata_enabled
is_volatile
notes
icon_image_alt
command_endpoint
check_period
eventcommand
display_name
address (if host)
address6 (if host)
checksum:host/service
host_id (if service)
action_url_id
notes_url_id
icon_image_id
command_endpoint_id
check_period_id
eventcommand_id
groups_checksum
group_ids
object:timeperiod
display_name
prefer_indluces
checksum:timeperiod
ranges_checksum
includes_checksum
include_ids
excludes_checksum
exclude_ids

32
etc/schema/mysql/url.sql Normal file
View file

@ -0,0 +1,32 @@
SET sql_mode = 'STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION';
SET innodb_strict_mode = 1;
CREATE TABLE icon_image (
id binary(20) NOT NULL COMMENT 'sha1(icon_image)',
icon_image text COLLATE utf8mb4_unicode_ci NOT NULL,
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
reference_counter int(6) unsigned NOT NULL COMMENT 'if 0, the custom var needs to be deleted',
PRIMARY KEY (env_id, id),
KEY idx_icon_image (icon_image(255))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE action_url (
id binary(20) NOT NULL COMMENT 'sha1(action_url)',
action_url text COLLATE utf8mb4_unicode_ci NOT NULL,
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
reference_counter int(6) unsigned NOT NULL COMMENT 'if 0, the custom var needs to be deleted',
PRIMARY KEY (env_id, id),
KEY idx_action_url (action_url(255))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE notes_url (
id binary(20) NOT NULL COMMENT 'sha1(notes_url)',
notes_url text COLLATE utf8mb4_unicode_ci NOT NULL,
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
reference_counter int(6) unsigned NOT NULL COMMENT 'if 0, the custom var needs to be deleted',
PRIMARY KEY (env_id, id),
KEY idx_notes_url (notes_url(255))
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;

67
etc/schema/mysql/user.sql Normal file
View file

@ -0,0 +1,67 @@
SET sql_mode = 'STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION';
SET innodb_strict_mode = 1;
CREATE TABLE user (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + name)',
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
name_checksum binary(20) NOT NULL COMMENT 'sha1(name)',
properties_checksum binary(20) NOT NULL COMMENT 'sha1(all properties)',
customvars_checksum binary(20) NOT NULL COMMENT 'sha1(user.vars)',
groups_checksum binary(20) NOT NULL COMMENT 'sha1(usergroup.name + userroup.name ...)',
name varchar(255) NOT NULL,
name_ci varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
display_name varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
email varchar(255) NOT NULL,
pager varchar(255) NOT NULL,
notifications_enabled enum('y', 'n') NOT NULL,
period_id binary(20) DEFAULT NULL COMMENT 'timeperiod.id',
states tinyint(2) unsigned NOT NULL,
types smallint(3) unsigned NOT NULL,
zone_id binary(20) DEFAULT NULL COMMENT 'zone.id',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE usergroup (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + name)',
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
name_checksum binary(20) NOT NULL COMMENT 'sha1(name)',
properties_checksum binary(20) NOT NULL COMMENT 'sha1(all properties)',
customvars_checksum binary(20) NOT NULL COMMENT 'sha1(usergroup.vars)',
name varchar(255) NOT NULL,
name_ci varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
display_name varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
zone_id binary(20) DEFAULT NULL COMMENT 'zone.id',
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE usergroup_member (
user_id binary(20) NOT NULL COMMENT 'user.id',
usergroup_id binary(20) NOT NULL COMMENT 'usergroup.id',
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (user_id,usergroup_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE user_customvar (
user_id binary(20) NOT NULL COMMENT 'user.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, user_id)
) ENGINE=InnoDb ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;
CREATE TABLE usergroup_customvar (
usergroup_id binary(20) NOT NULL COMMENT 'usergroup.id',
customvar_id binary(20) NOT NULL COMMENT 'customvar.id',
env_id binary(20) DEFAULT NULL COMMENT 'sha1(environment.name)',
PRIMARY KEY (customvar_id, usergroup_id)
) ENGINE=InnoDb ROW_FORMAT=DYNAMIC DEFAULT CHARSET=utf8mb4 COLLATE utf8mb4_bin;

31
etc/schema/mysql/zone.sql Normal file
View file

@ -0,0 +1,31 @@
SET sql_mode = 'STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION';
SET innodb_strict_mode = 1;
CREATE TABLE zone (
id binary(20) NOT NULL COMMENT 'sha1(environment.name + name)',
env_id binary(20) NOT NULL COMMENT 'sha1(environment.name)',
name_checksum binary(20) NOT NULL COMMENT 'sha1(name)',
properties_checksum binary(20) NOT NULL COMMENT 'sha1(all properties)',
parents_checksum binary(20) NOT NULL COMMENT 'sha1(all parents checksums)',
name varchar(255) NOT NULL,
name_ci varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL,
is_global enum('y','n') NOT NULL,
parent_id binary(20) DEFAULT NULL COMMENT 'zone.id',
PRIMARY KEY (id),
INDEX idx_parent_id (parent_id),
UNIQUE INDEX idx_env_id_id (env_id,id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
CREATE TABLE zone_tree (
parent_id binary(20) NOT NULL COMMENT 'zone.id',
child_id binary(20) NOT NULL COMMENT 'zone.id',
env_id binary(20) NOT NULL COMMENT 'env.id',
depth tinyint(3) unsigned NOT NULL,
PRIMARY KEY (child_id,depth),
UNIQUE INDEX zone_relation (child_id,parent_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;

7
icingadb.ini Normal file
View file

@ -0,0 +1,7 @@
[redis]
host="127.0.0.1"
[mysql]
host="127.0.0.1"
user="module-dev"
password="icinga0815!"

30
main.go
View file

@ -1,9 +1,11 @@
package main
import (
"flag"
"git.icinga.com/icingadb/icingadb-connection"
"git.icinga.com/icingadb/icingadb-ha"
"git.icinga.com/icingadb/icingadb-json-decoder"
"git.icinga.com/icingadb/icingadb-main/config"
"git.icinga.com/icingadb/icingadb-main/configobject/host"
"git.icinga.com/icingadb/icingadb-main/configobject/sync"
"git.icinga.com/icingadb/icingadb-main/supervisor"
@ -11,22 +13,32 @@ import (
)
func main() {
redisConn, err := icingadb_connection.NewRDBWrapper("127.0.0.1:6379")
configPath := flag.String("config", "icingadb.ini", "path to config")
flag.Parse()
if err := config.ParseConfig(*configPath); err != nil {
log.Fatalf("Error reading config: %v", err)
}
redisInfo := config.GetRedisInfo()
mysqlInfo := config.GetMysqlInfo()
redisConn, err := icingadb_connection.NewRDBWrapper(redisInfo.Host + ":" + redisInfo.Port)
if err != nil {
log.Fatal(err)
}
mysqlConn, err := icingadb_connection.NewDBWrapper("module-dev:icinga0815!@tcp(127.0.0.1:3306)/icingadb" )
mysqlConn, err := icingadb_connection.NewDBWrapper(mysqlInfo.User + ":" + mysqlInfo.Password + "@tcp(" + mysqlInfo.Host + ":" + mysqlInfo.Port + ")/" + mysqlInfo.Database)
if err != nil {
log.Fatal(err)
}
super := supervisor.Supervisor{
ChErr: make (chan error),
ChEnv: make(chan *icingadb_ha.Environment),
ChErr: make(chan error),
ChEnv: make(chan *icingadb_ha.Environment),
ChDecode: make(chan *icingadb_json_decoder.JsonDecodePackages),
Rdbw: redisConn,
Dbw: mysqlConn,
Rdbw: redisConn,
Dbw: mysqlConn,
}
ha := icingadb_ha.HA{}
@ -42,7 +54,7 @@ func main() {
super.ChErr <- sync.Operator(&super, chHA, &sync.Context{
ObjectType: "host",
Factory: host.NewHost,
Factory: host.NewHost,
InsertStmt: host.BulkInsertStmt,
DeleteStmt: host.BulkDeleteStmt,
UpdateStmt: host.BulkUpdateStmt,
@ -51,10 +63,10 @@ func main() {
for {
select {
case err := <- super.ChErr:
case err := <-super.ChErr:
if err != nil {
log.Fatal(err)
}
}
}
}
}