2008-07-02 Esteban Sanchez <estebans@artica.es>

* godmode/reporting/reporting_builder.php: Removed extra "#" in
        javascript.

        * godmode/reporting/map_builder.php: Changes to try working in
        Internet Explorer (not completed yet, it's really hard).

        * include/functions_db.php: Changed sever_status() It won't longer 
        return all the modules in pandora, since it's not need in this 
        function, also replaced a strange SQL which was using MAX() with a more
        logical DISTINCT(). Style correction.

        * include/styles/pandora.css: Removed #main width, so it's as wider as
        the parent. Fixed menu_tab_fram and menu_tab_frame_view divs to the
        new template, aligned to the right. Tab and blankspaces correction.



git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@930 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
esanchezm 2008-07-03 11:47:53 +00:00
parent 7a08e65047
commit 48be85fac4
7 changed files with 399 additions and 441 deletions

View File

@ -1,4 +1,19 @@
2008-07-02 Esteban Sanchez <estebans@artica.es>
* godmode/reporting/reporting_builder.php: Removed extra "#" in
javascript.
* godmode/reporting/map_builder.php: Changes to try working in
Internet Explorer (not completed yet, it's really hard).
* include/functions_db.php: Changed sever_status() It won't longer
return all the modules in pandora, since it's not need in this
function, also replaced a strange SQL which was using MAX() with a more
logical DISTINCT(). Style correction.
* include/styles/pandora.css: Removed #main width, so it's as wider as
the parent. Fixed menu_tab_fram and menu_tab_frame_view divs to the
new template, aligned to the right. Tab and blankspaces correction.
2008-07-01 Sancho Lerena <slerena@gmail.com>

View File

@ -444,7 +444,7 @@ function agent_changed (event, id_agent, selected) {
id_agent = this.value;
$('#form_layout_data_editor #module').attr ('disabled', 1);
$('#form_layout_data_editor #module').empty ();
$('#form_layout_data_editor #module').append ($('<option></option>').attr ('value', 0).text ("<?=lang_string ('Loading')?>..."));
$('#form_layout_data_editor #module').append (new Option ("<?=lang_string ('Loading')?>...", 0));
jQuery.post ('ajax.php',
{page: "operation/agentes/ver_agente",
get_agent_modules_json: 1,
@ -452,14 +452,14 @@ function agent_changed (event, id_agent, selected) {
},
function (data) {
$('#form_layout_data_editor #module').empty ();
$('#form_layout_data_editor #module').append ($('<option></option>').attr ('value', 0).text ("--"));
$('#form_layout_data_editor #module').append (new Option ("--", 0));
jQuery.each (data, function (i, val) {
if (val['descripcion'] == "") {
s = html_entity_decode (val['nombre']);
} else {
s = html_entity_decode (val['descripcion']);
}
$('#form_layout_data_editor #module').append ($('<option></option>').attr ('value', val['id_agente_modulo']).text (s));
$('#form_layout_data_editor #module').append (new Option (s, val['id_agente_modulo']));
$('#form_layout_data_editor #module').fadeIn ('normal');
});
if (selected != undefined)

View File

@ -525,8 +525,8 @@ if ($edit_sla_report_content) {
<script language="javascript" type="text/javascript">
function refresh_table () {
$('##table-add-item > tbody > tr:odd td').removeClass('datos2').addClass('datos');
$('##table-add-item > tbody > tr:even td').removeClass('datos').addClass('datos2');
$('#table-add-item > tbody > tr:odd td').removeClass('datos2').addClass('datos');
$('#table-add-item > tbody > tr:even td').removeClass('datos').addClass('datos2');
}
function agent_changed () {

View File

@ -1885,46 +1885,67 @@ function smal_event_table ($filter = "", $limit = 10, $width = 440) {
* @param id_server
*
* @return : Serverifo array with following keys:
type - Type of server (descriptive)
modules_total - Total of modules for this kind of servers
modules - Modules running on this server
module_lag - of modules of time
lag - Lag time in sec
type - Type of server (descriptive)
modules - Modules running on this server
module_lag - Number of modules of time
lag - Lag time in sec
*/
function server_status ($id_server) {
$server = get_db_row_sql ( "SELECT * FROM tserver WHERE id_server = $id_server" );
$serverinfo = array();
if ($server["network_server"] == 1)
$serverinfo["type"]="network";
$serverinfo["type"] = "network";
elseif ($server["data_server"] == 1)
$serverinfo["type"]="data";
$serverinfo["type"] = "data";
elseif ($server["plugin_server"] == 1)
$serverinfo["type"]="plugin";
$serverinfo["type"] = "plugin";
elseif ($server["wmi_server"] == 1)
$serverinfo["type"]="wmi";
$serverinfo["type"] = "wmi";
elseif ($server["recon_server"] == 1)
$serverinfo["type"]="recon";
$serverinfo["type"] = "recon";
elseif ($server["snmp_server"] == 1)
$serverinfo["type"]="snmp";
$serverinfo["type"] = "snmp";
elseif ($server["prediction_server"] == 1)
$serverinfo["type"]="prediction";
$serverinfo["type"] = "prediction";
// Get type of modules that runs this server
$moduletype = get_db_sql ("SELECT MAX(id_modulo) FROM tagente_estado, tagente_modulo WHERE tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo AND tagente_modulo.disabled = 0 AND tagente_estado.running_by = $id_server ORDER BY tagente_modulo.id_agente_modulo ");
if ($moduletype != ""){
// Get type of modules that runs this server
$sql = sprintf ("SELECT DISTINCT(id_modulo)
FROM tagente_estado, tagente_modulo
WHERE tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
AND tagente_modulo.disabled = 0
AND tagente_estado.running_by = %d
ORDER BY tagente_modulo.id_agente_modulo",
$id_server);
$moduletype = get_db_all_rows_sql ($sql);
if ($moduletype) {
$serverinfo["modules"] = get_db_sql ("SELECT COUNT(*)
FROM tagente_estado, tagente_modulo
WHERE tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo
AND tagente_modulo.disabled = 0
AND tagente_estado.running_by = $id_server");
$serverinfo["modules_total"] = get_db_sql ("SELECT COUNT(id_agente_modulo) FROM tagente_modulo WHERE tagente_modulo.disabled = 0 AND tagente_modulo.id_modulo = $moduletype");
$serverinfo["module_lag"] = get_db_sql ("SELECT COUNT(*)
FROM tagente_estado, tagente_modulo, tagente
WHERE tagente_estado.last_execution_try > 0
AND tagente_estado.running_by = $id_server
AND tagente_modulo.id_agente = tagente.id_agente
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND (UNIX_TIMESTAMP() - tagente_estado.last_execution_try - tagente_estado.current_interval < 1200)");
$serverinfo["modules"] = get_db_sql ("SELECT COUNT(tagente_estado.running_by) FROM tagente_estado, tagente_modulo WHERE tagente_modulo.id_agente_modulo = tagente_estado.id_agente_modulo AND tagente_modulo.disabled = 0 AND tagente_modulo.id_modulo = $moduletype AND tagente_estado.running_by = $id_server");
$serverinfo["module_lag"] = get_db_sql ("SELECT COUNT(tagente_estado.last_execution_try) FROM tagente_estado, tagente_modulo, tagente WHERE tagente_estado.last_execution_try > 0 AND tagente_estado.running_by=$id_server AND tagente_modulo.id_agente = tagente.id_agente AND tagente.disabled = 0 AND tagente_modulo.id_modulo = $moduletype AND tagente_modulo.disabled = 0 AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND (UNIX_TIMESTAMP() - tagente_estado.last_execution_try - tagente_estado.current_interval < 1200) ");
// Lag over 1200 secons is not lag, is module without contacting data in several time.or with a
// Lag over 1200 seconds is not lag, is module without contacting data in several time.or with a
// 1200 sec is 20 min
$serverinfo["lag"] = get_db_sql ("SELECT MAX(tagente_estado.last_execution_try - tagente_estado.current_interval) FROM tagente_estado, tagente_modulo, tagente WHERE tagente_estado.last_execution_try > 0 AND tagente_estado.running_by=$id_server AND tagente_modulo.id_agente = tagente.id_agente AND tagente.disabled = 0 AND tagente_modulo.id_modulo = $moduletype AND tagente_modulo.disabled = 0 AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND (UNIX_TIMESTAMP() - tagente_estado.last_execution_try - tagente_estado.current_interval < 1200) ");
$serverinfo["lag"] = get_db_sql ("SELECT MAX(tagente_estado.last_execution_try - tagente_estado.current_interval)
FROM tagente_estado, tagente_modulo, tagente
WHERE tagente_estado.last_execution_try > 0
AND tagente_estado.running_by = $id_server
AND tagente_modulo.id_agente = tagente.id_agente
AND tagente.disabled = 0
AND tagente_modulo.disabled = 0
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND (UNIX_TIMESTAMP() - tagente_estado.last_execution_try - tagente_estado.current_interval < 1200)");
if ($serverinfo["lag"] == "")
$serverinfo["lag"] = 0;

View File

@ -191,7 +191,6 @@ div#page {
background: #FFF;
}
div#main {
width: 80%;
min-height: 500px;
float: both;
padding-left: 0px;
@ -442,22 +441,22 @@ div.title_line {
width: 762px;
}
#menu_tab_frame {
background: #D84437;
width: 805px;
min-height: 22px;
padding-left: 0x;
margin-left: -25px;
float:left;
border-bottom: 1px solid #778866;
background: #D84437;
width: 100%;
min-height: 22px;
padding-left: 0x;
margin-left: -25px;
float:right;
border-bottom: 1px solid #778866;
}
#menu_tab_frame_view {
background: #66AA44;
width: 805px;
min-height: 22px;
padding-left: 0x;
margin-left: -25px;
float:left;
border-bottom: 1px solid #778866;
background: #66AA44;
width: 100%;
min-height: 22px;
padding-left: 0x;
margin-left: -25px;
float:right;
border-bottom: 1px solid #778866;
}

View File

@ -19,261 +19,260 @@
// Load global vars
require("include/config.php");
require("include/functions_reporting.php");
$id_user = $_SESSION["id_usuario"];
if (give_acl ($id_user, 0, "AR") != 1) {
audit_db ($id_user, $REMOTE_ADDR, "ACL Violation",
"Trying to access Agent view (Grouped)");
require ("general/noaccess.php");
exit;
}
echo "<h2>".$lang_label["ag_title"]." &gt; ";
echo $lang_label["tactical_view"]."</h2>";
// Load global vars
require("include/config.php");
require("include/functions_reporting.php");
$id_user = $_SESSION["id_usuario"];
if (give_acl ($id_user, 0, "AR") != 1) {
audit_db ($id_user, $REMOTE_ADDR, "ACL Violation",
"Trying to access Agent view (Grouped)");
require ("general/noaccess.php");
exit;
}
echo "<h2>".lang_string ("ag_title")." &gt; ";
echo lang_string ("tactical_view")."</h2>";
$data = general_stats ($id_user,-1);
$monitor_checks = $data[0];
$monitor_ok = $data[1];
$monitor_bad = $data[2];
$monitor_unknown = $data[3];
$monitor_alert = $data[4];
$total_agents = $data[5];
$data_checks = $data[6];
$data_unknown = $data[7];
$data_alert = $data[8];
$data_alert_total = $data[9];
$monitor_alert_total = $data[10];
$data_not_init = $data[11];
$monitor_not_init = $data[12];
$data = general_stats ($id_user,-1);
$monitor_checks = $data[0];
$monitor_ok = $data[1];
$monitor_bad = $data[2];
$monitor_unknown = $data[3];
$monitor_alert = $data[4];
$total_agents = $data[5];
$data_checks = $data[6];
$data_unknown = $data[7];
$data_alert = $data[8];
$data_alert_total = $data[9];
$monitor_alert_total = $data[10];
$data_not_init = $data[11];
$monitor_not_init = $data[12];
// Calculate global indicators
// Calculate global indicators
$total_checks = $data_checks + $monitor_checks;
if($total_checks != 0){
$notinit_percentage = (($data_not_init + $monitor_not_init) / ($total_checks / 100));
} else {
$notinit_percentage = 0;
}
$module_sanity = format_numeric (100 - $notinit_percentage);
$total_alerts = $data_alert + $monitor_alert;
$total_fired_alerts = $monitor_alert_total+$data_alert_total;
if ($total_fired_alerts > 0)
$alert_level = format_numeric (100 - ($total_alerts / ($total_fired_alerts / 100)));
else
$alert_level = 100;
if ($monitor_checks > 0){
$monitor_health = format_numeric ( 100- (($monitor_bad + $monitor_unknown) / ($monitor_checks/100)) , 1);
} else
$monitor_health = 100;
if ($data_checks > 0){
$data_health = format_numeric ( (($data_checks -($data_unknown + $data_alert)) / $data_checks ) * 100,1);;
} else
$data_health = 100;
if ($data_health < 0)
$total_checks = $data_checks + $monitor_checks;
if($total_checks != 0){
$notinit_percentage = (($data_not_init + $monitor_not_init) / ($total_checks / 100));
} else {
$notinit_percentage = 0;
}
$module_sanity = format_numeric (100 - $notinit_percentage);
$total_alerts = $data_alert + $monitor_alert;
$total_fired_alerts = $monitor_alert_total+$data_alert_total;
if ($total_fired_alerts > 0)
$alert_level = format_numeric (100 - ($total_alerts / ($total_fired_alerts / 100)));
else
$alert_level = 100;
if ($monitor_checks > 0){
$monitor_health = format_numeric ( 100- (($monitor_bad + $monitor_unknown) / ($monitor_checks/100)) , 1);
} else
$monitor_health = 100;
if ($data_checks > 0){
$data_health = format_numeric ( (($data_checks -($data_unknown + $data_alert)) / $data_checks ) * 100,1);;
} else
$data_health = 100;
if ($data_health < 0)
$data_health =0;
if (($data_checks != 0) OR ($data_checks != 0)){
$global_health = format_numeric ((($data_health * $data_checks) + ($monitor_health * $monitor_checks)) / $total_checks);
} else
$global_health = 100;
if ($global_health < 0)
$global_health;
// Monitor checks
// ~~~~~~~~~~~~~~~
echo "<table width=770 border=0>";
echo "<tr><td valign=top>";
echo "<table class='databox' celldpadding=4 cellspacing=4 width=250>";
if (($data_checks != 0) OR ($data_checks != 0)){
$global_health = format_numeric ((($data_health * $data_checks) + ($monitor_health * $monitor_checks)) / $total_checks);
} else
$global_health = 100;
if ($global_health < 0)
$global_health;
// Monitor checks
// ~~~~~~~~~~~~~~~
echo "<table width=770 border=0>";
echo "<tr><td valign=top>";
echo "<table class='databox' celldpadding=4 cellspacing=4 width=250>";
// Summary
echo "<tr><td colspan='2'><b>".lang_string("Monitor health")."</th>";
echo "<tr><td colspan='2'><img src='reporting/fgraph.php?tipo=progress&height=20&width=260&mode=0&percent=$monitor_health' title='$monitor_health % ".lang_string("of monitors UP")."'>";
echo "<tr><td colspan='2'><b>".lang_string("Data health")."</th>";
echo "<tr><td colspan='2'><img src='reporting/fgraph.php?tipo=progress&height=20&width=260&mode=0&percent=$data_health' title='$data_health % ".lang_string("of modules with updated data")."'>";
echo "<tr><td colspan='2'><b>".lang_string("Global health")."</th>";
echo "<tr><td colspan='2'><img src='reporting/fgraph.php?tipo=progress&height=20&width=260&mode=0&percent=$global_health' title='$global_health % ".lang_string("of modules with good data")."'>";
echo "<tr><td colspan='2'><b>".lang_string("Module sanity")."</th>";
echo "<tr><td colspan='2'><img src='reporting/fgraph.php?tipo=progress&height=20&width=260&mode=0&percent=$module_sanity ' title='$module_sanity % ".lang_string("of well initialized modules")."'>";
echo "<tr><td colspan='2'><b>".lang_string("Alert level")."</th>";
echo "<tr><td colspan='2'><img src='reporting/fgraph.php?tipo=progress&height=20&width=260&mode=0&percent=$alert_level' title='$alert_level % ".lang_string("of non-fired alerts")."'>";
echo "<br><br>";
echo "<tr>";
echo "<th colspan=2>".$lang_label["monitor_checks"]."</th>";
echo "<tr><td class=datos2><b>"."Monitor checks"."</b></td>";
echo "<td class=datos2 style='font: bold 2em Arial, Sans-serif; color: #000;'>".$monitor_checks."</td>";
echo "<tr><td class=datos><b>"."Monitor OK"."</b></td>";
echo "<td class=datos style='font: bold 2em Arial, Sans-serif; color: #000;'>".$monitor_ok."</td>";
echo "<tr><td class=datos2><b>"."Monitor BAD"."</b></td>";
echo "<td class=datos2 style='font: bold 2em Arial, Sans-serif; color: #f00;'>";
echo "<a style='text-decoration: none; font: bold 1em Arial, Sans-serif; color: #f00;' href='index.php?sec=estado&sec2=operation/agentes/status_monitor&refr=60'>";
if ($monitor_bad > 0)
echo $monitor_bad;
else
echo "-";
echo "</A>";
echo "</td></tr><tr><td class=datos><b>"."Monitor Unknown"."</b></td>";
echo "<td class=datos style='font: bold 2em Arial, Sans-serif; color: #888;'>";
if ($monitor_unknown > 0)
echo $monitor_unknown;
else
echo "-";
echo "</td></tr><tr><td class=datos2><b>"."Monitor Not Init"."</b></td>";
echo "<td class=datos2 style='font: bold 2em Arial, Sans-serif; color: #FF8C00;'>";
if ($monitor_not_init> 0)
echo $monitor_not_init;
else
echo "-";
echo "<tr><td class=datos><b>"."Alerts Fired"."</b></td>";
echo "<td class=datos style='font: bold 2em Arial, Sans-serif; color: #ff0000;'>";
echo "<a style='text-decoration: none; font: bold 1em Arial, Sans-serif; color: #ff0000;' href='index.php?sec=eventos&sec2=operation/events/events&search=&event_type=alert_fired'>";
if ($monitor_alert > 0)
echo $monitor_alert;
else
echo "-";
echo "</A>";
echo "<tr><td class=datos2><b>"."Alerts Total"."</b></td>";
echo "<td class=datos2 style='font: bold 2em Arial, Sans-serif; color: #000000;'>".$monitor_alert_total;
// Data checks
// ~~~~~~~~~~~~~~~
echo "<tr><th colspan=2>".$lang_label["data_checks"]."</th>";
echo "<tr><td class=datos2><b>"."Data checks"."</b></td>";
echo "<td class=datos2 style='font: bold 2em Arial, Sans-serif; color: #000000;'>".$data_checks;
echo "<tr><td class=datos><b>"."Data Unknown"."</b></td>";
echo "<td class=datos style='font: bold 2em Arial, Sans-serif; color: #888;'>";
if ($data_unknown > 0)
echo $data_unknown;
else
echo "-";
echo "<tr><td class=datos2><b>"."Data not init"."</b></td>";
echo "<td class=datos2 style='font: bold 2em Arial, Sans-serif; color: #FF8C00;'>";
if ($data_not_init > 0)
echo $data_not_init;
else
echo "-";
echo "<tr><td class=datos><b>"."Alerts Fired"."</b></td>";
echo "<td class=datos style='font: bold 2em Arial, Sans-serif; color: #f00;'>";
if ($data_alert > 0)
echo $data_alert;
else
echo "-";
echo "<tr><td class=datos2><b>"."Alerts Total";
echo "<td class=datos2 style='font: bold 2em Arial, Sans-serif; color: #000;'>".$data_alert_total;
echo "<tr><td colspan='2'><b>".lang_string("Monitor health")."</th>";
echo "<tr><td colspan='2'><img src='reporting/fgraph.php?tipo=progress&height=20&width=260&mode=0&percent=$monitor_health' title='$monitor_health % ".lang_string("of monitors UP")."'>";
echo "<tr><td colspan='2'><b>".lang_string("Data health")."</th>";
echo "<tr><td colspan='2'><img src='reporting/fgraph.php?tipo=progress&height=20&width=260&mode=0&percent=$data_health' title='$data_health % ".lang_string("of modules with updated data")."'>";
echo "<tr><td colspan='2'><b>".lang_string("Global health")."</th>";
echo "<tr><td colspan='2'><img src='reporting/fgraph.php?tipo=progress&height=20&width=260&mode=0&percent=$global_health' title='$global_health % ".lang_string("of modules with good data")."'>";
echo "<tr><td colspan='2'><b>".lang_string("Module sanity")."</th>";
echo "<tr><td colspan='2'><img src='reporting/fgraph.php?tipo=progress&height=20&width=260&mode=0&percent=$module_sanity ' title='$module_sanity % ".lang_string("of well initialized modules")."'>";
echo "<tr><td colspan='2'><b>".lang_string("Alert level")."</th>";
echo "<tr><td colspan='2'><img src='reporting/fgraph.php?tipo=progress&height=20&width=260&mode=0&percent=$alert_level' title='$alert_level % ".lang_string("of non-fired alerts")."'>";
echo "<br><br>";
// Summary
// ~~~~~~~~~~~~~~~
echo "<tr>";
echo "<th colspan=2>".lang_string ("monitor_checks")."</th>";
echo "<tr><td class=datos2><b>"."Monitor checks"."</b></td>";
echo "<td class=datos2 style='font: bold 2em Arial, Sans-serif; color: #000;'>".$monitor_checks."</td>";
echo "<tr><td class=datos><b>"."Monitor OK"."</b></td>";
echo "<td class=datos style='font: bold 2em Arial, Sans-serif; color: #000;'>".$monitor_ok."</td>";
echo "<tr><td class=datos2><b>"."Monitor BAD"."</b></td>";
echo "<td class=datos2 style='font: bold 2em Arial, Sans-serif; color: #f00;'>";
echo "<a style='text-decoration: none; font: bold 1em Arial, Sans-serif; color: #f00;' href='index.php?sec=estado&sec2=operation/agentes/status_monitor&refr=60'>";
if ($monitor_bad > 0)
echo $monitor_bad;
else
echo "-";
echo "</A>";
echo "<tr><th colspan='2'>".$lang_label["summary"]."</th>";
echo "<tr><td class='datos2'><b>"."Total agents"."</b></td>";
echo "<td class='datos2' style='font: bold 2em Arial, Sans-serif; color: #000;'>".$total_agents;
echo "<tr><td class='datos'><b>"."Total checks"."</b></td>";
echo "<td class='datos' style='font: bold 2em Arial, Sans-serif; color: #000;'>".$total_checks;
echo "</td></tr><tr><td class=datos><b>"."Monitor Unknown"."</b></td>";
echo "<td class=datos style='font: bold 2em Arial, Sans-serif; color: #888;'>";
if ($monitor_unknown > 0)
echo $monitor_unknown;
else
echo "-";
echo "<tr><td class='datos2'><b>"."Server sanity"."</b></td>";
echo "<td class='datos2' style='font: bold 1em Arial, Sans-serif; color: #000;'>";
echo format_numeric($notinit_percentage);
echo "% ".lang_string("Uninitialized modules");
echo "</td></tr><tr><td class=datos2><b>"."Monitor Not Init"."</b></td>";
echo "<td class=datos2 style='font: bold 2em Arial, Sans-serif; color: #FF8C00;'>";
if ($monitor_not_init> 0)
echo $monitor_not_init;
else
echo "-";
echo "</table>";
echo "<tr><td class=datos><b>"."Alerts Fired"."</b></td>";
echo "<td class=datos style='font: bold 2em Arial, Sans-serif; color: #ff0000;'>";
echo "<a style='text-decoration: none; font: bold 1em Arial, Sans-serif; color: #ff0000;' href='index.php?sec=eventos&sec2=operation/events/events&search=&event_type=alert_fired'>";
if ($monitor_alert > 0)
echo $monitor_alert;
else
echo "-";
echo "</A>";
echo "<tr><td class=datos2><b>"."Alerts Total"."</b></td>";
echo "<td class=datos2 style='font: bold 2em Arial, Sans-serif; color: #000000;'>".$monitor_alert_total;
echo "<td valign='top'>";
// Server information
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$sql='SELECT * FROM tserver';
$result=mysql_query($sql);
if (mysql_num_rows($result)){
echo "<table cellpadding='4' cellspacing='4' witdh='440' class='databox'>";
echo "<tr><th colspan=5>";
echo lang_string("tactical_server_information");
echo "<tr><td class='datos3'>".$lang_label["name"]."</th>";
echo "<td class='datos3'>".$lang_label['status']."</th>";
echo "<td class='datos3'>".$lang_label['load']."</th>";
echo "<td class='datos3'>".$lang_label['modules']."</th>";
echo "<td class='datos3'>".$lang_label['lag']."</th>";
$color=1;
while ($row=mysql_fetch_array($result)){
if ($color == 1){
$tdcolor = "datos";
$color = 0;
}
else {
$tdcolor = "datos2";
$color = 1;
// Data checks
// ~~~~~~~~~~~~~~~
echo "<tr><th colspan=2>".lang_string ("data_checks")."</th>";
echo "<tr><td class=datos2><b>"."Data checks"."</b></td>";
echo "<td class=datos2 style='font: bold 2em Arial, Sans-serif; color: #000000;'>".$data_checks;
echo "<tr><td class=datos><b>"."Data Unknown"."</b></td>";
echo "<td class=datos style='font: bold 2em Arial, Sans-serif; color: #888;'>";
if ($data_unknown > 0)
echo $data_unknown;
else
echo "-";
echo "<tr><td class=datos2><b>"."Data not init"."</b></td>";
echo "<td class=datos2 style='font: bold 2em Arial, Sans-serif; color: #FF8C00;'>";
if ($data_not_init > 0)
echo $data_not_init;
else
echo "-";
echo "<tr><td class=datos><b>"."Alerts Fired"."</b></td>";
echo "<td class=datos style='font: bold 2em Arial, Sans-serif; color: #f00;'>";
if ($data_alert > 0)
echo $data_alert;
else
echo "-";
echo "<tr><td class=datos2><b>"."Alerts Total";
echo "<td class=datos2 style='font: bold 2em Arial, Sans-serif; color: #000;'>".$data_alert_total;
// Summary
// ~~~~~~~~~~~~~~~
echo "<tr><th colspan='2'>".lang_string ("summary")."</th>";
echo "<tr><td class='datos2'><b>"."Total agents"."</b></td>";
echo "<td class='datos2' style='font: bold 2em Arial, Sans-serif; color: #000;'>".$total_agents;
echo "<tr><td class='datos'><b>"."Total checks"."</b></td>";
echo "<td class='datos' style='font: bold 2em Arial, Sans-serif; color: #000;'>".$total_checks;
echo "<tr><td class='datos2'><b>"."Server sanity"."</b></td>";
echo "<td class='datos2' style='font: bold 1em Arial, Sans-serif; color: #000;'>";
echo format_numeric($notinit_percentage);
echo "% ".lang_string("Uninitialized modules");
echo "</table>";
echo "<td valign='top'>";
// Server information
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
$total_modules = (int) get_db_sql ("SELECT COUNT(*)
FROM tagente_modulo
WHERE tagente_modulo.disabled = 0");
$sql='SELECT * FROM tserver';
$result=mysql_query($sql);
if (mysql_num_rows($result)){
echo "<table cellpadding='4' cellspacing='4' witdh='440' class='databox'>";
echo "<tr><th colspan=5>";
echo lang_string("tactical_server_information");
echo "<tr><td class='datos3'>".lang_string ("name")."</th>";
echo "<td class='datos3'>".lang_string ('status')."</th>";
echo "<td class='datos3'>".lang_string ('load')."</th>";
echo "<td class='datos3'>".lang_string ('modules')."</th>";
echo "<td class='datos3'>".lang_string ('lag')."</th>";
$color=1;
while ($row=mysql_fetch_array($result)){
if ($color == 1){
$tdcolor = "datos";
$color = 0;
}
$id_server = $row["id_server"];
$name = $row["name"];
$address = $row["ip_address"];
$status = $row["status"];
$laststart = $row["laststart"];
$keepalive = $row["keepalive"];
$network_server = $row["network_server"];
$data_server = $row["data_server"];
$snmp_server = $row["snmp_server"];
$recon_server = $row["recon_server"];
$master = $row["master"];
$checksum = $row["checksum"];
$description = $row["description"];
$version = $row["version"];
$modules_server = 0;
$serverinfo = server_status ($id_server);
// Name of server
echo "<tr><td class='$tdcolor'>";
echo $name;
// Status
echo "<td class='$tdcolor' align='middle'>";
if ($status ==0){
echo "<img src='images/pixel_red.png' width=20 height=20>";
} else {
echo "<img src='images/pixel_green.png' width=20 height=20>";
}
// Load
echo "<td class='$tdcolor' align='middle'>";
if ($serverinfo["modules_total"] > 0)
$percentil = $serverinfo["modules"] / ( $serverinfo["modules_total"]/ 100);
else
$percentil = 0;
if ($percentil > 100)
$percentil = 100;
// Progress bar render
echo '<img src="reporting/fgraph.php?tipo=progress&percent='.$percentil.'&height=18&width=80">';
// Modules
echo "<td class='$tdcolor' align='middle'>";
echo $serverinfo["modules"] . " ".lang_string("of")." ". $serverinfo["modules_total"];
// Lag
echo "<td class='$tdcolor' align='middle'>";
echo human_time_description_raw ($serverinfo["lag"]) . " / ". $serverinfo["module_lag"];
else {
$tdcolor = "datos2";
$color = 1;
}
echo '</table>';
$id_server = $row["id_server"];
$name = $row["name"];
$address = $row["ip_address"];
$status = $row["status"];
$laststart = $row["laststart"];
$keepalive = $row["keepalive"];
$network_server = $row["network_server"];
$data_server = $row["data_server"];
$snmp_server = $row["snmp_server"];
$recon_server = $row["recon_server"];
$master = $row["master"];
$checksum = $row["checksum"];
$description = $row["description"];
$version = $row["version"];
$modules_server = 0;
// Event information
smal_event_table ("", 10, 440);
$serverinfo = server_status ($id_server);
// Name of server
echo "<tr><td class='$tdcolor'>";
echo $name;
// Status
echo "<td class='$tdcolor' align='middle'>";
if ($status ==0){
echo "<img src='images/pixel_red.png' width=20 height=20>";
} else {
echo "<img src='images/pixel_green.png' width=20 height=20>";
}
// Load
echo "<td class='$tdcolor' align='middle'>";
if ($total_modules > 0)
$percentil = $serverinfo["modules"] / ($total_modules / 100);
else
$percentil = 0;
if ($percentil > 100)
$percentil = 100;
// Progress bar render
echo '<img src="reporting/fgraph.php?tipo=progress&percent='.$percentil.'&height=18&width=80">';
// Modules
echo "<td class='$tdcolor' align='middle'>";
echo $serverinfo["modules"] . " ".lang_string("of")." ". $total_modules;
// Lag
echo "<td class='$tdcolor' align='middle'>";
echo human_time_description_raw ($serverinfo["lag"]) . " / ". $serverinfo["module_lag"];
}
echo "</table>";
echo '</table>';
// Event information
smal_event_table ("", 10, 440);
}
echo "</table>";
?>

View File

@ -24,176 +24,100 @@ $total_modules_network = 0;
$total_modules_data = 0;
if (comprueba_login() != 0) {
audit_db($config["id_user"],$REMOTE_ADDR, "ACL Violation","Trying to access Agent view");
require ($config["homeurl"]."/general/noaccess.php");
audit_db($config["id_user"],$REMOTE_ADDR, "ACL Violation","Trying to access Agent view");
require ($config["homeurl"]."/general/noaccess.php");
}
if ((give_acl($id_user, 0, "AR")==0) AND (give_acl($id_user,0,"AW") == 0) AND (dame_admin($id_user) == 0) ){
audit_db($config["id_user"],$REMOTE_ADDR, "ACL Violation","Trying to access Agent view");
require ($config["homeurl"]."/general/noaccess.php");
audit_db($config["id_user"],$REMOTE_ADDR, "ACL Violation","Trying to access Agent view");
require ($config["homeurl"]."/general/noaccess.php");
}
echo "<h2>".$lang_label["view_servers"]." &gt; ";
echo $lang_label["server_detail"]."</h2>";
echo "<h2>".lang_string ("view_servers")." &gt; ";
echo lang_string ("server_detail")."</h2>";
$sql='SELECT * FROM tserver';
$result=mysql_query($sql);
if (mysql_num_rows($result)){
echo "<table cellpadding='4' cellspacing='4' witdh='720' class='databox'>";
echo "<tr><th class='datos'>".$lang_label["name"]."</th>";
echo "<th class='datos'>".$lang_label['status']."</th>";
echo "<th class='datos'>".$lang_label['load']."</th>";
echo "<th class='datos'>".$lang_label['modules']."</th>";
echo "<th class='datos'>".$lang_label['lag']."</th>";
echo "<th class='datos'>".$lang_label['description']."</th>";
echo "<th class='datos' width=80>".$lang_label['type']."</th>";
echo "<th class='datos'>".$lang_label['version']."</th>";
echo "<th class='datos'>".$lang_label['lastupdate']."</th>";
$color=1;
while ($row=mysql_fetch_array($result)){
if ($color == 1){
$tdcolor = "datos";
$color = 0;
}
else {
$tdcolor = "datos2";
$color = 1;
}
$id_server = $row["id_server"];
$name = $row["name"];
$address = $row["ip_address"];
$status = $row["status"];
$laststart = $row["laststart"];
$keepalive = $row["keepalive"];
$network_server = $row["network_server"];
$data_server = $row["data_server"];
$snmp_server = $row["snmp_server"];
$recon_server = $row["recon_server"];
$total_modules = (int) get_db_sql ("SELECT COUNT(*)
FROM tagente_modulo
WHERE tagente_modulo.disabled = 0");
$servers = get_db_all_rows_in_table ('tserver');
if (sizeof ($servers) == 0)
return;
$wmi_server = $row["wmi_server"];
$plugin_server = $row["plugin_server"];
$prediction_server = $row["prediction_server"];
$export_server = $row["export_server"];
$table->width = '90%';
$table->size = array ();
$table->size[6] = '60';
$table->align = array ();
$table->align[1] = 'center';
$table->align[6] = 'center';
$table->head = array ();
$table->head[0] = lang_string ("name");
$table->head[1] = lang_string ('status');
$table->head[2] = lang_string ('load');
$table->head[3] = lang_string ('modules');
$table->head[4] = lang_string ('lag');
$table->head[5] = lang_string ('description');
$table->head[6] = lang_string ('type');
$table->head[7] = lang_string ('version');
$table->head[8] = lang_string ('lastupdate');
$table->data = array ();
$master = $row["master"];
$checksum = $row["checksum"];
$description = $row["description"];
$version = $row["version"];
$serverinfo = server_status ($id_server);
// Name of server
echo "<tr><td class='$tdcolor'>";
echo $name;
// Status
echo "<td class='$tdcolor' align='middle'>";
if ($status ==0){
echo "<img src='images/pixel_red.png' width=20 height=20>";
} else {
echo "<img src='images/pixel_green.png' width=20 height=20>";
}
// Load
echo "<td class='$tdcolor' align='middle'>";
if ($serverinfo["modules_total"] > 0)
$percentil = $serverinfo["modules"] / ( $serverinfo["modules_total"]/ 100);
else
$percentil = 0;
if ($percentil > 100)
$percentil = 100;
// Progress bar render
echo '<img src="reporting/fgraph.php?tipo=progress&percent='.$percentil.'&height=18&width=80">';
// Modules
echo "<td class='$tdcolor' align='middle'>";
echo $serverinfo["modules"] . " ".lang_string("of")." ". $serverinfo["modules_total"];
// Lag
echo "<td class='$tdcolor' align='middle'>";
echo human_time_description_raw ($serverinfo["lag"]) . " / ". $serverinfo["module_lag"];
echo "<td class='".$tdcolor."f9'>".substr($description,0,25)."</td>";
echo "<td class='$tdcolor' align='middle'>";
if ($network_server == 1){
echo '<img src="images/network.png" title="network">';
}
if ($data_server == 1){
echo '&nbsp; <img src="images/data.png" title="data server">';
}
if ($snmp_server == 1){
echo "&nbsp; <img src='images/snmp.png' title='snmp console'>";
}
if ($recon_server == 1){
echo "&nbsp; <img src='images/recon.png' title='recon'>";
}
if ($export_server == 1){
echo "&nbsp; <img src='images/database_refresh.png' title='export'>";
}
if ($wmi_server == 1){
echo "&nbsp; <img src='images/wmi.png' title='WMI'>";
}
if ($prediction_server == 1){
echo "&nbsp; <img src='images/chart_bar.png' title='prediction'>";
}
if ($plugin_server == 1){
echo "&nbsp; <img src='images/plugin.png' title='plugin'>";
}
if ($master == 1){
echo "&nbsp; <img src='images/master.png' title='master'>";
}
if ($checksum == 1){
echo "&nbsp; <img src='images/binary.png' title='checksum'>";
}
echo "</td><td class='".$tdcolor."f9' align='middle'>";
echo $version;
echo "</td><td class='".$tdcolor."f9' align='middle'>";
// if ($status ==0)
echo human_date_relative($keepalive)."</td>";
foreach ($servers as $server) {
$data = array ();
$serverinfo = server_status ($server['id_server']);
$data[0] = $server['name'];
if ($server['status'] == 0){
$data[1] = '<img src="images/pixel_red.png" width="20" height="20">';
} else {
$data[1] = '<img src="images/pixel_green.png" width="20" height="20">';
}
echo '</tr></table>';
echo "<table cellpadding=2 cellspacing=0>";
echo "
<tr>
<td>
<span class='net'>".$lang_label["network_server"]."</span>
</td>
<td>
<span class='data'>".$lang_label["data_server"]."</span>
</td>
<td>
<span class='plugin'>".lang_string ("plugin_server")."</span>
</td>
<td>
<span class='wmi'>".lang_string ("wmi_server")."</span>
</td>
<td>
<span class='prediction'>".lang_string ("prediction_server")."</span>
</td>
</tr>
<tr>
<td>
<span class='export'>".lang_string ("export_server"). "</span>
</td>
<td>
<span class='snmp'>".lang_string ("snmp_console"). "</span>
</td>
<td>
<span class='recon'>".lang_string ("recon_server"). "</span>
</td>
<td>
<span class='binary'>".lang_string ("md5_checksum"). "</span>
</td>
<td>
<span class='master'>".lang_string ("master"). "</span>
</td>
</tr>";
echo "</table>";
// Load
if ($total_modules > 0)
$load_percent = $serverinfo["modules"] / ($total_modules / 100);
else
$load_percent = 0;
if ($load_percent > 100)
$load_percent = 100;
$data[2] = '<img src="reporting/fgraph.php?tipo=progress&percent='.$load_percent.'&height=18&width=80">';
$data[3] = $serverinfo["modules"] . " ".lang_string("of")." ". $total_modules;
$data[4] = human_time_description_raw ($serverinfo["lag"]) . " / ". $serverinfo["module_lag"];
$data[5] = '<span title="'.$server['description'].'">'.substr ($server['description'], 0, 25).'</span>';
$data[6] = '';
if ($server['network_server'] == 1) {
$data[6] .= ' <img src="images/network.png" title="'.lang_string ('network_server').'">';
}
if ($server['data_server'] == 1) {
$data[6] .= ' <img src="images/data.png" title="'.lang_string ('data_server').'">';
}
if ($server['snmp_server'] == 1) {
$data[6] .= ' <img src="images/snmp.png" title="'.lang_string ('snmp_server').'">';
}
if ($server['recon_server'] == 1) {
$data[6] .= ' <img src="images/recon.png" title="'.lang_string ('recon_server').'">';
}
if ($server['export_server'] == 1) {
$data[6] .= ' <img src="images/database_refresh.png" title="'.lang_string ('export_server').'">';
}
if ($server['wmi_server'] == 1) {
$data[6] .= ' <img src="images/wmi.png" title="'.lang_string ('wmi_server').'">';
}
if ($server['prediction_server'] == 1) {
$data[6] .= ' <img src="images/chart_bar.png" title="'.lang_string ('prediction_server').'">';
}
if ($server['plugin_server'] == 1) {
$data[6] .= ' <img src="images/plugin.png" title="'.lang_string ('plugin_server').'">';
}
if ($server['master'] == 1) {
$data[6] .= ' <img src="images/master.png" title="'.lang_string ('master_server').'">';
}
if ($server['checksum'] == 1){
$data[6] .= ' <img src="images/binary.png" title="'.lang_string ('checksum').'">';
}
$data[7] = $server['version'];
$data[8] = human_date_relative ($server['keepalive'])."</td>";
array_push ($table->data, $data);
}
print_table ($table);
?>