You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-11-03 17:13:17 +03:00
150 lines
3.9 KiB
Perl
Executable File
150 lines
3.9 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
|
|
use DBI;
|
|
$hostname = 'localhost'; # Host that serves the mSQL Database
|
|
$dbname = 'snmp'; # mySQL Database name
|
|
$doit = 1;
|
|
|
|
sub usage {
|
|
print "$0 [-H sqlhost] [-u user] [-p password] [-d] [-n]\n";
|
|
exit 0;
|
|
}
|
|
|
|
while ($#ARGV > -1 && $ARGV[0] =~ /^-/) {
|
|
$_ = shift @ARGV;
|
|
usage if (/-h/);
|
|
$hostname = shift if (/-H/);
|
|
$user = shift if (/-u/);
|
|
$pass = shift if (/-p/);
|
|
$delete = 1 if (/-d/);
|
|
$verbose = 1 if (/-v/);
|
|
$doit = 0 if (/-n/);
|
|
}
|
|
|
|
( $dbh = DBI->connect("DBI:mysql:database=$dbname;host=$hostname", $user, $pass))
|
|
or die "\tConnect not ok: $DBI::errstr\n";
|
|
|
|
# run a whole ton of setup stuff
|
|
|
|
if ($delete) {
|
|
DO("drop database if exists $dbname");
|
|
}
|
|
|
|
# here we go
|
|
|
|
DO("create database $dbname");
|
|
DO("use $dbname");
|
|
|
|
# tables dumped with
|
|
#
|
|
# mysqldump -d ... snmp TABLE | perl -n -e 'while(<>) { last if (/CREATE/);} print "DO(\"$_"; while (<>) { last if (/\);/); print; } print ")\");\n";'
|
|
|
|
DO("CREATE TABLE hosterrors (
|
|
id int(11) DEFAULT '0' NOT NULL auto_increment,
|
|
host varchar(64),
|
|
errormsg varchar(128),
|
|
PRIMARY KEY (id)
|
|
)");
|
|
|
|
DO("CREATE TABLE hosttables (
|
|
id int(11) DEFAULT '0' NOT NULL auto_increment,
|
|
host varchar(64),
|
|
tablename varchar(64),
|
|
groupname varchar(32),
|
|
keephistory int(2),
|
|
PRIMARY KEY (id)
|
|
)");
|
|
|
|
DO("CREATE TABLE usergroups (
|
|
id int(11) DEFAULT '0' NOT NULL auto_increment,
|
|
user varchar(16),
|
|
groupname varchar(32),
|
|
isadmin enum('N','Y') DEFAULT 'N',
|
|
PRIMARY KEY (id)
|
|
)");
|
|
|
|
DO("CREATE TABLE userprefs (
|
|
id int(11) DEFAULT '0' NOT NULL auto_increment,
|
|
user varchar(16),
|
|
groupname varchar(32),
|
|
tablename varchar(64),
|
|
columnname varchar(64),
|
|
displayit enum('N','Y') DEFAULT 'Y',
|
|
PRIMARY KEY (id)
|
|
)");
|
|
|
|
DO("CREATE TABLE hostgroups (
|
|
id int(11) DEFAULT '0' NOT NULL auto_increment,
|
|
host varchar(64),
|
|
groupname varchar(32),
|
|
sysObjectId varchar(255),
|
|
sysDescr varchar(255),
|
|
versionTag varchar(32),
|
|
sysUpTime varchar(64),
|
|
PRIMARY KEY (id)
|
|
)");
|
|
|
|
DO("CREATE TABLE oncall (
|
|
id int(11) DEFAULT '0' NOT NULL auto_increment,
|
|
user varchar(16),
|
|
groupname varchar(32),
|
|
email varchar(64),
|
|
days varchar(64),
|
|
hours varchar(64),
|
|
PRIMARY KEY (id)
|
|
)");
|
|
|
|
DO("CREATE TABLE errorexpressions (
|
|
id int(11) DEFAULT '0' NOT NULL auto_increment,
|
|
tablename varchar(64),
|
|
expression varchar(255),
|
|
returnfield varchar(64),
|
|
PRIMARY KEY (id)
|
|
)");
|
|
|
|
DO("CREATE TABLE setup (
|
|
lookup varchar(64),
|
|
varcol varchar(128),
|
|
valcol varchar(128)
|
|
)");
|
|
|
|
DO("CREATE TABLE authgroup (
|
|
id int(11) DEFAULT '0' NOT NULL auto_increment,
|
|
lookup varchar(64),
|
|
varcol varchar(128),
|
|
valcol varchar(128),
|
|
PRIMARY KEY (id)
|
|
)");
|
|
|
|
DO("CREATE TABLE authhost (
|
|
id int(11) DEFAULT '0' NOT NULL auto_increment,
|
|
lookup varchar(64),
|
|
varcol varchar(128),
|
|
valcol varchar(128),
|
|
PRIMARY KEY (id)
|
|
)");
|
|
|
|
# insert the standard ucd-snmp expressions
|
|
DO("insert into errorexpressions(tablename, expression, returnfield)
|
|
values('prTable', 'prErrorFlag > 0', 'prErrMessage')");
|
|
DO("insert into errorexpressions(tablename, expression, returnfield)
|
|
values('extTable', 'extResult > 0', 'extOutput')");
|
|
DO("insert into errorexpressions(tablename, expression, returnfield)
|
|
values('dskTable', 'dskErrorFlag > 0', 'dskErrMessage')");
|
|
DO("insert into errorexpressions(tablename, expression, returnfield)
|
|
values('laTable', 'laErrorFlag > 0', 'laErrMessage')");
|
|
DO("insert into errorexpressions(tablename, expression, returnfield)
|
|
values('fileTable', 'fileErrorFlag > 0', 'fileErrMessage')");
|
|
DO("insert into errorexpressions(tablename, expression, returnfield)
|
|
values('snmperrs', 'snmperrErrorFlag > 0', 'snmperrErrMessage')");
|
|
DO("insert into errorexpressions(tablename, expression, returnfield)
|
|
values('memory', 'memSwapError > 0', 'memSwapErrMessage')");
|
|
|
|
$dbh->disconnect();
|
|
|
|
sub DO {
|
|
my $cmd = shift;
|
|
print $cmd,"\n" if ($verbose);
|
|
$dbh->do($cmd) if ($doit);
|
|
}
|