From 1f29feb353fea925d529989fe28a0833143c645c Mon Sep 17 00:00:00 2001 From: slerena Date: Mon, 19 Mar 2007 19:39:40 +0000 Subject: [PATCH] 2007-03-19 Sancho Lerena * functions_db.php: Added give_network_profile_name() function. * language_en.php: Added new strings. * index.php, ver_agente.php, estado_generalagente.php: Some style fixes. * view_server.php: Added support for recon servers. Added LAG check for server processing queue. * view_server_detail.php: Added, to get updated information in realtime for queues processed by recon server. * modificar_agente.php: Now deletes associated IP addresses when deleting an agent. * manage_network_templates*.php: Manage network templates / profiles. * manage_recontask*.php: Editor for network tasks (recon server). * menu.php: Added new options. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@397 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f --- pandora_console/ChangeLog | 24 +++ .../godmode/agentes/modificar_agente.php | 13 +- pandora_console/godmode/db/db_main.php | 2 +- pandora_console/godmode/menu.php | 44 +++- .../modules/manage_network_templates.php | 62 ++++++ .../modules/manage_network_templates_form.php | 200 ++++++++++++++++++ .../godmode/servers/manage_recontask.php | 174 +++++++++++++++ .../godmode/servers/manage_recontask_form.php | 187 ++++++++++++++++ .../godmode/servers/modificar_server.php | 6 +- pandora_console/include/functions_db.php | 15 ++ .../include/languages/language_en.php | 20 ++ pandora_console/index.php | 12 +- pandora_console/operation/agentes/bulbs.php | 2 +- .../operation/agentes/estado_agente.php | 2 +- .../agentes/estado_generalagente.php | 4 +- .../operation/agentes/ver_agente.php | 5 +- .../operation/servers/view_server.php | 52 ++++- .../operation/servers/view_server_detail.php | 137 ++++++++++++ 18 files changed, 934 insertions(+), 27 deletions(-) create mode 100644 pandora_console/godmode/modules/manage_network_templates_form.php create mode 100644 pandora_console/godmode/servers/manage_recontask.php create mode 100644 pandora_console/godmode/servers/manage_recontask_form.php create mode 100644 pandora_console/operation/servers/view_server_detail.php diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index 69a289dc6d..4a15bb19c5 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,27 @@ +2007-03-19 Sancho Lerena + + * functions_db.php: Added give_network_profile_name() function. + + * language_en.php: Added new strings. + + * index.php, ver_agente.php, estado_generalagente.php: Some style + fixes. + + * view_server.php: Added support for recon servers. Added LAG + check for server processing queue. + + * view_server_detail.php: Added, to get updated information in + realtime for queues processed by recon server. + + * modificar_agente.php: Now deletes associated IP addresses when + deleting an agent. + + * manage_network_templates*.php: Manage network templates / profiles. + + * manage_recontask*.php: Editor for network tasks (recon server). + + * menu.php: Added new options. + 2007-03-12 Sancho Lerena * pandoradb.sql: Upgraded scheme, many changes and many tables diff --git a/pandora_console/godmode/agentes/modificar_agente.php b/pandora_console/godmode/agentes/modificar_agente.php index ccbf7723dc..5c87d1ca10 100644 --- a/pandora_console/godmode/agentes/modificar_agente.php +++ b/pandora_console/godmode/agentes/modificar_agente.php @@ -78,8 +78,17 @@ if (isset($_GET["borrar_agente"])){ // if delete agent WHERE id_agente = ".$id_agente; $result=mysql_query($sql_delete2); $result=mysql_query($sql_delete3); - audit_db($id_user,$REMOTE_ADDR, "Agent '$agent_name' deleted", - "Agent Management"); + + // Delete IPs from tadress table and taddress_agent + $sql = "SELECT * FROM taddress_agent where id_agent = $id_agente"; + $result=mysql_query($sql); + while ($row=mysql_fetch_array($result)){ + $sql2="DELETE FROM taddress where id_a = ".$row["id_a"]; + $result2=mysql_query($sql2); + } + $sql = "DELETE FROM taddress_agent where id_agent = $id_agente"; + $result=mysql_query($sql); + audit_db($id_user,$REMOTE_ADDR, "Agent '$agent_name' deleted", "Agent Management"); } else { // NO permissions. audit_db($id_user,$REMOTE_ADDR, "ACL Violation", "Trying to delete agent '$agent_name'"); diff --git a/pandora_console/godmode/db/db_main.php b/pandora_console/godmode/db/db_main.php index ecd18fc31e..0a44157ab3 100644 --- a/pandora_console/godmode/db/db_main.php +++ b/pandora_console/godmode/db/db_main.php @@ -32,7 +32,7 @@ if (comprueba_login() == 0)

- + '; - } - else echo '
'; + } else + echo ''; + + if (isset($_GET["sec"]) && $_GET["sec"] == "gservers"){ + if (isset($_GET["sec2"]) && $_GET["sec2"] == "godmode/servers/manage_recontask"){ + echo "
"; + } else + echo ""; + } +/* + if (isset($_GET["sec2"]) && ($_GET["sec2"] == "godmode/agentes/modificar_agente" || $_GET["sec2"] == "godmode/agentes/configurar_agente")){ + echo '
'; + } + else + echo ''; + + if (isset($_GET["sec"]) && $_GET["sec"] == "gagente"){ + if (isset($_GET["sec2"]) && $_GET["sec2"] == "godmode/agentes/manage_config"){ + echo "
"; + } + else echo ""; + + if (isset($_GET["sec2"]) && ($_GET["sec2"] == "godmode/grupos/lista_grupos" || $_GET["sec2"] == "godmode/grupos/configurar_grupo")){ + echo "
"; + } + else + echo ""; + } +*/ + + + + + + + + if (isset($_GET["sec2"]) && $_GET["sec2"] == "godmode/admin_access_logs"){ echo '
'; diff --git a/pandora_console/godmode/modules/manage_network_templates.php b/pandora_console/godmode/modules/manage_network_templates.php index 8b6506909e..508da6e4b9 100644 --- a/pandora_console/godmode/modules/manage_network_templates.php +++ b/pandora_console/godmode/modules/manage_network_templates.php @@ -18,6 +18,68 @@ // Load global vars require("include/config.php"); +if (comprueba_login() == 0) + $id_user = $_SESSION["id_usuario"]; +else + $id_user = ""; +if (give_acl($id_user, 0, "PM")!=1) { + audit_db($id_user,$REMOTE_ADDR, "ACL Violation", + "Trying to access Network Profile Management"); + require ("general/noaccess.php"); + exit; +} + +if (isset($_GET["delete"])){ // if delete + $id_np = entrada_limpia ($_GET["delete"]); + $sql_delete= "DELETE FROM tnetwork_profile WHERE id_np = ".$id_np; + $result=mysql_query($sql_delete); + if (! $result) + echo "

".$lang_label["delete_no"]."

"; + else + echo "

".$lang_label["delete_ok"]."

"; + + $result=mysql_query($sql_delete); +} + +echo "

".$lang_label["network_profile_management"]."

"; + +echo ""; +echo ""; +echo ""; +echo ""; +$sql1='SELECT * FROM tnetwork_profile ORDER BY name'; +$result=mysql_query($sql1); +$color=0; +while ($row=mysql_fetch_array($result)){ + if ($color == 1){ + $tdcolor = "datos"; + $color = 0; + } + else { + $tdcolor = "datos2"; + $color = 1; + } + echo " + + + + "; + +} +echo ""; +echo "
".$lang_label["name"]."".$lang_label["description"]."".$lang_label["number_of_modules"]."
+ ".$row["name"]." + + ".$row["description"]." + + + +
"; +echo "
"; +echo ""; +echo "
"; ?> \ No newline at end of file diff --git a/pandora_console/godmode/modules/manage_network_templates_form.php b/pandora_console/godmode/modules/manage_network_templates_form.php new file mode 100644 index 0000000000..436e841d3b --- /dev/null +++ b/pandora_console/godmode/modules/manage_network_templates_form.php @@ -0,0 +1,200 @@ +".$lang_label["delete_no"].""; + else { + echo "

".$lang_label["delete_ok"]."

"; + } +} + +if (isset($_GET["add_module"])){ // Add module to profile + $id_nc = $_POST["component"]; + $id_np = $_GET["id_np"]; + $sql1="INSERT INTO tnetwork_profile_component (id_np,id_nc) VALUES ($id_np, $id_nc)"; + $result=mysql_query($sql1); + if (! $result) + echo "

".$lang_label["create_no"]."

"; + else { + echo "

".$lang_label["create_ok"]."

"; + } +} + +$ncgroup = -1; + +if (isset($_GET["refresh_module"])){ //Refresh module info from group combo + $ncgroup = $_POST["ncgroup"]; +} + + +if (isset($_GET["id_np"])){ // Read module data + $id_np = $_GET["id_np"]; + if ($id_np != -1){ + $sql1="SELECT * FROM tnetwork_profile WHERE id_np = $id_np"; + $result=mysql_query($sql1); + $row=mysql_fetch_array($result); + $description = $row["description"]; + $name = $row["name"]; + } else { + $comentarios = ""; + $name = ""; + } +} + +if (isset($_GET["create"])){ // Create module + $name = entrada_limpia ($_POST["name"]); + $description = entrada_limpia ($_POST["description"]); + $sql_insert="INSERT INTO tnetwork_profile (name,description) + VALUES ('$name', '$description')"; + $result=mysql_query($sql_insert); + if (! $result) + echo "

".$lang_label["create_no"]."

"; + else { + echo "

".$lang_label["create_ok"]."

"; + $id_np = mysql_insert_id(); + } +} + +if (isset($_GET["update"])){ // Update profile + $id_np = $_GET["update"]; + $name = entrada_limpia ($_POST["name"]); + $description = entrada_limpia ($_POST["description"]); + $sql_insert="UPDATE tnetwork_profile set name = '$name', description = '$description' WHERE id_np = $id_np"; + $result=mysql_query($sql_insert); + if (! $result) + echo "

".$lang_label["modify_no"]."

"; + else { + echo "

".$lang_label["modify_ok"]."

"; + } +} + + +echo "

".$lang_label["network_profile_management"]."

"; +echo ""; + +if ($id_np == -1) + echo '
'; +else + echo '
'; + +echo "
".$lang_label["name"]; +echo ""; +echo ""; + +echo "
".$lang_label["description"]; +echo ""; +echo ""; +echo "
"; + +if ($id_np != -1){ + // Show associated modules, allow to delete, and to add + echo ''; + echo ''; + echo ""; + echo ""; + echo ""; + } + } + echo "
".$lang_label["module_name"]; + echo "".$lang_label["type"]; + echo "".$lang_label["description"]; + echo "".$lang_label["nc.group"]; + echo "X"; + $color =0; + $sql1 = "SELECT * FROM tnetwork_profile_component where id_np = $id_np"; + $result = mysql_query ($sql1); + while ( $row = mysql_fetch_array($result)) { + $id_nc = $row["id_nc"]; + $id_npc = $row["id_npc"]; + $sql2 = "SELECT * FROM tnetwork_component where id_nc = $id_nc"; + $result2 = mysql_query ($sql2); + if ($row2=mysql_fetch_array($result2)){ + if ($color == 1){ + $tdcolor="datos"; + $color =0; + } else { + $tdcolor="datos2"; + $color =1; + } + $id_tipo = $row2["type"]; + $id_group = $row2["id_group"]; + $nombre_modulo =$row2["name"]; + $descripcion = $row2["description"]; + $module_group2 = $row2["id_module_group"]; + + echo "
"; + echo $nombre_modulo; + echo ""; + if ($id_tipo > 0) { + echo ""; + } + echo "".substr($descripcion,0,30)."".give_network_component_group_name($id_group)."
"; +} + +echo ""; +echo ''; +echo '
'; +if ($id_np == -1) + echo ''; +else + echo ''; +echo "
"; +echo ""; + + +if ($id_np != -1){ + echo "

"."Add module"."

"; + echo ""; + echo '
'; + echo '
'; + $sql1 = "SELECT * FROM tnetwork_component ORDER BY id_group"; + $result = mysql_query ($sql1); + echo ""; + + echo '
'; + echo ''; + echo "
"; + echo ""; +} + +?> \ No newline at end of file diff --git a/pandora_console/godmode/servers/manage_recontask.php b/pandora_console/godmode/servers/manage_recontask.php new file mode 100644 index 0000000000..436840660e --- /dev/null +++ b/pandora_console/godmode/servers/manage_recontask.php @@ -0,0 +1,174 @@ +".$lang_label["delete_ok"].""; + else + echo "

".$lang_label["delete_no"]."

"; +} + + +// -------------------------------- +// UPDATE A RECON TASK +// -------------------------------- +if (isset($_GET["update"])) { + $id = entrada_limpia($_GET["update"]); + $name = entrada_limpia($_POST["name"]); + $network = entrada_limpia($_POST["network"]); + $description = entrada_limpia($_POST["description"]); + $id_server = entrada_limpia($_POST["id_server"]); + $type = entrada_limpia($_POST["type"]); + $server_assigned = entrada_limpia($_POST["server_assigned"]); + $interval = entrada_limpia($_POST["interval"]); + $id_group = entrada_limpia($_POST["id_group"]); + $create_incident = entrada_limpia($_POST["create_incident"]); + $id_network_profile = entrada_limpia($_POST["id_network_profile"]); + $sql = "UPDATE trecon_task SET name = '".$name."', subnet = '".$network."', description='".$description."', type = $type, id_network_server = $id_server, create_incident = $create_incident, id_group = $id_group, interval_sweep = $interval, id_network_server_assigned = $server_assigned, id_network_profile = $id_network_profile WHERE id_rt = $id"; + $result=mysql_query($sql); + if ($result) + echo "

".$lang_label["modify_ok"]."

"; + else + echo "

".$lang_label["modify_no"]."

"; +} + +// -------------------------------- +// CREATE A RECON TASK +// -------------------------------- +if (isset($_GET["create"])) { + $name = entrada_limpia($_POST["name"]); + $network = entrada_limpia($_POST["network"]); + $description = entrada_limpia($_POST["description"]); + $id_server = entrada_limpia($_POST["id_server"]); + $type = entrada_limpia($_POST["type"]); + $server_assigned = entrada_limpia($_POST["server_assigned"]); + $interval = entrada_limpia($_POST["interval"]); + $id_group = entrada_limpia($_POST["id_group"]); + $create_incident = entrada_limpia($_POST["create_incident"]); + $id_network_profile = entrada_limpia($_POST["id_network_profile"]); + $sql = "INSERT INTO trecon_task (name, subnet, description, type, id_network_server, create_incident, id_group, id_network_server_assigned, id_network_profile, interval_sweep) VALUES ( '$name', '$network', '$description', $type, $id_server, $create_incident, $id_group, $server_assigned, $id_network_profile, $interval)"; + $result=mysql_query($sql); + if ($result) + echo "

".$lang_label["create_ok"]."

"; + else + echo "

".$lang_label["create_no"]."

"; +} + +// -------------------------------- +// SHOW TABLE WITH ALL RECON TASKs +// -------------------------------- +echo "

".$lang_label["manage_recontask"]."

"; +$query="SELECT * FROM trecon_task"; +$result=mysql_query($query); +$color=1; + +echo ""; +echo ""; + echo "'; +echo "
".$lang_label["name"]; +echo "".$lang_label['type']; +echo "".$lang_label['network']; +echo "".$lang_label['network_profile']; +echo "".$lang_label['group']; +echo "".$lang_label['incident']; +echo "".$lang_label['interval']; +echo "".$lang_label['recon_server']; +echo "".$lang_label['network_server']; +echo "X"; +while ($row=mysql_fetch_array($result)){ + $id_rt = $row["id_rt"]; + $name = $row["name"]; + $network = $row["subnet"]; + $description = $row["description"]; + $id_server = $row["server"]; + $type = $row["type"]; + $id_network_server = $row["id_network_server"]; + $interval = $row["interval_sweep"]; + $id_group = $row["id_group"]; + $create_incident = $row["create_incident"]; + $id_network_profile = $row["id_network_profile"]; + $id_network_server_assigned = $row["id_network_server_assigned"]; + if ($color == 1){ + $tdcolor = "datos"; + $color = 0; + } + else { + $tdcolor = "datos2"; + $color = 1; + } + echo "
"; + echo "$name"; + + echo ""; + if ($type ==1) + echo "ICMP"; + + // Network + echo ""; + echo $network; + + // Network profile name + echo ""; + echo "".give_network_profile_name($id_network_profile).""; + + // GROUP + echo ""; + echo ""; + // INCIDENT + echo ""; + if ($create_incident == 1) + echo $lang_label["yes"]; + else + echo $lang_label["no"]; + // INTERVAL + echo ""; + echo $interval; + // Recon server + echo ""; + echo "".give_server_name($id_network_server).""; + // Network server assigned + echo ""; + echo "".give_server_name($id_network_server_assigned)."";; + + // ACTION + echo ""; + +} + +echo '
"; +echo "
"; +echo ""; +echo "
"; + +?> \ No newline at end of file diff --git a/pandora_console/godmode/servers/manage_recontask_form.php b/pandora_console/godmode/servers/manage_recontask_form.php new file mode 100644 index 0000000000..7a1b12715f --- /dev/null +++ b/pandora_console/godmode/servers/manage_recontask_form.php @@ -0,0 +1,187 @@ +".$lang_label["manage_recontask"].""; +echo ''; + +// Different Form url if it's a create or if it's a update form +if ($id_rt != -1) + echo ""; +else + echo ""; +echo ""; +echo '"; +echo '"; +echo ""; +echo ""; +echo ""; + +echo '"; +echo ""; + +echo "
"; + +//name +echo "
'.$lang_label["task_name"]; +echo ""; +//-- Recon server + +echo "".$lang_label["recon_server"]; +echo ""; +echo '"; + +// Network +echo "
'.$lang_label["network"]; +echo ''; +echo ''; +// Interval +echo ''.$lang_label["interval"]; +echo ''; +echo ""; + +// Network profile +echo "
".$lang_label["network_profile"]; +echo ""; +echo ""; +//-- Network server +echo "".$lang_label["network_server"]; +echo ""; +echo '"; + +// Group +echo "
".$lang_label["group"]; +echo ""; +echo ""; + +// TYPE +echo "".$lang_label["type"]; +echo ""; +echo ""; + +// Incident +echo "
".$lang_label["incident"]; +echo ""; +echo ""; +echo "
'.$lang_label["comments"]; +echo ''; +echo '"; +echo "
"; +if ($id_rt != "-1") + echo ''; +else + echo ''; +echo ""; +echo "
"; + +?> \ No newline at end of file diff --git a/pandora_console/godmode/servers/modificar_server.php b/pandora_console/godmode/servers/modificar_server.php index b7a7591f02..1bf206839a 100644 --- a/pandora_console/godmode/servers/modificar_server.php +++ b/pandora_console/godmode/servers/modificar_server.php @@ -102,7 +102,7 @@ if (comprueba_login() == 0) { echo "".$lang_label['checksum']; echo "".$lang_label['laststart']; echo "".$lang_label['lastupdate']; - echo "".$lang_label['action']; + echo "".$lang_label['delete']; $color=1; while ($row=mysql_fetch_array($result)){ $name = $row["name"]; @@ -127,7 +127,7 @@ if (comprueba_login() == 0) { $color = 1; } echo ""; - echo "$name"; + echo "$name"; echo ""; if ($status ==0){ echo ""; @@ -159,7 +159,7 @@ if (comprueba_login() == 0) { } echo "".substr($keepalive,0,25); echo "".substr($laststart,0,25); - echo " "; + echo ""; } echo '
'; } diff --git a/pandora_console/include/functions_db.php b/pandora_console/include/functions_db.php index 39cdaa1bc4..74551544f3 100644 --- a/pandora_console/include/functions_db.php +++ b/pandora_console/include/functions_db.php @@ -898,4 +898,19 @@ function give_network_component_group_name ($id){ return $pro; } +// --------------------------------------------------------------- +// Return network profile name name given its ID +// --------------------------------------------------------------- + +function give_network_profile_name ($id_np){ + require("config.php"); + $query1="SELECT * FROM tnetwork_profile WHERE id_np= ".$id_np; + $resq1=mysql_query($query1); + if ($rowdup=mysql_fetch_array($resq1)) + $pro=$rowdup["name"]; + else + $pro = ""; + return $pro; +} + ?> diff --git a/pandora_console/include/languages/language_en.php b/pandora_console/include/languages/language_en.php index bcf8848fd0..d1d74bb155 100644 --- a/pandora_console/include/languages/language_en.php +++ b/pandora_console/include/languages/language_en.php @@ -707,6 +707,26 @@ $lang_label["setup_mode"]="Setup mode"; $lang_label["refresh_data"]="Refresh data"; $lang_label["lag"]="LAG"; $lang_label["N/A"]="N/A"; +$lang_label["done"]="Done"; +$lang_label["pending"]="Pending"; +$lang_label['progress']="Progress"; +$lang_label['task_name']="Task name"; +$lang_label["days"]="days"; +$lang_label["day"]="day"; +$lang_label["week"]="week"; +$lang_label["weeks"]="weeks"; +$lang_label["month"]="month"; +$lang_label["months"]="monts"; +$lang_label["hours"]="hours"; +$lang_label["hour"]="hour"; +$lang_label['network_profile']="Network profile"; +$lang_label["manage_recontask"]="Manage recontask"; +$lang_label["yes"]="Yes"; +$lang_label["no"]="No"; +$lang_label["view"]="View"; +$lang_label["number_of_modules"]="# Modules"; +$lang_label["network_profile_management"]="Network profile management"; + global $lang_label; global $help_label; ?> \ No newline at end of file diff --git a/pandora_console/index.php b/pandora_console/index.php index a2ff8dcb75..59d0cec902 100644 --- a/pandora_console/index.php +++ b/pandora_console/index.php @@ -45,9 +45,9 @@ if ($develop_bypass != 1){ } // Check perms for config.php if ((substr(sprintf('%o', fileperms('include/config.php')), -4) != "0600") && - (substr(sprintf('%o', fileperms('include/config.php')), -4) != "0660") && - (substr(sprintf('%o', fileperms('include/config.php')), -4) != "0640") && - (substr(sprintf('%o', fileperms('include/config.php')), -4) != "0600")) + (substr(sprintf('%o', fileperms('include/config.php')), -4) != "0660") && + (substr(sprintf('%o', fileperms('include/config.php')), -4) != "0640") && + (substr(sprintf('%o', fileperms('include/config.php')), -4) != "0600")) { include "general/error_perms.php"; exit; @@ -184,7 +184,7 @@ if (isset ($_GET["refr"])){
-
+
Sorry! I can't find the page!"; } - } elseif (isset ($_GET["sec"])) { + } else require ("general/logon_ok.php"); //default - } + ?>
diff --git a/pandora_console/operation/agentes/bulbs.php b/pandora_console/operation/agentes/bulbs.php index f58d83e092..7635ec9ded 100644 --- a/pandora_console/operation/agentes/bulbs.php +++ b/pandora_console/operation/agentes/bulbs.php @@ -27,7 +27,7 @@ echo " - ".$lang_label["red_light"]." - ".$lang_label["yellow_light"]." - + - ".$lang_label["fired"]." - ".$lang_label["no_light"]." diff --git a/pandora_console/operation/agentes/estado_agente.php b/pandora_console/operation/agentes/estado_agente.php index 2d7b3cbfee..e53ad78c8c 100644 --- a/pandora_console/operation/agentes/estado_agente.php +++ b/pandora_console/operation/agentes/estado_agente.php @@ -280,7 +280,7 @@ if (comprueba_login() == 0) { if ($biginterval > 0){ $percentil = round($diferencia/(($biginterval*2) / 100)); } else { - echo "N/A"; + $percentil = -1; } echo "
'.salida_limpia($lang_label["group"]).' -    '.dame_grupo($id_grupo).''; +    '.dame_grupo($id_grupo).'
'.dame_grupo($id_group).''; if ($agent_type == 0) { echo ''.$lang_label["agentversion"].' '.salida_limpia($agent_version).''; @@ -192,7 +192,7 @@ if (comprueba_login() == 0) { -
"; + "; } diff --git a/pandora_console/operation/agentes/ver_agente.php b/pandora_console/operation/agentes/ver_agente.php index 2c836c88ea..41889c3f5c 100644 --- a/pandora_console/operation/agentes/ver_agente.php +++ b/pandora_console/operation/agentes/ver_agente.php @@ -96,14 +96,15 @@ if (comprueba_login() == 0) { switch ($tab) { /* http://pandora.localhost/index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&id_agente=600 */ case "manage": require "estado_generalagente.php"; - echo "
"; + break; case "main": require "estado_generalagente.php"; require "estado_monitores.php"; - break; + case "data": require "estado_ultimopaquete.php"; break; + case "alert": require "estado_alertas.php"; break; } diff --git a/pandora_console/operation/servers/view_server.php b/pandora_console/operation/servers/view_server.php index e5aa216b21..93e99d4b0a 100644 --- a/pandora_console/operation/servers/view_server.php +++ b/pandora_console/operation/servers/view_server.php @@ -104,7 +104,10 @@ if (comprueba_login() == 0) { } echo ""; - echo "
$name "; + if ($recon_server == 1) + echo "$name "; + else + echo "$name"; echo ""; if ($status ==0){ echo ""; @@ -126,28 +129,63 @@ if (comprueba_login() == 0) { $percentil = $modules_server / ($total_modules_data / 100); $total_modules_temp = $total_modules_data; } + } elseif ($recon_server == 1){ + + $sql2 = "SELECT COUNT(id_rt) FROM trecon_task WHERE id_network_server = $id_server"; + $result2=mysql_query($sql2); + $row2=mysql_fetch_array($result2); + $modules_server = $row2[0]; + + $sql2 = "SELECT COUNT(id_rt) FROM trecon_task"; + $result2=mysql_query($sql2); + $row2=mysql_fetch_array($result2); + $total_modules = $row2[0]; + if ($total_modules == 0) + $percentil = 0; + $percentil = $modules_server / ($total_modules / 100); + $total_modules_temp = $total_modules; + } + else + echo "-"; + + if (($network_server == 1) OR ($data_server == 1) OR ($recon_server == 1)) // Progress bar render echo ''; - } else - echo "-"; + + // Number of modules echo ""; - if (($network_server == 1) OR ($data_server == 1)) + if (($recon_server ==1) OR ($network_server == 1) OR ($data_server == 1)) echo $modules_server . " / ". $total_modules_temp; else echo "-"; + // LAG CHECK echo ""; - // Calculate lag: get oldest module, for this server, + // Calculate lag: get oldest module of any proc_type, for this server, // and calculate difference in seconds // Get total modules defined for this server if (($network_server == 1) OR ($data_server == 1)){ - $sql1 = "SELECT utimestamp, current_interval FROM tagente_estado WHERE processed_by_server = '$name' "; + $sql1 = "SELECT utimestamp, current_interval FROM tagente_estado WHERE processed_by_server = '$name' AND estado < 100"; $result1=mysql_query($sql1); $nowtime = time(); $maxlag=0; while ($row1=mysql_fetch_array($result1)){ if (($row1["utimestamp"] + $row1["current_interval"]) < $nowtime) - $maxlag = $nowtime - ($row1["utimestamp"] + $row1["current_interval"]); + $maxlag2 = $nowtime - ($row1["utimestamp"] + $row1["current_interval"]); + if ($maxlag2 > $maxlag) + $maxlag = $maxlag2; + } + echo $maxlag." sec"; + } elseif ($recon_server == 1) { + $sql1 = "SELECT * FROM trecon_task WHERE id_network_server = $id_server"; + $result1=mysql_query($sql1); + $nowtime = time(); + $maxlag=0; + while ($row1=mysql_fetch_array($result1)){ + if (($row1["utimestamp"] + $row1["interval"]) < $nowtime) + $maxlag2 = $nowtime - ($row1["utimestamp"] + $row1["interval"]); + if ($maxlag2 > $maxlag) + $maxlag = $maxlag2; } echo $maxlag." sec"; } else diff --git a/pandora_console/operation/servers/view_server_detail.php b/pandora_console/operation/servers/view_server_detail.php new file mode 100644 index 0000000000..1b3e60a309 --- /dev/null +++ b/pandora_console/operation/servers/view_server_detail.php @@ -0,0 +1,137 @@ +".$lang_label["server_detail"]." - $server_name "; + // Show network tasks for Recon Server + if ($row["recon_server"]){ + $sql = "SELECT * FROM trecon_task where id_network_server = $id_server"; + // Connect DataBase + $result=mysql_query($sql); + if (mysql_num_rows($result)){ + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + echo ""; + $color=1; + while ($row=mysql_fetch_array($result)){ + if ($color == 1){ + $tdcolor = "datos"; + $color = 0; + } + else { + $tdcolor = "datos2"; + $color = 1; + } + $id_rt = $row["id_rt"]; + $name = $row["name"]; + $status = $row["status"]; + $utimestamp = $row["utimestamp"]; + $interval = $row["interval_sweep"]; + $create_incident = $row["create_incident"]; + $id_network_server_assigned = $row["id_network_server_assigned"]; + $subnet = $row["subnet"]; + $id_group = $row["id_group"]; + $id_network_profile = $row["id_network_profile"]; + $type = $row["type"]; + echo ""; + // Name + echo ""; + + echo "
".$lang_label["task_name"]."".$lang_label['interval']."".$lang_label['network']."".$lang_label['type']."".$lang_label['status']."".$lang_label['network_profile']."".$lang_label['group']."".$lang_label['progress']."".$lang_label['lastupdate']."
"; + echo ""; + + echo ""; + echo "$name"; + // Interval + echo ""; + if ($interval != 0){ + if ($interval < 43200) + echo "~ ".floor ($interval / 3600)." ".$lang_label["hours"]; + else + echo "~ ".floor ($interval / 86400)." ".$lang_label["days"]; + } else + echo $interval; + + // Subnet + echo ""; + echo $subnet; + // Type + echo ""; + if ($type == 1){ + echo "ICMP"; + } + elseif ($type == 2){ + echo "SNMP"; + } + // status + echo ""; + if ($status == -1) + echo $lang_label["done"]; + else + echo $lang_label["pending"]; + // Network profile + echo ""; + echo give_network_profile_name($id_network_profile); + + // Group + echo ""; + echo ""; + + // Progress + echo ""; + if ($status < 0) + echo "-"; + else + echo ''; + + // Last execution + echo ""; + $keepalive = strftime ( "%m/%d/%y %H:%M:%S" , $utimestamp ); + echo substr($keepalive,0,25).""; + if (give_acl($id_user, 0, "PM")==1){ + echo ""; + echo ""; + } + } + echo "
"; + } + } +} +?> \ No newline at end of file