Skip to content
Snippets Groups Projects
Commit d45570bd authored by Tomáš Plesník's avatar Tomáš Plesník
Browse files

pridan vypis serverovych promenych

parent be48bf2f
No related branches found
No related tags found
No related merge requests found
...@@ -35,6 +35,8 @@ use strict; ...@@ -35,6 +35,8 @@ use strict;
use Getopt::Std; use Getopt::Std;
use File::Basename; use File::Basename;
our $VERSION = "1.0.0";
my $warden_path = '/opt/warden-server'; my $warden_path = '/opt/warden-server';
require $warden_path . '/lib/WardenStatus.pm'; require $warden_path . '/lib/WardenStatus.pm';
my $filename = basename($0); my $filename = basename($0);
...@@ -93,20 +95,36 @@ if ($UID != 0) { ...@@ -93,20 +95,36 @@ if ($UID != 0) {
my @status = WardenStatus::getStatus($warden_path); my @status = WardenStatus::getStatus($warden_path);
# remove first element of array @status and save it into $server_status_ref # take and remove first element of array @status and save it into $server_status_ref
my $server_status_ref = shift(@status); my $server_status_ref = shift(@status);
my @server_status = @$server_status_ref; my @server_status = @$server_status_ref;
print "Database size:\t\t\t$server_status[0]\n"; print "Warden server variables:\n";
print "Count of saved events:\t\t$server_status[1]\n"; print "========================\n";
print "Last ID in events table:\t$server_status[2]\n"; print "SERVER_VERSION:\t\t$server_status[0]\n";
print "Time of first inserted event:\t$server_status[3] (UTC)\n"; print "ADDRESS:\t\t$server_status[1]\n";
print "Time of latest inserted event:\t$server_status[4] (UTC)\n"; print "PORT:\t\t\t$server_status[2]\n";
print "Count of registered clients:\t$server_status[5]\n"; print "LOGDIR:\t\t\t$server_status[3]\n";
print "PIDDIR:\t\t\t$server_status[4]\n";
print "VARDIR:\t\t\t$server_status[5]\n";
print "SSL_KEY_FILE:\t\t$server_status[6]\n";
print "SSL_CERT_FILE:\t\t$server_status[7]\n";
print "SSLCA_FILE:\t\t$server_status[8]\n";
print "SYSLOG_FACILITY:\t$server_status[9]\n";
print "\n";
print "Warden server status:\n";
print "=====================\n";
print "Database size:\t\t\t$server_status[10]\n";
print "Count of saved events:\t\t$server_status[11]\n";
print "Last ID in events table:\t$server_status[12]\n";
print "Time of first inserted event:\t$server_status[13] (UTC)\n";
print "Time of latest inserted event:\t$server_status[14] (UTC)\n";
print "Count of registered clients:\t$server_status[15]\n";
print "\n"; print "\n";
# check if sum of registered client isn't 0 # check if sum of registered client isn't 0
if ($server_status[5] != 0) { if ($server_status[15] != 0) {
print "Statistics of registered senders:\n"; print "Statistics of registered senders:\n";
print "+-----------------------------------------------------------------------------------------------------------+\n"; print "+-----------------------------------------------------------------------------------------------------------+\n";
print "| Client ID | Hostname | Service | Stored events | Last insertion (UTC) |\n"; print "| Client ID | Hostname | Service | Stored events | Last insertion (UTC) |\n";
...@@ -122,6 +140,7 @@ if ($server_status[5] != 0) { ...@@ -122,6 +140,7 @@ if ($server_status[5] != 0) {
print "+-----------------------------------------------------------------------------------------------------------+\n"; print "+-----------------------------------------------------------------------------------------------------------+\n";
print "\n"; print "\n";
} }
print "Current server status in:\t" . scalar localtime(time) . "\n"; print "Current server status in:\t" . scalar localtime(time) . "\n";
exit 0; exit 0;
...@@ -48,6 +48,7 @@ use Data::Dumper; ...@@ -48,6 +48,7 @@ use Data::Dumper;
use Net::CIDR::Lite; use Net::CIDR::Lite;
use DateTime; use DateTime;
our $VERSION = "1.0.0";
################################################################################ ################################################################################
# CONFIG FILE VARIABLES # CONFIG FILE VARIABLES
...@@ -83,7 +84,6 @@ if ( !do $conf_file ) { ...@@ -83,7 +84,6 @@ if ( !do $conf_file ) {
################################################################################ ################################################################################
# VARIABLES # VARIABLES
################################################################################ ################################################################################
my $die_now = 0; my $die_now = 0;
# PID path # PID path
...@@ -103,7 +103,6 @@ our $DBH = DBI->connect("dbi:SQLite:dbname=$db","","",$dbargs) or die errMsg("Ca ...@@ -103,7 +103,6 @@ our $DBH = DBI->connect("dbi:SQLite:dbname=$db","","",$dbargs) or die errMsg("Ca
# LOCAL FUNCTIONS # LOCAL FUNCTIONS
################################################################################ ################################################################################
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# errMsg - print error message and die # errMsg - print error message and die
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
...@@ -161,13 +160,13 @@ sub sslErrorHandler ...@@ -161,13 +160,13 @@ sub sslErrorHandler
my $msg = shift; my $msg = shift;
my $ip = $socket->peerhost; my $ip = $socket->peerhost;
print $socket $msg; print $socket $msg;
$socket->close; $socket->close;
write2log ("err", "Caught SSL handshake error from $ip: $msg"); write2log ("err", "Caught SSL handshake error from $ip: $msg");
return 1; return 1;
} } # End of sslErrorHandler
################################################################################ ################################################################################
# SOAP Functions # SOAP Functions
...@@ -668,12 +667,22 @@ sub getStatus ...@@ -668,12 +667,22 @@ sub getStatus
if (!defined $clients_sum) { $clients_sum = "none" } if (!defined $clients_sum) { $clients_sum = "none" }
my $server_status = SOAP::Data->name(server_status => \SOAP::Data->value( my $server_status = SOAP::Data->name(server_status => \SOAP::Data->value(
SOAP::Data->name(VERSION => $VERSION),
SOAP::Data->name(ADDRESS => $ADDRESS),
SOAP::Data->name(PORT => $PORT),
SOAP::Data->name(LOGDIR => $LOGDIR),
SOAP::Data->name(PIDDIR => $PIDDIR),
SOAP::Data->name(VARDIR => $VARDIR),
SOAP::Data->name(SSL_KEY_FILE => $SSL_KEY_FILE),
SOAP::Data->name(SSL_CERT_FILE => $SSL_CERT_FILE),
SOAP::Data->name(SSL_CA_FILE => $SSL_CA_FILE),
SOAP::Data->name(FACILITY => $FACILITY),
SOAP::Data->name(DB_SIZE => $db_size), SOAP::Data->name(DB_SIZE => $db_size),
SOAP::Data->name(EVENTS_SUM => $events_sum), SOAP::Data->name(EVENTS_SUM => $events_sum),
SOAP::Data->name(EVENTS_LAST_ID => $events_last_id), SOAP::Data->name(EVENTS_LAST_ID => $events_last_id),
SOAP::Data->name(EVENTS_FIRST_TIMESTAMP => $events_first_timestamp), SOAP::Data->name(EVENTS_FIRST_TIMESTAMP => $events_first_timestamp),
SOAP::Data->name(EVENTS_LAST_TIMESTAMP => $events_last_timestamp), SOAP::Data->name(EVENTS_LAST_TIMESTAMP => $events_last_timestamp),
SOAP::Data->name(CLIENTS_SUM => $clients_sum), SOAP::Data->name(CLIENTS_SUM => $clients_sum)
)); ));
push(@status, $server_status); push(@status, $server_status);
...@@ -769,8 +778,8 @@ my $pid_number = $pfh->pid; ...@@ -769,8 +778,8 @@ my $pid_number = $pfh->pid;
write2log("info", "Starting WARDEN server daemon with pid $pid_number"); write2log("info", "Starting WARDEN server daemon with pid $pid_number");
# log of warden database size # log of warden database size
my $db_size = Format::Human::Bytes::base10(-s $db); my $db_size_human = Format::Human::Bytes::base10(-s $db);
write2log("info", "Size of DB file ($db_file) is: $db_size"); write2log("info", "Size of DB file ($db_file) is: $db_size_human");
# start TCP server # start TCP server
my $server = SOAP::Transport::TCP::Server my $server = SOAP::Transport::TCP::Server
...@@ -797,11 +806,11 @@ my $soap = SOAP::Server ...@@ -797,11 +806,11 @@ my $soap = SOAP::Server
->new() ->new()
->dispatch_to('Warden'); ->dispatch_to('Warden');
write2log("info", "Starting TCP and SOAP server at $ADDRESS:$PORT");
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# Process of incoming client's requests and send response # Process of incoming client's requests and send response
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
write2log("info", "Starting TCP and SOAP server at $ADDRESS:$PORT");
while ($die_now != 1) while ($die_now != 1)
{ {
my $socket = $server->accept(); my $socket = $server->accept();
......
...@@ -38,7 +38,7 @@ use SOAP::Lite; ...@@ -38,7 +38,7 @@ use SOAP::Lite;
use IO::Socket::SSL qw(debug1); use IO::Socket::SSL qw(debug1);
use SOAP::Transport::TCP use SOAP::Transport::TCP
our $VERSION = 100; our $VERSION = "1.0.0";
#------------------------------------------------------------------------------- #-------------------------------------------------------------------------------
# errMsg - print error message and die # errMsg - print error message and die
...@@ -172,13 +172,24 @@ sub getStatus ...@@ -172,13 +172,24 @@ sub getStatus
# get first value from SOAP data object # get first value from SOAP data object
my $response_data = $response->valueof("[$i]"); my $response_data = $response->valueof("[$i]");
# parse items of server status # parse items of server status
my $version = $response_data->{'VERSION'};
my $address = $response_data->{'ADDRESS'};
my $port = $response_data->{'PORT'};
my $logdir = $response_data->{'LOGDIR'};
my $piddir = $response_data->{'PIDDIR'};
my $vardir = $response_data->{'VARDIR'};
my $ssl_key_file_server = $response_data->{'SSL_KEY_FILE'};
my $ssl_cert_file_server = $response_data->{'SSL_CERT_FILE'};
my $ssl_ca_file_server = $response_data->{'SSL_CA_FILE'};
my $facility = $response_data->{'FACILITY'};
my $db_size = $response_data->{'DB_SIZE'}; my $db_size = $response_data->{'DB_SIZE'};
my $events_sum = $response_data->{'EVENTS_SUM'}; my $events_sum = $response_data->{'EVENTS_SUM'};
my $events_last_id = $response_data->{'EVENTS_LAST_ID'}; my $events_last_id = $response_data->{'EVENTS_LAST_ID'};
my $events_first_timestamp = $response_data->{'EVENTS_FIRST_TIMESTAMP'}; my $events_first_timestamp = $response_data->{'EVENTS_FIRST_TIMESTAMP'};
my $events_last_timestamp = $response_data->{'EVENTS_LAST_TIMESTAMP'}; my $events_last_timestamp = $response_data->{'EVENTS_LAST_TIMESTAMP'};
my $clients_sum = $response_data->{'CLIENTS_SUM'}; my $clients_sum = $response_data->{'CLIENTS_SUM'};
my @server_status = ("$db_size", "$events_sum", "$events_last_id", "$events_first_timestamp", "$events_last_timestamp", "$clients_sum");
my @server_status = ("$version", "$address", "$port", "$logdir", "$piddir", "$vardir", "$ssl_key_file_server", "$ssl_cert_file_server", "$ssl_ca_file_server", "$facility", "$db_size", "$events_sum", "$events_last_id", "$events_first_timestamp", "$events_last_timestamp", "$clients_sum");
push(@status, \@server_status); push(@status, \@server_status);
$i++; $i++;
...@@ -196,7 +207,6 @@ sub getStatus ...@@ -196,7 +207,6 @@ sub getStatus
$i++; $i++;
$response_data = $response->valueof("[$i]"); $response_data = $response->valueof("[$i]");
} }
return @status; return @status;
} # End of getStatus } # End of getStatus
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment