#187 #183 removing unitialized variables code

#184 adding merge between show global variables and show global variables
#184 update RPM template'
This commit is contained in:
root 2016-04-14 22:42:59 +02:00
parent 67c80de3da
commit 0ffe9507b6
2 changed files with 44 additions and 30 deletions

View file

@ -46,6 +46,6 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/* %{_mandir}/man1/*
%changelog %changelog
* Thu Jan 5 2015 Jean-Marie RENOUARD <jmrenouard@gmail.com> %VERSION%-1 * Thu Apr 14 20145 Jean-Marie RENOUARD <jmrenouard@gmail.com> %VERSION%-1
- Initial RPM release - Initial RPM release

View file

@ -157,7 +157,7 @@ sub usage {
. " --debug Print debug information\n" . " --debug Print debug information\n"
. " --dbstat Print database information\n" . " --dbstat Print database information\n"
. " --idxstat Print index information\n" . " --idxstat Print index information\n"
. "--sysstat Print system information\n" . " --sysstat Print system information\n"
. " --bannedports Ports banned separated by comma(,)\n" . " --bannedports Ports banned separated by comma(,)\n"
. " --maxportallowed Number of ports opened allowed on this hosts\n" . " --maxportallowed Number of ports opened allowed on this hosts\n"
. " --cvefile CVE File for vulnerability checks\n" . " --cvefile CVE File for vulnerability checks\n"
@ -933,31 +933,40 @@ sub get_tuning_info {
# Populates all of the variable and status hashes # Populates all of the variable and status hashes
my ( %mystat, %myvar, $dummyselect, %myrepl, %myslaves ); my ( %mystat, %myvar, $dummyselect, %myrepl, %myslaves );
sub get_all_vars { sub arr2hash {
my $href=shift;
my $harr=shift;
my $sep=shift;
$sep='\s' unless defined($sep);
foreach my $line (@$harr) {
$line =~ /([a-zA-Z_]*)\s*$sep\s*(.*)/;
$$href{$1} = $2;
debugprint "V: $1 = $2";
}
}
sub get_all_vars {
# We need to initiate at least one query so that our data is useable # We need to initiate at least one query so that our data is useable
$dummyselect = select_one "SELECT VERSION()"; $dummyselect = select_one "SELECT VERSION()";
debugprint "VERSION: " . $dummyselect . ""; debugprint "VERSION: " . $dummyselect . "";
$result{'MySQL Client'}{'Version'} = $dummyselect; $result{'MySQL Client'}{'Version'} = $dummyselect;
my @mysqlvarlist = select_array "SHOW /*!50000 GLOBAL */ VARIABLES";
foreach my $line (@mysqlvarlist) { my @mysqlvarlist = select_array ("SHOW GLOBAL VARIABLES");
$line =~ /([a-zA-Z_]*)\s*(.*)/; push (@mysqlvarlist, select_array ("SHOW VARIABLES"));
$myvar{$1} = $2; arr2hash(\%myvar, \@mysqlvarlist);
$result{'Variables'}{$1} = $2; $result{'Variables'}=%myvar;
debugprint "V: $1 = $2";
} my @mysqlstatlist = select_array ("SHOW GLOBAL STATUS");
my @mysqlstatlist = select_array "SHOW /*!50000 GLOBAL */ STATUS"; push (@mysqlstatlist, select_array ("SHOW STATUS"));
foreach my $line (@mysqlstatlist) { arr2hash(\%mystat, \@mysqlstatlist);
$line =~ /([a-zA-Z_]*)\s*(.*)/; $result{'Status'}=%mystat;
$mystat{$1} = $2;
$result{'Status'}{$1} = $2;
debugprint "S: $1 = $2";
}
$myvar{'have_galera'} = "NO"; $myvar{'have_galera'} = "NO";
if ( defined($myvar{'wsrep_provider_options'}) && $myvar{'wsrep_provider_options'} ne "") { if ( defined($myvar{'wsrep_provider_options'}) && $myvar{'wsrep_provider_options'} ne "") {
$myvar{'have_galera'} = "YES"; $myvar{'have_galera'} = "YES";
debugprint "Galera options: ". $myvar{'wsrep_provider_options'}; debugprint "Galera options: ". $myvar{'wsrep_provider_options'};
} }
# Workaround for MySQL bug #59393 wrt. ignore-builtin-innodb # Workaround for MySQL bug #59393 wrt. ignore-builtin-innodb
if ( ( $myvar{'ignore_builtin_innodb'} || "" ) eq "ON" ) { if ( ( $myvar{'ignore_builtin_innodb'} || "" ) eq "ON" ) {
$myvar{'have_innodb'} = "NO"; $myvar{'have_innodb'} = "NO";
@ -990,16 +999,9 @@ sub get_all_vars {
} }
} }
debugprint Dumper(@mysqlenginelist); debugprint Dumper(@mysqlenginelist);
my @mysqlslave = select_array "SHOW SLAVE STATUS\\G"; my @mysqlslave = select_array("SHOW SLAVE STATUS\\G");
arr2hash(\%myrepl, \@mysqlslave, ':');
foreach my $line (@mysqlslave) { $result{'Replication'}{'Status'}=%myrepl;
if ( $line =~ /\s*(.*):\s*(.*)/ ) {
debugprint "$1 => $2";
$myrepl{"$1"} = $2;
$result{'Replication'}{'Status'}{$1} = $2;
}
}
my @mysqlslaves = select_array "SHOW SLAVE HOSTS"; my @mysqlslaves = select_array "SHOW SLAVE HOSTS";
my @lineitems = (); my @lineitems = ();
foreach my $line (@mysqlslaves) { foreach my $line (@mysqlslaves) {
@ -1138,9 +1140,7 @@ sub get_os_release {
$os_relase =~ s/\s+\\n.*//; $os_relase =~ s/\s+\\n.*//;
return $os_relase; return $os_relase;
} }
return "Unknown OS release"; return "Unknown OS release";
} }
sub get_fs_info() { sub get_fs_info() {
@ -1178,6 +1178,20 @@ sub get_fs_info() {
} }
} }
sub merge_hash
{
my $h1=shift;
my $h2=shift;
my %result={};
foreach my $substanceref ( $h1, $h2 ) {
while ( my ($k, $v) = each %$substanceref) {
next if (exists $result{$k});
$result{$k} = $v;
}
}
return \%result;
}
sub is_virtual_machine() { sub is_virtual_machine() {
my $isVm = `grep -Ec '^flags.*\ hypervisor\ ' /proc/cpuinfo`; my $isVm = `grep -Ec '^flags.*\ hypervisor\ ' /proc/cpuinfo`;
return ( $isVm == 0 ? 0 : 1 ); return ( $isVm == 0 ? 0 : 1 );