".$lang_label["delete_alert_no"].""; else echo "

".$lang_label["delete_alert_ok"]."

"; } // Create alert // ============= if (isset($_POST["insert_alert"])){ // if created alert //$id_agente = $_POST["id_agente"]; $id_agente_modulo = entrada_limpia($_POST["agente_modulo"]); $descripcion= entrada_limpia($_POST["descripcion"]); $campo_1 = entrada_limpia($_POST["campo_1"]); $campo_2 = entrada_limpia($_POST["campo_2"]); $campo_3 = entrada_limpia($_POST["campo_3"]); $maximo = entrada_limpia($_POST["maximo"]); $minimo = entrada_limpia($_POST["minimo"]); $tipo_alerta = entrada_limpia($_POST["tipo_alerta"]); $time_threshold = entrada_limpia($_POST["time_threshold"]); $max_alerts = entrada_limpia($_POST["max_alerts"]); $min_alerts = entrada_limpia($_POST["min_alerts"]); $other = entrada_limpia($_POST["other"]); if ($time_threshold == -1) { $time_threshold = $other; } $sql_insert="INSERT INTO talerta_agente_modulo (id_agente_modulo,id_alerta,al_campo1,al_campo2,al_campo3,descripcion,dis_max,dis_min,time_threshold,max_alerts, min_alerts) VALUES ('".$id_agente_modulo."','".$tipo_alerta."','".$campo_1."','".$campo_2."','".$campo_3."','".$descripcion."','".$maximo."','".$minimo."','".$time_threshold."','".$max_alerts."','".$min_alerts."')"; $result=mysql_query($sql_insert); if (! $result) echo "

".$lang_label["create_alert_no"]."

"; else $id_agente = mysql_insert_id(); echo "

".$lang_label["create_alert_ok"]."

"; } // Update ALERT // ============= if (isset($_POST["update_alert"])){ // Update an existing alert $id_aam = entrada_limpia($_POST["id_aam"]); $tipo_alerta = entrada_limpia($_POST["tipo_alerta"]); if (isset($_POST["agente_modulo"])) $id_agente_modulo = entrada_limpia($_POST["agente_modulo"]); $descripcion= entrada_limpia($_POST["descripcion"]); $campo_1 = entrada_limpia($_POST["campo_1"]); $campo_2 = entrada_limpia($_POST["campo_2"]); $campo_3 = entrada_limpia($_POST["campo_3"]); $maximo = entrada_limpia($_POST["maximo"]); $minimo = entrada_limpia($_POST["minimo"]); $time_threshold = entrada_limpia($_POST["time_threshold"]); $max_alerts = entrada_limpia($_POST["max_alerts"]); $min_alerts = entrada_limpia($_POST["min_alerts"]); $other = entrada_limpia($_POST["other"]); if ($time_threshold == -1) { $time_threshold = $other; } $sql_insert="UPDATE talerta_agente_modulo SET id_alerta = ".$tipo_alerta.", max_alerts = '".$max_alerts."', min_alerts = '".$min_alerts."' ,time_threshold = '".$time_threshold."' ,dis_min = '".$minimo."' ,dis_max = '".$maximo."' ,al_campo3 = '".$campo_3."' ,al_campo2 = '".$campo_2."' ,al_campo1 = '".$campo_1."' , descripcion = '".$descripcion."' WHERE id_aam = ".$id_aam; $result=mysql_query($sql_insert); if (! $result) { echo "

".$lang_label["update_alert_no"]."

"; // echo "SQL DEBUG ".$sql_insert; } else echo "

".$lang_label["update_agent_ok"]."

"; $id_agente = mysql_insert_id(); } // ================================ // Create AGENT // ================================ if (isset($_POST["create_agent"])) { // Create a new and shining agent $nombre_agente = entrada_limpia($_POST["agente"]); $direccion_agente = entrada_limpia($_POST["direccion"]); $grupo = entrada_limpia($_POST["grupo"]); $intervalo = entrada_limpia($_POST["intervalo"]); $comentarios = entrada_limpia($_POST["comentarios"]); $modo = entrada_limpia($_POST["modo"]); $id_server = entrada_limpia($_POST["id_server"]); $os_name = entrada_limpia($_POST["os_name"]); $disabled = entrada_limpia($_POST["disabled"]); // Check if agent exists (BUG WC-50518-2 ) $sql1='SELECT * FROM tagente WHERE nombre = "'.$nombre_agente.'"'; $result=mysql_query($sql1); if ($row=mysql_fetch_array($result)){ echo "

".$lang_label["agent_exists"]."

"; $creacion_agente = 1; } else { if ($id_server != ""){ $sql_insert ="INSERT INTO tagente (nombre, direccion, id_grupo, intervalo, comentarios,modo, id_os, disabled, id_server) VALUES ('".$nombre_agente."', '".$direccion_agente."', '".$grupo."', '".$intervalo."', '".$comentarios."',".$modo.", ".$os_name.", '".$disabled."',$id_server)"; } else { $sql_insert ="INSERT INTO tagente (nombre, direccion, id_grupo, intervalo, comentarios,modo, id_os, disabled) VALUES ('".$nombre_agente."', '".$direccion_agente."', '".$grupo."', '".$intervalo."', '".$comentarios."',".$modo.", ".$os_name.", '".$disabled."')"; } $result=mysql_query($sql_insert); if (! $result) echo "

".$lang_label["create_agent_no"]."

"; else echo "

".$lang_label["create_agent_ok"]."

"; $id_agente = mysql_insert_id(); // Create special MODULE agent_keepalive $sql_insert ="INSERT INTO tagente_modulo (nombre, id_agente, id_tipo_modulo, descripcion) VALUES ('agent_keepalive', ".$id_agente.",-1,'Agent Keepalive monitor')"; $result=mysql_query($sql_insert); if (! $result) { echo "

".$lang_label["create_keep_no"]."

"; } } } // ================ // Update AGENT // ================ if (isset($_POST["update_agent"])) { // if modified some agent paramenter $id_agente = entrada_limpia($_POST["id_agente"]); $nombre_agente = entrada_limpia($_POST["agente"]); $direccion_agente = entrada_limpia($_POST["direccion"]); $grupo = entrada_limpia($_POST["grupo"]); $intervalo = entrada_limpia($_POST["intervalo"]); $comentarios = entrada_limpia($_POST["comentarios"]); $modo = entrada_limpia($_POST["modo"]); $os_name = entrada_limpia($_POST["os_name"]); $id_os = $os_name; // Bug reported by Azabel, Feb/2006 :-) $id_server = entrada_limpia($_POST["id_server"]); $disabled = entrada_limpia($_POST["disabled"]); $sql_update ="UPDATE tagente SET disabled = ".$disabled." , id_os = ".$os_name." , modo = ".$modo." , nombre = '".$nombre_agente."', direccion = '".$direccion_agente."', id_grupo = '".$grupo."', intervalo = '".$intervalo."', comentarios = '".$comentarios."', id_server = ".$id_server." WHERE id_agente = '".$id_agente."'"; $result=mysql_query($sql_update); if (! $result) echo "

".$lang_label["update_agent_no"]."

"; else echo "

".$lang_label["update_agent_ok"]."

"; } // Read agent data // This should be at the end of all operation checks, to read the changes if (isset($_GET["id_agente"])){ $id_agente = $_GET["id_agente"]; $id_grupo = dame_id_grupo($id_agente); if (give_acl($id_user, $id_grupo, "AW")==1){ $sql1='SELECT * FROM tagente WHERE id_agente = '.$id_agente; $result=mysql_query($sql1); if ($row=mysql_fetch_array($result)){ $intervalo = $row["intervalo"]; // Define interval in seconds $nombre_agente = $row["nombre"]; $direccion_agente =$row["direccion"]; $grupo = $row["id_grupo"]; $ultima_act = $row["ultimo_contacto"]; $comentarios = $row["comentarios"]; $id_server = $row["id_server"]; $modo = $row["modo"]; $id_os = $row["id_os"]; $disabled=$row["disabled"]; } else { echo "

".$lang_label["agent_error"]."

"; echo ""; include ("general/footer.php"); exit; } } else { audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to admin an Agent out of admin groups!"); require ("general/noaccess.php"); echo ""; require ("general/footer.php"); exit; } } if (isset($_GET["creacion"])) $creacion_agente = 1; // Read data module if editing module // ================================== if ((isset($_GET["update_module"])) && (!isset($_POST["oid"])) && (!isset($_POST["update_module"]))) { $update_module = 1; $id_agente_modulo = $_GET["update_module"]; $sql_update = "SELECT * FROM tagente_modulo WHERE id_agente_modulo = ".$id_agente_modulo; $result=mysql_query($sql_update); while ($row=mysql_fetch_array($result)){ $modulo_id_agente = $row["id_agente"]; $modulo_id_tipo_modulo = $row["id_tipo_modulo"]; $modulo_nombre = $row["nombre"]; $modulo_descripcion = $row["descripcion"]; $tcp_send = $row["tcp_send"]; $tcp_rcv = $row["tcp_rcv"]; $tcp_port = $row["tcp_port"]; $ip_target = $row["ip_target"]; $snmp_community = $row["snmp_community"]; $snmp_oid = $row["snmp_oid"]; $id_module_group = $row["id_module_group"]; $module_interval = $row["module_interval"]; $modulo_max = $row["max"]; if (! isset($modulo_max)) $modulo_max ="N/A"; $modulo_min = $row["min"]; if (! isset($modulo_min)) $modulo_min ="N/A"; } } // Read alert data if editing alert if (isset($_GET["update_alert"])){ $id_grupo = dame_id_grupo($id_agente); if (give_acl($id_user, $id_grupo, "LW")==0){ audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to update an alert without admin rights"); require ("general/noaccess.php"); echo ""; require ("general/footer.php"); exit; } $update_alert = 1; $id_aam = $_GET["update_alert"]; $sql_update = "SELECT * FROM talerta_agente_modulo WHERE id_aam = ".$id_aam; $result=mysql_query($sql_update); while ($row=mysql_fetch_array($result)){ $alerta_id_aam = $id_aam; $alerta_campo1 = $row["al_campo1"]; $alerta_campo2 = $row["al_campo2"]; $alerta_campo3 = $row["al_campo3"]; $alerta_dis_max = $row["dis_max"]; $alerta_dis_min = $row["dis_min"]; $tipo_alerta = $row["id_alerta"]; $alerta_max_alerts = $row["max_alerts"]; $alerta_min_alerts = $row["min_alerts"]; $alerta_time_threshold = $row["time_threshold"]; $alerta_descripcion = $row["descripcion"]; } } // GET DATA for MODULE UPDATE OR MODULE INSERT // =========================================== if ((isset($_POST["update_module"])) || (isset($_POST["insert_module"]))) { if (isset($_POST["update_module"])){ $update_module = 1; $id_agente_modulo = $_POST["id_agente_modulo"]; } $id_grupo = dame_id_grupo($id_agente); if (give_acl($id_user, $id_grupo, "AW")==0){ audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to create a module without admin rights"); require ("general/noaccess.php"); echo ""; require ("general/footer.php"); exit; } if (isset($_POST["tipo"])) $id_tipo_modulo = entrada_limpia($_POST["tipo"]); if (isset($_POST["nombre"])){ $nombre = entrada_limpia($_POST["nombre"]); $modulo_nombre = $nombre; } if (isset($_POST["descripcion"])){ $descripcion = entrada_limpia($_POST["descripcion"]); $modulo_descripcion = $descripcion; } if (isset($_POST["modulo_max"])) $modulo_max = entrada_limpia($_POST["modulo_max"]); if (isset($_POST["modulo_min"])) $modulo_min = entrada_limpia($_POST["modulo_min"]); // Pandora 1.2 new module data: if (isset($_POST["tcp_send"])) $tcp_send = entrada_limpia($_POST["tcp_send"]); if (isset($_POST["tcp_rcv"])) $tcp_rcv = entrada_limpia($_POST["tcp_rcv"]); if (isset($_POST["tcp_port"])) $tcp_port = entrada_limpia($_POST["tcp_port"]); if (isset($_POST["ip_target"])) $ip_target = entrada_limpia($_POST["ip_target"]); if (isset($_POST["snmp_oid"])) $snmp_oid = entrada_limpia($_POST["snmp_oid"]); if (isset($_POST["snmp_community"])) $snmp_community = entrada_limpia($_POST["snmp_community"]); if (isset($_POST["id_module_group"])) $id_module_group = entrada_limpia($_POST["id_module_group"]); if (isset($_POST["module_interval"])) $module_interval = entrada_limpia($_POST["module_interval"]); } // MODULE UPDATE // ================= if ((isset($_POST["update_module"])) && (!isset($_POST["oid"]))){ // if modified something $combo_snmp_oid = entrada_limpia($_POST["combo_snmp_oid"]); if ($snmp_oid == ""){ $snmp_oid = $combo_snmp_oid; } $sql_update = "UPDATE tagente_modulo SET max ='".$modulo_max."', min = '".$modulo_min."', nombre='".$nombre."', descripcion='".$descripcion."', tcp_send = '$tcp_send', tcp_rcv = '$tcp_rcv', tcp_port = '$tcp_port', ip_target = '$ip_target', snmp_oid = '$snmp_oid', snmp_community = '$snmp_community', id_module_group = '$id_module_group', module_interval = '$module_interval' WHERE id_agente_modulo = ".$id_agente_modulo; $result=mysql_query($sql_update); if (! $result) echo "

".$lang_label["update_module_no"]."

"; else echo "

".$lang_label["update_module_ok"]."

"; // Init vars to null to avoid trash in forms $id_tipo_modulo = "";$nombre = "";$descripcion = "";$modulo_max = ""; $modulo_min = "";// Pandora 1.2 new module data: $tcp_send = "";$tcp_rcv = "";$tcp_port = "";$ip_target = ""; $snmp_oid = "";$snmp_community = "";$id_module_group = ""; $module_interval = ""; $modulo_nombre = ""; $modulo_descripcion = ""; $update_module = 0; } // ========================================================= // OID Refresh button to get SNMPWALK from data in form // This code is also applied when submitting a new module (insert_module = 1) // ========================================================= if (isset($_POST["oid"])){ snmp_set_quick_print(1); if (! ($snmpwalk = snmprealwalk($ip_target, $snmp_community, ""))) echo "

".$lang_label["cannot_read_snmp"]."

"; else echo "

".$lang_label["ok_read_snmp"]."

"; } // ========================================================= // MODULE INSERT // ========================================================= if ((!isset($_POST["oid"])) && (isset($_POST["insert_module"])) && (isset($_POST["combo_snmp_oid"]))){ $combo_snmp_oid = entrada_limpia($_POST["combo_snmp_oid"]); if ($snmp_oid == ""){ $snmp_oid = $combo_snmp_oid; } $sql_insert = "INSERT INTO tagente_modulo (id_agente,id_tipo_modulo,nombre,descripcion,max,min,snmp_oid,snmp_community,id_module_group,module_interval,ip_target,tcp_port,tcp_rcv,tcp_send) VALUES (".$id_agente.",".$id_tipo_modulo.",'".$nombre."','".$descripcion."','".$modulo_max."','".$modulo_min."', '$snmp_oid', '$snmp_community', '$id_module_group', '$module_interval', '$ip_target', '$tcp_port', '$tcp_rcv', '$tcp_send' )"; // Init vars to null to avoid trash in forms $id_tipo_modulo = "";$nombre = "";$descripcion = "";$modulo_max = ""; $modulo_min = "";// Pandora 1.2 new module data: $tcp_send = "";$tcp_rcv = "";$tcp_port = "";$ip_target = ""; $snmp_oid = "";$snmp_community = "";$id_module_group = ""; $module_interval = ""; // echo "DEBUG ".$sql_insert; $result=mysql_query($sql_insert); $id_agente_modulo = mysql_insert_id(); // Create with different estado if proc type or data type if (($id_tipo_modulo == 2) || ($id_tipo_modulo == 6) || ($id_tipo_modulo == 9) || ($id_tipo_modulo == 12) || ($id_tipo_modulo == 18) ){ $sql_insert = "INSERT INTO tagente_estado (id_agente_modulo,datos,timestamp,cambio,estado,id_agente) VALUES ($id_agente_modulo, 0,'2000-00-00 00:00:00',0,0,'".$id_agente."')"; } else { $sql_insert = "INSERT INTO tagente_estado (id_agente_modulo,datos,timestamp,cambio,estado,id_agente) VALUES ($id_agente_modulo, 0,'2000-00-00 00:00:00',0,100,'".$id_agente."')"; } $result2=mysql_query($sql_insert); if ((! $result) && (! $result2)) echo "

".$lang_label["add_module_no"]."

"; else echo "

".$lang_label["add_module_ok"]."

"; } // MODULE DELETION // ================= if (isset($_GET["delete_module"])){ // DELETE agent module ! $id_borrar_modulo = $_GET["delete_module"]; $id_grupo = dame_id_grupo($id_agente); if (give_acl($id_user, $id_grupo, "AW")==0){ audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to delete a module without admin rights"); require ("general/noaccess.php"); echo ""; require ("general/footer.php"); exit; } // Get information of the module to be deleted $sql1='SELECT * FROM tagente_modulo WHERE id_agente_modulo = '.$id_borrar_modulo; $result=mysql_query($sql1); $row=mysql_fetch_array($result); $id_agente = $row["id_agente"]; $nombre_modulo = $row["nombre"]; $id_tipo_modulo = $row["id_tipo_modulo"]; // Primero borramos de la tabla de tagente_modulo $sql_delete= "DELETE FROM tagente_modulo WHERE id_agente_modulo = ".$id_borrar_modulo; $result=mysql_query($sql_delete); if (! $result) echo "

".$lang_label["delete_module_no"]."

"; else echo "

".$lang_label["delete_module_ok"]."

"; // Luego borramos de la tabla de estados, las entradas que haya de este modulo $sql_delete = "DELETE FROM tagente_estado WHERE id_agente_modulo = ".$id_borrar_modulo; //echo "DEBUG SQL_DELETE $sql_delete
"; $result=mysql_query($sql_delete); // And finally, delete all data of this module $sql_delete = "DELETE FROM tagente_datos WHERE id_agente_modulo = ".$id_borrar_modulo; //echo "DEBUG SQL_DELETE $sql_delete
"; $result=mysql_query($sql_delete); $sql_delete = "DELETE FROM tagente_datos_string WHERE id_agente_modulo = ".$id_borrar_modulo; //echo "DEBUG SQL_DELETE $sql_delete
"; $result=mysql_query($sql_delete); $sql_delete = "DELETE FROM tagente_datos_inc WHERE id_agente_modulo = ".$id_borrar_modulo; //echo "DEBUG SQL_DELETE $sql_delete
"; $result=mysql_query($sql_delete); } // ======================== // AGENT GENERAL DATA FORM // ======================== echo "

".$lang_label["agent_conf"]."

"; if (isset($_GET["creacion"])){echo "

".$lang_label["create_agent"]." ".$lang_label["help"]."

";} else {echo "

".$lang_label["update_agent"]." ".$lang_label["help"]."

";} echo '
'; if ($creacion_agente == 1) echo ""; else { echo ""; echo ""; } echo ''; echo "
"; echo ''.$lang_label["agent_name"].''; if (isset($_GET["creacion"])){ echo " "; } else { echo "  "; } ?>
'; echo $lang_label["normal_mode"].' '; } else { echo $lang_label["learning_mode"].''; echo $lang_label["normal_mode"].''; } ?>
'; echo $lang_label["active"].' '; } else { echo $lang_label["disabled"].''; echo $lang_label["active"].''; } ?>
";} else {echo "";} ?>

 

"; } else echo "No modules"; ?>
".$nombre_modulo; echo ""; if ($id_tipo > 0) { echo ""; } if ($module_interval2!=0){ echo "".$module_interval2; } else { echo " N/A"; } echo "".substr($descripcion,0,30); echo "".substr(dame_nombre_grupomodulo($module_group2),0,15); echo ""; if ($module_max == $module_min) { $module_max = "N/A"; $module_min = "N/A"; } echo $module_max." / ".$module_min; echo ""; if ($id_tipo != -1) echo "".$lang_label["delete"]."   "; echo "".$lang_label["update"].""; } echo "
$sql1='SELECT * FROM tagente_modulo WHERE id_agente = "'.$id_agente.'"'; $result=mysql_query($sql1); if ($row=mysql_num_rows($result)){ echo "

".$lang_label["assigned_alerts"]." ".$lang_label["help"]."

"; $color=1; while ($row=mysql_fetch_array($result)){ // All modules of this agent $id_tipo = $row["id_tipo_modulo"]; $nombre_modulo =$row["nombre"]; $sql2='SELECT * FROM ttipo_modulo WHERE id_tipo = "'.$id_tipo.'"'; $result2=mysql_query($sql2); $row2=mysql_fetch_array($result2); //module type modulo is $row2["nombre"]; $sql3='SELECT * FROM talerta_agente_modulo WHERE id_agente_modulo = '.$row["id_agente_modulo"]; // From all the alerts give me which are to my agent $result3=mysql_query($sql3); while ($row3=mysql_fetch_array($result3)){ if ($color == 1){ $tdcolor="datos"; $color =0; } else { $tdcolor="datos2"; $color =1; } $sql4='SELECT * FROM talerta WHERE id_alerta = '.$row3["id_alerta"]; $result4=mysql_query($sql4); $row4=mysql_fetch_array($result4); // Alert name defined by $row4["nombre"]; $tipo_modulo = $row2["nombre"]; $nombre_alerta = $row4["nombre"]; $string = "".$nombre_modulo."/".$tipo_modulo; $string = $string."".$nombre_alerta; $string = $string."".$row3["time_threshold"]; $string = $string."".$row3["dis_min"]."/".$row3["dis_max"]; $string = $string."".salida_limpia($row3["descripcion"]); $string = $string.""; $id_grupo = dame_id_grupo($id_agente); if (give_acl($id_user, $id_grupo, "LW")==1){ $string = $string."".$lang_label["delete"]."   "; $string = $string."".$lang_label["update"].""; } } } if (isset($string)) { echo ""; echo $string; echo "
".$lang_label["name_type"]." ".$lang_label["alert"]." ".$lang_label["time_threshold"]." ".$lang_label["min_max"]." ".$lang_label["description"]." ".$lang_label["action"]."
"; } else echo "".$lang_label["no_alerts"].""; } else echo "".$lang_label["no_modules"].""; ?>
'; // ==================================================================================== // Module Creation / Update form // ==================================================================================== if ($update_module == "1"){ echo ''; echo ''; // Default values for new modules if ($ip_target == ""){ $ip_target = $direccion_agente; $snmp_community = "public"; $module_interval = $intervalo; } } ?>

 

".$lang_label["no_change_field"].""; else { echo '"; } ?> '; if ($update_module == "1"){ echo "
'; } else { echo ''; } echo ""; echo "
"; ?>

 

'; if (! isset($update_alert)) $update_alert = -1; if ($update_alert != 1) echo ''; else { echo ''; echo ' '; echo '
   
   
   
'; $sql2='SELECT * FROM tagente_modulo WHERE id_agente = '.$id_agente; $result2=mysql_query($sql2); while ($row2=mysql_fetch_array($result2)){ if ($row2["id_tipo_modulo"] != -1) { $sql1='SELECT * FROM ttipo_modulo WHERE id_tipo = '.$row2["id_tipo_modulo"]; $result=mysql_query($sql1); while ($row=mysql_fetch_array($result)){ echo "
'; if ($update_alert== "1"){ echo ''; } else { echo ''; } echo ''; echo "
"; echo '
'; } } } // end page else { audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to access Agent Management"); require ("general/noaccess.php"); }