'.$agent['nombre'].'';
echo ''.__('Main IP').': '.$agent['direccion'].'
';
echo ''.__('Group').': ';
echo ' ';
echo dame_nombre_grupo ($agent['id_grupo']).'
';
echo ''.__('Last contact').': '.human_time_comparation($agent['ultimo_contacto']).'
';
echo ''.__('Last remote contact').': '.human_time_comparation($agent['ultimo_contacto_remoto']).'
';
$sql = sprintf ('SELECT tagente_modulo.descripcion, tagente_modulo.nombre
FROM tagente_estado, tagente_modulo
WHERE tagente_modulo.id_agente = %d
AND tagente_modulo.id_tipo_modulo in (2, 6, 9, 18, 21, 100)
AND tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente_modulo.disabled = 0
AND tagente_estado.estado = 1', $id_agent);
$bad_modules = get_db_all_rows_sql ($sql);
$sql = sprintf ('SELECT COUNT(*)
FROM tagente_modulo
WHERE id_agente = %d
AND disabled = 0
AND id_tipo_modulo in (2, 6, 9, 18, 21, 100)', $id_agent);
$total_modules = get_db_sql ($sql);
if ($bad_modules === false)
$size_bad_modules = 0;
else
$size_bad_modules = sizeof ($bad_modules);
// Modules down
if ($size_bad_modules > 0) {
echo ''.__('Monitors down').': '.$size_bad_modules.' / '.$total_modules;
echo '
';
foreach ($bad_modules as $module) {
echo '- ';
$name = $module['nombre'];
echo substr ($name, 0, 25);
if (strlen ($name) > 25)
echo '(...)';
echo '
';
}
echo '
';
}
// Alerts (if present)
$sql = sprintf ('SELECT COUNT(talerta_agente_modulo.id_aam)
FROM talerta_agente_modulo, tagente_modulo, tagente
WHERE tagente.id_agente = %d
AND tagente.disabled = 0
AND tagente.id_agente = tagente_modulo.id_agente
AND tagente_modulo.disabled = 0
AND tagente_modulo.id_agente_modulo = talerta_agente_modulo.id_agente_modulo
AND talerta_agente_modulo.times_fired > 0 ',
$id_agent);
$alert_modules = get_db_sql ($sql);
if ($alert_modules > 0){
$sql = sprintf ('SELECT tagente_modulo.nombre, talerta_agente_modulo.last_fired FROM talerta_agente_modulo, tagente_modulo, tagente WHERE tagente.id_agente = %d AND tagente.disabled = 0 AND tagente.id_agente = tagente_modulo.id_agente AND tagente_modulo.disabled = 0 AND tagente_modulo.id_agente_modulo = talerta_agente_modulo.id_agente_modulo AND talerta_agente_modulo.times_fired > 0 ', $id_agent);
$alerts = get_db_all_rows_sql ($sql);
echo ''.__('Alerts fired').':';
echo "";
foreach ($alerts as $alert_item) {
echo '- ';
$name = $alert_item[0];
echo substr ($name, 0, 25);
if (strlen ($name) > 25)
echo '(...)';
echo " ";
echo human_time_comparation($alert_item[1]);
echo '
';
}
echo '
';
}
exit ();
}
exit ();
}
$id_agente = (int) get_parameter ("id_agente");
if (! $id_agente) {
return;
}
// get group for this id_agente
$id_grupo = get_db_value ('id_grupo', 'tagente', 'id_agente', $id_agente);
if (! give_acl ($config['id_user'], $id_grupo, "AR")) {
audit_db ($config['id_user'], $REMOTE_ADDR, "ACL Violation",
"Trying to access (read) to agent ".dame_nombre_agente($id_agente));
include ("general/noaccess.php");
return;
}
// Check for validate alert request
$validate_alert = get_parameter ("validate_alert");
if ($validate_alert != ""){
if (give_acl ($config['id_user'], $id_grupo, "AW")==1){
$alert_row = get_db_row ("talerta_agente_modulo", "id_aam", $validate_alert);
if ($alert_row["id_agente_modulo"] != 0){
$am_row = get_db_row ("tagente_modulo", "id_agente_modulo", $alert_row["id_agente_modulo"]);
$ag_row = get_db_row ("tagente", "id_agente", $am_row["id_agente"]);
} else {
$ag_row = get_db_row ("tagente", "id_agente", $alert_row ["id_agent"]);
}
$alert_name = $alert_row["descripcion"];
// Single alerts
if ($alert_row["id_agente_modulo"] != 0){
event_insert("Manual validation of alert for '$alert_name'", $ag_row["id_grupo"], $am_row["id_agente"], 1, $config["id_user"], "alert_manual_validation", 1, $alert_row["id_agente_modulo"], $validate_alert);
// Combined alerts
} else {
event_insert("Manual validation of alert for '$alert_name'", $ag_row["id_grupo"], $alert_row ["id_agent"], 1, $config["id_user"], "alert_manual_validation", 1, 0, $validate_alert);
}
$sql='UPDATE talerta_agente_modulo SET times_fired = 0, internal_counter = 0 WHERE id_aam = '.$validate_alert;
$result=mysql_query($sql);
}
}
// Check for Network FLAG change request
if (isset($_GET["flag"])) {
if ($_GET["flag"] == 1 && give_acl ($config['id_user'], $id_grupo, "AW")) {
$sql = "UPDATE tagente_modulo SET flag=1 WHERE id_agente_modulo = ".$_GET["id_agente_modulo"];
process_sql ($sql);
}
}
// Check for Network FLAG change request
if (isset($_GET["flag_agent"])){
if ($_GET["flag_agent"] == 1 && give_acl ($config['id_user'], $id_grupo, "AW")) {
$sql ="UPDATE tagente_modulo SET flag=1 WHERE id_agente = ". $id_agente;
process_sql ($sql);
}
}
echo "";
echo "
";
switch ($tab) {
case "sla":
require "sla_view.php";
break;
case "manage":
require "estado_generalagente.php";
break;
case "main":
require "estado_generalagente.php";
require "estado_monitores.php";
require "estado_alertas.php";
require "status_events.php";
break;
case "data":
require "estado_ultimopaquete.php";
break;
case "alert":
require "estado_alertas.php";
break;
}
?>