From a55712d32a858513393c22187818bab2e17c1572 Mon Sep 17 00:00:00 2001 From: slerena Date: Tue, 1 Jul 2008 19:47:17 +0000 Subject: [PATCH] 2008-07-01 Sancho Lerena * include/config_process.php: Default back to 1 week. * estado_monitores.php: Removed SLA check from there. Too slow for a main view. * operation/agentes/ver_agente.php: Modified tabs to have SLA view. * operation/agentes/sla_view.php: New SLA specific view, show all automatic SLA coming from monitor data and add's individual items from a SLA report defined for any module of this agent. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@915 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f --- pandora_console/ChangeLog | 13 ++ pandora_console/include/config.php | 6 +- .../operation/agentes/estado_monitores.php | 17 +- .../operation/agentes/sla_view.php | 202 ++++++++++++++++++ .../operation/agentes/ver_agente.php | 14 +- 5 files changed, 228 insertions(+), 24 deletions(-) create mode 100644 pandora_console/operation/agentes/sla_view.php diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index 4fa6ef31d5..5b2e3b7c5e 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,16 @@ +2008-07-01 Sancho Lerena + + * include/config_process.php: Default back to 1 week. + + * estado_monitores.php: Removed SLA check from there. Too slow for a + main view. + + * operation/agentes/ver_agente.php: Modified tabs to have SLA view. + + * operation/agentes/sla_view.php: New SLA specific view, show all + automatic SLA coming from monitor data and add's individual items + from a SLA report defined for any module of this agent. + 2008-07-01 Jorge Gonzalez * images/help.png: new help image. diff --git a/pandora_console/include/config.php b/pandora_console/include/config.php index 1e5a90ef4c..62f1a2f504 100644 --- a/pandora_console/include/config.php +++ b/pandora_console/include/config.php @@ -2,10 +2,10 @@ // Begin of automatic config file $config["dbname"]="pandora"; // MySQL DataBase name $config["dbuser"]="pandora"; // DB User -$config["dbpass"]="pandora"; // DB Password +$config["dbpass"]="dstxhvec"; // DB Password $config["dbhost"]="localhost"; // DB Host -$config["homedir"]="/var/www/pandora_console/"; // Config homedir -$config["homeurl"]="http://localhost/pandora_console"; // Base URL +$config["homedir"]="/var/www/pandora/"; // Config homedir +$config["homeurl"]="http://192.168.50.1/pandora"; // Base URL // End of automatic config file ?>X"; echo "".$lang_label["type"]." ".$lang_label["module_name"]." - ".$lang_label["SLA"]." + ".$lang_label["description"]." ".$lang_label["status"]." ".$lang_label["interval"]." ".$lang_label["last_contact"].""; @@ -86,15 +83,9 @@ if (comprueba_login() == 0) { } echo ""; echo ""; - echo "".$est_modulo.""; - echo ""; - - $temp = return_module_SLA ($row_t["id_agente_modulo"], $config["sla_period"], 1, 2147483647); - if ($temp === false) - echo lang_string("N/A"); - else - echo "$temp %";; - + echo "".$est_modulo.""; + echo ""; + echo substr($est_description,0,35); echo ""; if ($est_estado == 1){ if ($est_cambio == 1) diff --git a/pandora_console/operation/agentes/sla_view.php b/pandora_console/operation/agentes/sla_view.php new file mode 100644 index 0000000000..bda9f12268 --- /dev/null +++ b/pandora_console/operation/agentes/sla_view.php @@ -0,0 +1,202 @@ +".lang_string("SLA view").""; + $id_agent = get_parameter ("id_agente", "0"); + + // Get all module from agent + $sql_t='SELECT * FROM tagente_estado, tagente_modulo WHERE tagente_modulo.disabled = 0 AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.id_agente='.$id_agent.' AND tagente_estado.estado != 100 AND tagente_estado.utimestamp != 0 ORDER BY tagente_modulo.nombre'; + $result_t=mysql_query($sql_t); + if (mysql_num_rows ($result_t)) { + echo "

".lang_string ("Automatic SLA for monitors")."

"; + echo ""; + echo ""; + echo " + + + + + "; + $color=0; + while ($row_t=mysql_fetch_array($result_t)){ + # For evey module in the status table + $est_modulo = substr($row_t["nombre"],0,25); + $est_tipo = dame_nombre_tipo_modulo($row_t["id_tipo_modulo"]); + $est_description = $row_t["descripcion"]; + $est_timestamp = $row_t["timestamp"]; + $est_estado = $row_t["estado"]; + $est_datos = $row_t["datos"]; + $est_cambio = $row_t["cambio"]; + $est_interval = $row_t["module_interval"]; + if (($est_interval != $intervalo) && ($est_interval > 0)) { + $temp_interval = $est_interval; + } else { + $temp_interval = $intervalo; + } + if ($est_estado <>100){ # si no es un modulo de tipo datos + # Determinamos si se ha caido el agente (tiempo de intervalo * 2 superado) + if ($color == 1){ + $tdcolor = "datos"; + $color = 0; + } + else { + $tdcolor = "datos2"; + $color = 1; + } + $seconds = time() - $row_t["utimestamp"]; + if ($seconds >= ($temp_interval*2)) // If every interval x 2 secs. we get nothing, there's and alert + $agent_down = 1; + else + $agent_down = 0; + + echo ""; + echo "";; + } + + + + echo ""; + else + echo "--"; + echo ""; + } + } + echo '
X".$lang_label["type"]."".$lang_label["module_name"]."".$lang_label["SLA"]."".$lang_label["status"]."".$lang_label["interval"]."".$lang_label["last_contact"]."
"; + + if (($row_t["id_modulo"] != 1) AND ($row_t["id_tipo_modulo"] < 100)) { + if ($row_t["flag"] == 0){ + echo ""; + } else { + echo ""; + } + } + echo ""; + echo ""; + echo "".$est_modulo.""; + + $temp = return_module_SLA ($row_t["id_agente_modulo"], $config["sla_period"], 1, 2147483647); + if ($temp === false) + echo lang_string("N/A"); + else { + echo format_numeric($temp)." %"; + if ($est_estado == 1){ + if ($est_cambio == 1) + echo ""; + else + echo ""; + } else + echo ""; + + echo ""; + if ($temp_interval != $intervalo) + echo $temp_interval.""; + if ($agent_down == 1) { // If agent down, it's shown red and bold + echo ""; + } + else { + echo ""; + } + if ($row_t["timestamp"]=='0000-00-00 00:00:00') { + echo $lang_label["never"]; + } else { + echo human_time_comparation($row_t["timestamp"]); + } + echo "
'; + + } + + + // Get all SLA report components + $sql_t = "SELECT tagente_modulo.id_agente_modulo, sla_max, sla_min, sla_limit, tagente_modulo.id_tipo_modulo, tagente_modulo.nombre, tagente_modulo.descripcion FROM treport_content_sla_combined, tagente_modulo WHERE tagente_modulo.id_agente = $id_agent AND tagente_modulo.id_agente_modulo = treport_content_sla_combined.id_agent_module AND tagente_modulo.id_tipo_modulo IN (1,4,7,8,11,15,16,22,24)"; + + $result_t=mysql_query($sql_t); + if (mysql_num_rows ($result_t)) { + echo "

".lang_string ("User-defined SLA items")."

"; + echo ""; + echo ""; + echo " + + + "; + $color=0; + while ($row_t=mysql_fetch_array($result_t)){ + + # For evey module in the status table + $id_agent_module = $row_t[0]; + $sla_max = $row_t[1]; + $sla_min = $row_t[2]; + $sla_limit = $row_t[3]; + $id_tipo_modulo = $row_t[4]; + $name = $row_t[5]; + $description = $row_t[6]; + $est_tipo = dame_nombre_tipo_modulo($id_tipo_modulo); + + if ($color == 1){ + $tdcolor = "datos"; + $color = 0; + } + else { + $tdcolor = "datos2"; + $color = 1; + } + echo ""; + echo ""; + echo ""; + echo "
".$lang_label["type"]."".$lang_label["module_name"]."".$lang_label["SLA"]."".$lang_label["status"]."
"; + echo ""; + echo "".$name; + echo " ($sla_min/$sla_max/$sla_limit) "; + + $temp = return_module_SLA ($row_t["id_agente_modulo"], $config["sla_period"], $sla_min, $sla_max); + if ($temp === false){ + echo lang_string("N/A"); + echo ""; + } else { + echo format_numeric($temp)." %"; + if ($temp > $sla_limit) + echo ""; + else + echo ""; + + } + } + echo '
'; + } + +?> diff --git a/pandora_console/operation/agentes/ver_agente.php b/pandora_console/operation/agentes/ver_agente.php index d476db56d9..b5fad456d7 100644 --- a/pandora_console/operation/agentes/ver_agente.php +++ b/pandora_console/operation/agentes/ver_agente.php @@ -152,10 +152,7 @@ if (comprueba_login() == 0) { echo ""; echo ""; - if (isset($_GET["tab"])) - $tab = $_GET["tab"]; - else - $tab = "main"; + $tab = get_parameter ("tab", "main"); echo ""; echo "
"; switch ($tab) { - /* http://pandora.localhost/index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&id_agente=600 */ + case "sla": + require "sla_view.php"; + break; case "manage": require "estado_generalagente.php"; break; - case "main": require "estado_generalagente.php"; require "estado_monitores.php";