diff options
author | Andreas Unterkircher <unki@netshadow.at> | 2008-12-03 22:27:50 +0100 |
---|---|---|
committer | Andreas Unterkircher <unki@netshadow.at> | 2008-12-12 18:37:27 +0100 |
commit | f603da207df24207be8cbb734778ff9e11ec479a (patch) | |
tree | 43e1120be4f3dab456666612e51df7fae3e05e05 /cgi/exilog_cgi_servers.pm | |
parent | 6f71c4ad3b8e28556c2c3d9ae5918f47c09ea519 (diff) | |
download | exilog-f603da207df24207be8cbb734778ff9e11ec479a.zip exilog-f603da207df24207be8cbb734778ff9e11ec479a.tar.gz exilog-f603da207df24207be8cbb734778ff9e11ec479a.tar.bz2 |
exilog-agent heartbeats, resolves #115
Signed-off-by: Andreas Unterkircher <unki@netshadow.at>
Diffstat (limited to 'cgi/exilog_cgi_servers.pm')
-rw-r--r-- | cgi/exilog_cgi_servers.pm | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/cgi/exilog_cgi_servers.pm b/cgi/exilog_cgi_servers.pm index 424abf1..ffe5357 100644 --- a/cgi/exilog_cgi_servers.pm +++ b/cgi/exilog_cgi_servers.pm @@ -90,12 +90,36 @@ sub _get_h24_stats { return $h; } +sub _get_last_update { + my $server = shift; + my $now = time(); + my $timestamp; + + my $results = sql_select( 'heartbeats', [ 'timestamp' ], { 'server' => $server } ); + + foreach (@{ $results }) { + + $timestamp = $_->{timestamp}; + + # if timestamp is older then 5 minutes + if($timestamp + 300 < $now) { + return "<div style='color: #ff5555;'>". stamp_to_date($timestamp) ."</div>"; + } + + return "<div>". stamp_to_date($timestamp) ."</div>"; + + } + + return "<div style='color: #ff0000;'>no heartbeat signal</div>"; + +} + sub servers { #print $q->div({-style=>"font-size: 28px; font-weight: bold;"},"Basic statictics for all servers"); foreach my $server (sort {$a cmp $b} keys %{ $config->{servers} }) { - print render_server($server,_get_num_queued($server),_get_h24_stats($server)); + print render_server($server,_get_num_queued($server),_get_h24_stats($server),_get_last_update($server)); }; } |