".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 = get_agent_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 = get_agent_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 '
'; } ?>