2006-12-25 Raul Mateos <raulofpandora@gmail.com>

Pandora_console:

	* include/styles/pandora.css: New style mr40.
	
	* help/en,es/chapter3.php: Explanation of monitor added. Solved error with 
	english file (maximun-> manimum; minimun -> minimum)
	
	* include/functions: Add function to show groups of an user.
	
	* operation/agentes/*, operation/eventos/eventos.php: Use new function.
	Style correction.

	Pandora_docs:

	* pandora_chapter3.xml: Explanation of monitor added. Solved error with 
	english file (maximun-> manimum; minimun -> minimum)

git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@336 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
raulmateos 2006-12-25 18:15:57 +00:00
parent b96f3a7121
commit b8b48e43c6
12 changed files with 330 additions and 177 deletions

View File

@ -1,3 +1,15 @@
2006-12-25 Raul Mateos <raulofpandora@gmail.com>
* include/styles/pandora.css: New style mr40.
* help/en,es/chapter3.php: Explanation of monitor added. Solved error with
english file (maximun-> manimum; minimun -> minimum)
* include/functions: Add function to show groups of an user.
* operation/agentes/*, operation/eventos/eventos.php: Use new function.
Style correction.
2006-12-24 Raul Mateos <raulofpandora@gmail.com>
* include/styles/pandora.css, tip.css: Stylesheet correction.

View File

@ -541,10 +541,25 @@ if (give_acl($id_user, 0, "AW")==1) {
$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."')"; }
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,'0000-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."')";
$sql_insert = "INSERT INTO tagente_estado
(id_agente_modulo,datos,timestamp,cambio,estado,id_agente)
VALUES (
$id_agente_modulo, 0,'0000-00-00 00:00:00',0,100,'".$id_agente."'
)";
}
$result2=mysql_query($sql_insert);
if ((! $result) || (! $result2))
@ -558,39 +573,41 @@ if (give_acl($id_user, 0, "AW")==1) {
$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");
audit_db($id_user,$REMOTE_ADDR, "ACL Violation",
"Trying to delete a module without admin rights");
require ("general/noaccess.php");
echo "</table>";
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;
$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"];
// First detele from tagente_modulo
$sql_delete= "DELETE FROM tagente_modulo WHERE id_agente_modulo = ".$id_borrar_modulo;
$sql_delete= "DELETE FROM tagente_modulo
WHERE id_agente_modulo = ".$id_borrar_modulo;
$result=mysql_query($sql_delete);
if (! $result)
echo "<h3 class='error'>".$lang_label["delete_module_no"]."</h3>";
else
echo "<h3 class='suc'>".$lang_label["delete_module_ok"]."</h3>";
// Then delete all staus
$sql_delete = "DELETE FROM tagente_estado WHERE id_agente_modulo = ".$id_borrar_modulo;
//echo "DEBUG SQL_DELETE $sql_delete <br>";
$sql_delete = "DELETE FROM tagente_estado
WHERE id_agente_modulo = ".$id_borrar_modulo;
$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 <br>";
$sql_delete = "DELETE FROM tagente_datos
WHERE id_agente_modulo = ".$id_borrar_modulo;
$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 <br>";
$sql_delete = "DELETE FROM tagente_datos_string
WHERE id_agente_modulo = ".$id_borrar_modulo;
$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 <br>";
$sql_delete = "DELETE FROM tagente_datos_inc
WHERE id_agente_modulo = ".$id_borrar_modulo;
$result=mysql_query($sql_delete);
}
@ -601,9 +618,17 @@ if (give_acl($id_user, 0, "AW")==1) {
// ========================
echo "<h2>".$lang_label["agent_conf"]."</h2>";
if (isset($_GET["creacion"])){echo "<h3>".$lang_label["create_agent"]."<a href='help/".$help_code."/chap3.php#32' target='_help' class='help'>&nbsp;<span>".$lang_label["help"]."</span></a></h3>";}
else {echo "<h3>".$lang_label["update_agent"]."<a href='help/".$help_code."/chap3.php#32' target='_help' class='help'>&nbsp;<span>".$lang_label["help"]."</span></a></h3>";}
echo '<form name="conf_agent" method="post" action="index.php?sec=gagente&sec2=godmode/agentes/configurar_agente">';
if (isset($_GET["creacion"])){
echo "<h3>".$lang_label["create_agent"]."
<a href='help/".$help_code."/chap3.php#32' target='_help' class='help'>
&nbsp;<span>".$lang_label["help"]."</span></a></h3>";
} else {
echo "<h3>".$lang_label["update_agent"]."
<a href='help/".$help_code."/chap3.php#32' target='_help' class='help'>
&nbsp;<span>".$lang_label["help"]."</span></a></h3>";
}
echo '<form name="conf_agent" method="post" action="index.php?sec=gagente&
sec2=godmode/agentes/configurar_agente">';
if ($creacion_agente == 1)
echo "<input type='hidden' name='create_agent' value='1'>";
else {
@ -612,21 +637,32 @@ else {
}
echo '<table width="650" cellpadding="3" cellspacing="3" class="fon">';
echo "<tr><td class='lb' rowspan='9' width='5'>";
echo '<td class="datos"><b>'.$lang_label["agent_name"].'</b></td><td class="datos"><input type="text" name="agente" size=30 value="'.$nombre_agente.'">';
echo '<td class="datos"><b>'.$lang_label["agent_name"].'</b></td>
<td class="datos">
<input type="text" name="agente" size=30 value="'.$nombre_agente.'">';
if (isset($_GET["creacion"])){
echo "&nbsp;";
} else {
echo "&nbsp;<a href='index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&id_agente=".$id_agente."' <img src='images/setup.gif' width='19' valign='top' align='middle' border='0'></a>&nbsp;<a href='index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente=".$id_agente."'><img src='images/lupa.gif' border='0' align='middle'></a>";
echo "&nbsp;<a href='index.php?sec=gagente&
sec2=godmode/agentes/configurar_agente&id_agente=".$id_agente."'
<img src='images/setup.gif' width='19' valign='top' align='middle' border='0'></a>
&nbsp;<a href='index.php?sec=estado&
sec2=operation/agentes/ver_agente&id_agente=".$id_agente."'>
<img src='images/lupa.gif' border='0' align='middle'></a>";
}
?>
<tr><td class="datos2"><b><?php echo $lang_label["ip_address"]?></b><td class="datos2"><input type="text" name="direccion" size=30 value="<?php echo $direccion_agente ?>">
<tr><td class="datos2"><b><?php echo $lang_label["ip_address"]?></b>
<td class="datos2">
<input type="text" name="direccion" size="30" value="
<?php echo $direccion_agente ?>"></td>
<!-- Combo for group -->
<tr><td class="datos"><b><?php echo $lang_label["group"]?></b><td class="datos"><select name="grupo" class="w130">
<tr><td class="datos"><b><?php echo $lang_label["group"]?></b>
<td class="datos"><select name="grupo" class="w130">
<?php
if (isset($grupo)){
echo "<option value='".$grupo."'>".dame_grupo($grupo);
}
$sql1='SELECT * FROM tgrupo ORDER BY nombre';
$sql1='SELECT id_grupo, nombre FROM tgrupo ORDER BY nombre';
$result=mysql_query($sql1);
while ($row=mysql_fetch_array($result)){
// Group ALL cannot be selected
@ -636,8 +672,12 @@ while ($row=mysql_fetch_array($result)){
}
?>
</select>
<tr><td class="datos2"><b><?php echo $lang_label["interval"]?></b></td><td class="datos2"><input type="text" name="intervalo" size="15" value="<?php echo $intervalo?>"></td>
<tr><td class="datos"><b><?php echo $lang_label["os"]?></b></td><td class="datos">
<tr><td class="datos2"><b><?php echo $lang_label["interval"]?></b></td>
<td class="datos2">
<input type="text" name="intervalo" size="15" value="
<?php echo $intervalo?>"></td>
<tr><td class="datos"><b><?php echo $lang_label["os"]?></b></td>
<td class="datos">
<select name="os_name" class="w130">
<?php
if (isset($id_os)){
@ -651,7 +691,8 @@ while ($row=mysql_fetch_array($result)){
?>
</select>
<tr><td class="datos2"><b><?php echo $lang_label["server"]?></b></td><td class="datos2">
<tr><td class="datos2"><b><?php echo $lang_label["server"]?></b></td>
<td class="datos2">
<select name="id_server" class="w130">
<?php
echo "<option value='".$id_server."'>".give_server_name($id_server);
@ -665,31 +706,52 @@ while ($row=mysql_fetch_array($result)){
</select>
<tr><td class="datos"><b><?php echo $lang_label["description"]?></b><td class="datos"><input type="text" name="comentarios" size="55" value="<?php echo $comentarios ?>"></td>
<tr><td class="datos"><b><?php echo $lang_label["description"]?></b>
<td class="datos">
<input type="text" name="comentarios" size="55" value="
<?php echo $comentarios ?>"></td>
<tr><td class="datos2"><b><?php echo $lang_label["module_definition"]?></b>
<td class="datos2">
<?php if ($modo == "1"){
echo $lang_label["learning_mode"].'<input type="radio" class="chk" name="modo" value="1" checked style="margin-right: 40px;">';
echo $lang_label["normal_mode"].' <input type="radio" class="chk" name="modo" value="0">';
echo $lang_label["learning_mode"].'
<input type="radio" class="chk" name="modo" value="1" class="mr40" checked>';
echo $lang_label["normal_mode"].'
<input type="radio" class="chk" name="modo" value="0">';
} else {
echo $lang_label["learning_mode"].'<input type="radio" class="chk" name="modo" value="1" style="margin-right: 40px;">';
echo $lang_label["normal_mode"].'<input type="radio" name="modo" class="chk" value="0" checked>';
echo $lang_label["learning_mode"].'
<input type="radio" class="chk" name="modo" value="1" class="mr40">';
echo $lang_label["normal_mode"].'
<input type="radio" name="modo" class="chk" value="0" checked>';
}
?>
<tr><td class="datos"><b><?php echo $lang_label["status"]?></b>
<td class="datos">
<?php if ($disabled == "1"){
echo $lang_label["disabled"].'<input type="radio" class="chk" name="disabled" value="1" checked style="margin-right: 40px;">';
echo $lang_label["active"].' <input class="chk" type="radio" name="disabled" value="0">';
echo $lang_label["disabled"].'
<input type="radio" class="chk" name="disabled" value="1" class="mr40" checked>';
echo $lang_label["active"].'
<input class="chk" type="radio" name="disabled" value="0">';
} else {
echo $lang_label["disabled"].'<input type="radio" class="chk" name="disabled" value="1" style="margin-right: 40px;">';
echo $lang_label["active"].'<input type="radio" name="disabled" class="chk" value="0" checked>';
echo $lang_label["disabled"].'
<input type="radio" class="chk" name="disabled" value="1" class="mr40">';
echo $lang_label["active"].'
<input type="radio" name="disabled" class="chk" value="0" checked>';
}
?>
<tr><td colspan='3'><div class='raya'></div></td></tr>
<tr><td colspan="3" align="right">
<?php if (isset($_GET["creacion"])){echo "<input name='crtbutton' type='submit' class='sub' value='".$lang_label["create"]."'>";}
else {echo "<input name='uptbutton' type='submit' class='sub' value='".$lang_label["update"]."'>";} ?></td>
<?php
if (isset($_GET["creacion"])){
echo "
<input name='crtbutton' type='submit' class='sub' value='".
$lang_label["create"]."'>";
} else {
echo "
<input name='uptbutton' type='submit' class='sub' value='".
$lang_label["update"]."'>";
}
?>
</td>
</form>
</table>

View File

@ -228,7 +228,7 @@ Operating System.</p>
<li><b>Field #2 (Single Line):</b> Define the used value for the "_field2_" variable.</li>
<li><b>Field #3 (Full Text):</b> Define the used value for the "_field3_" variable.</li>
<li><b>Time threshold:</b> Minimum duration between the firing of two consecutive alerts, in seconds.</li>
<li><b>Max Alerts Fired:</b> Maximun number of alerts that can be sent consecutively.</li>
<li><b>Max Alerts Fired:</b> Maximum number of alerts that can be sent consecutively.</li>
<li><b>Assigned module:</b> Module to be motitorized by the alert.</li>
</ul>
@ -422,7 +422,7 @@ The groups are displayed ordered by the following columns:</p>
<h3><a name="334">3.3.4. Monitors view</a></h3>
<p>The description of all the monitors defined in the server can be viewed from the "View Agents"&gt;"Monitor detail" option in the Operation menu.</p>
<p>The description of all the monitors (a monitor is a module of "proc" type) defined in the server can be viewed from the "View Agents"&gt;"Monitor detail" option in the Operation menu.</p>
<p class="center"><img src="images/image026.png"></p>
@ -541,10 +541,10 @@ values from the modules the agent sends after each time interval.</li>
<b>Field #3 (Full Text):</b> Define the
used value for the "_field3_" variable.
</p><p>
<b>Min number of alerts:</b> Minimun
<b>Min number of alerts:</b> Minimum
number of alerts that can be sent consecutively.
</p><p>
<b>Max number of alerts:</b> Maximun
<b>Max number of alerts:</b> Maximum
number of alerts that can be sent consecutively.
</p><p><b>Time threshold:</b> Minimum
duration between the firing of two consecutive

View File

@ -452,7 +452,7 @@ simplemente con una r&aacute;pida mirada, gracias a un sistema de bombillas de d
<h3><a name="334">3.3.4. Ver monitores</a></h3>
<p>Desde «Ver agentes» &gt; «Detalle monitores» en el men&uacute; de operaci&oacute;n, se puede ver la descripci&oacute;n de todos los monitores definidos en el servidor.</p>
<p>Desde «Ver agentes» &gt; «Detalle monitores» en el men&uacute; de operaci&oacute;n, se puede ver la descripci&oacute;n de todos los monitores definidos en el servidor (un monitor es un m&oacute;dulo de tipo <i>proc</i>).</p>
<p class="center"><img src="images/image026.png"></p>

View File

@ -462,25 +462,23 @@ function pagination ($count, $url, $offset ) {
// get offset for index calculation
}
// End of subrouting to navigate throught blocks
/* Now you have a header with blocks rendered, and only need to jump offset records.
Tasks you need to do now:
Skip offset records
$query1="SELECT * FROM $table $filter $order";
$result=mysql_query($query1);
mysql_data_seek($result, $offset);
$offset_counter = 0;
Start viewing data
while ($row=mysql_fetch_array($result) and ($offset_counter < $block_size) ){
$data=$row["ID_xxx"];
.
.
.
*/
}
function list_group ($id_user){
$mis_grupos[]=""; // Define array mis_grupos to put here all groups with Agent Read permission
$iconindex_g[]="";
$sql='SELECT id_grupo, icon FROM tgrupo';
$result=mysql_query($sql);
while ($row=mysql_fetch_array($result)){
$iconindex_g[$row["id_grupo"]] = $row["icon"];
if ($row["id_grupo"] != 1){
if (give_acl($id_user,$row["id_grupo"], "AR") == 1){
echo "<option value='".$row["id_grupo"]."'>".
dame_nombre_grupo($row["id_grupo"])."</option>";
$mis_grupos[]=$row["id_grupo"]; //Put in an array all the groups the user belongs
}
}
}
}
?>

View File

@ -384,6 +384,9 @@ td.datosf9i, td.datos2f9i {
margin-top: 15px;
text-align: justify;
}
.mr40 {
margin-right: 40px;
}
ul.mn {
list-style: none;
padding: 0px 0px 0px 0px;

View File

@ -21,7 +21,8 @@
require("include/config.php");
if (comprueba_login() == 0) {
if ((give_acl($id_user, 0, "AR")==1) or (give_acl($id_user,0,"AW")) or (dame_admin($id_user)==1)) {
if ((give_acl($id_user, 0, "AR")==1) or (give_acl($id_user,0,"AW"))
or (dame_admin($id_user)==1)) {
if (isset($_POST["ag_group"]))
$ag_group = $_POST["ag_group"];
@ -34,50 +35,65 @@ if (comprueba_login() == 0) {
$ag_group = $_GET["ag_group_refresh"];
}
echo "<h2>".$lang_label["ag_title"]."</h2>";
echo "<h3>".$lang_label["summary"]."<a href='help/".$help_code."/chap3.php#331' target='_help' class='help'>&nbsp;<span>".$lang_label["help"]."</span></a></h3>";
$iduser_temp=$_SESSION['id_usuario'];
echo "<h3>".$lang_label["summary"]."
<a href='help/".$help_code."/chap3.php#331' target='_help' class='help'>
&nbsp;<span>".$lang_label["help"]."</span></a></h3>";
// Show group selector
if (isset($_POST["ag_group"])){
$ag_group = $_POST["ag_group"];
echo "<form method='post' action='index.php?sec=estado&sec2=operation/agentes/estado_agente&refr=60&ag_group_refresh=".$ag_group."'>";
echo "<form method='post'
action='index.php?sec=estado&sec2=operation/agentes/estado_agente
&refr=60&ag_group_refresh=".$ag_group."'>";
} else {
echo "<form method='post' action='index.php?sec=estado&sec2=operation/agentes/estado_agente&refr=60'>";
echo "<form method='post'
action='index.php?sec=estado&sec2=operation/agentes/estado_agente
&refr=60'>";
}
echo "<table cellpadding='3' cellspacing='3'><tr>";
echo "<td>".$lang_label["group"]."</td>";
echo "<td valign='middle'>";
echo "<select name='ag_group' onChange='javascript:this.form.submit();' class='w130'>";
echo "<select name='ag_group' onChange='javascript:this.form.submit();'
class='w130'>";
if ( $ag_group > 1 ){
echo "<option value='".$ag_group."'>".dame_nombre_grupo($ag_group);
echo "<option value='".$ag_group."'>".dame_nombre_grupo($ag_group).
"</option>";
}
echo "<option value=1>".dame_nombre_grupo(1); // Group all is always active
echo "<option value=1>".dame_nombre_grupo(1)."</option>"; // Group all is always active
// Group 1 (ALL) gives A LOT of problems, be careful with this code:
// Run query on all groups and show data only if ACL check its ok: $iduser_temp is user, and acl is AR (agent read)
$mis_grupos[]=""; // Define array mis_grupos to put here all groups with Agent Read permission
$sql='SELECT * FROM tgrupo';
$sql='SELECT id_grupo FROM tgrupo';
$result=mysql_query($sql);
while ($row=mysql_fetch_array($result)){
if ($row["id_grupo"] != 1){
if (give_acl($iduser_temp,$row["id_grupo"], "AR") == 1){
echo "<option value='".$row["id_grupo"]."'>".dame_nombre_grupo($row["id_grupo"]);
if (give_acl($id_user,$row["id_grupo"], "AR") == 1){
echo "<option value='".$row["id_grupo"]."'>".
dame_nombre_grupo($row["id_grupo"])."</option>";
$mis_grupos[]=$row["id_grupo"]; //Put in an array all the groups the user belongs
}
}
}
echo "</select>";
echo "<td valign='middle'><noscript><input name='uptbutton' type='submit' class='sub' value='".$lang_label["show"]."'></noscript></td></form>";
echo "<td valign='middle'>
<noscript>
<input name='uptbutton' type='submit' class='sub'
value='".$lang_label["show"]."'>
</noscript>
</td>
</form>";
// Show only selected groups
if ($ag_group > 1)
$sql='SELECT * FROM tagente WHERE id_grupo='.$ag_group.' AND disabled = 0 ORDER BY nombre';
$sql='SELECT * FROM tagente WHERE id_grupo='.$ag_group.'
AND disabled = 0 ORDER BY nombre';
else
$sql='SELECT * FROM tagente WHERE disabled = 0 ORDER BY id_grupo, nombre';
$sql='SELECT * FROM tagente WHERE disabled = 0
ORDER BY id_grupo, nombre';
$result=mysql_query($sql);
if (mysql_num_rows($result)){
@ -126,9 +142,18 @@ if (comprueba_login() == 0) {
}
if ($pertenece == 1) { // Si el agente pertenece a uno de los grupos que el usuario puede visualizar
// Obtenemos la lista de todos los modulos de cada agente
$sql_t="SELECT * FROM tagente_estado, tagente_modulo WHERE tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo AND tagente_modulo.id_agente=".$id_agente;
$sql_t="SELECT * FROM tagente_estado, tagente_modulo
WHERE tagente_estado.id_agente_modulo = tagente_modulo.id_agente_modulo
AND tagente_modulo.id_agente=".$id_agente;
$result_t=mysql_query($sql_t);
$estado_general = 0; $numero_modulos = 0; $numero_monitor = 0; $est_timestamp = ""; $monitor_bad=0; $monitor_ok = 0; $monitor_down=0; $numero_datamodules=0;
$estado_general = 0;
$numero_modulos = 0;
$numero_monitor = 0;
$est_timestamp = "";
$monitor_bad=0;
$monitor_ok = 0;
$monitor_down=0;
$numero_datamodules=0;
$estado_cambio=0; // Oops, I forgot initialize this fucking var... many problems due it
$ahora=date("Y/m/d H:i:s");
// Calculate module/monitor totals for this agent

View File

@ -20,7 +20,6 @@
require("include/config.php");
if (comprueba_login() == 0) {
if ((give_acl($id_user, 0, "AR")==1) or (give_acl($id_user,0,"AW")) or (dame_admin($id_user)==1)) {
if (isset($_GET["id_agente"])){
echo "<h3>".$lang_label["alert_listing"]."<a href='help/".$help_code."/chap3.php#3324' target='_help' class='help'><span>".$lang_label["help"]."</span></a></h3>";
$id_agente = $_GET["id_agente"];
@ -88,22 +87,10 @@ if (comprueba_login() == 0) {
echo "<select name='ag_group' onChange='javascript:this.form.submit();' class='w130'>";
if ( $ag_group > 1 ){
echo "<option value='".$ag_group."'>".dame_nombre_grupo($ag_group);
}
echo "<option value=1>".dame_nombre_grupo(1);
$mis_grupos[]=""; // Define array mis_grupos to put here all groups with Agent Read permission
$sql='SELECT * FROM tgrupo';
$result=mysql_query($sql);
while ($row=mysql_fetch_array($result)){
if ($row["id_grupo"] != 1){
if (give_acl($iduser_temp,$row["id_grupo"], "AR") == 1){
echo "<option value='".$row["id_grupo"]."'>".dame_nombre_grupo($row["id_grupo"]);
$mis_grupos[]=$row["id_grupo"]; //Put in an array all the groups the user belongs
}
}
echo "<option value='".$ag_group."'>".dame_nombre_grupo($ag_group)."</option>";
}
echo "<option value=1>".dame_nombre_grupo(1)."</option>";
list_group ($id_user);
echo "</select></td>";
echo "<td valign='middle'><noscript><input name='uptbutton' type='submit' class='sub' value='".$lang_label["show"]."'></noscript></td></form>";
// Show only selected groups
@ -120,7 +107,15 @@ if (comprueba_login() == 0) {
if ($row["disabled"] == 0) {
$id_agente = $row['id_agente'];
$nombre_agente = $row["nombre"];
$query_gen='SELECT talerta_agente_modulo.id_alerta, talerta_agente_modulo.descripcion, talerta_agente_modulo.last_fired, talerta_agente_modulo.times_fired, talerta_agente_modulo.id_agente_modulo, tagente_modulo.id_agente_modulo FROM tagente_modulo, talerta_agente_modulo WHERE tagente_modulo.id_agente = '.$id_agente.' AND tagente_modulo.id_agente_modulo = talerta_agente_modulo.id_agente_modulo';
$query_gen='SELECT talerta_agente_modulo.id_alerta,
talerta_agente_modulo.descripcion,
talerta_agente_modulo.last_fired,
talerta_agente_modulo.times_fired,
talerta_agente_modulo.id_agente_modulo,
tagente_modulo.id_agente_modulo
FROM tagente_modulo, talerta_agente_modulo
WHERE tagente_modulo.id_agente = '.$id_agente.'
AND tagente_modulo.id_agente_modulo = talerta_agente_modulo.id_agente_modulo';
$result_gen=mysql_query($query_gen);
if (mysql_num_rows ($result_gen)) {
while ($data=mysql_fetch_array($result_gen)){
@ -135,19 +130,33 @@ if (comprueba_login() == 0) {
if (!isset($string)) {
$string='';
}
$string=$string."<tr><td class='".$tdcolor."'><a href='index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente=".$id_agente."'><b>".$nombre_agente."</b>";
$string=$string."<td class='".$tdcolor."'>".dame_nombre_alerta($data["id_alerta"]);
$string=$string."<td class='".$tdcolor."'>".$data["descripcion"];
$string=$string."<tr><td class='".$tdcolor."'>
<a href='index.php?sec=estado&
sec2=operation/agentes/ver_agente&
id_agente=".$id_agente."'>
<b>".$nombre_agente."</b>";
$string=$string."<td class='".$tdcolor."'>"
.dame_nombre_alerta($data["id_alerta"])."</td>";
$string=$string."<td class='".$tdcolor."'>".
$data["descripcion"]."</td>";
if ($data["last_fired"] == "0000-00-00 00:00:00") {
$string=$string."<td class='".$tdcolor."'>".$lang_label["never"];
$string=$string."<td class='".$tdcolor."'>".
$lang_label["never"]."</td>";
}
else {
$string=$string."<td class='".$tdcolor."'>".$data["last_fired"];}
$string=$string."<td class='".$tdcolor."'>".$data["times_fired"];
$string=$string."<td class='".$tdcolor."'>".
$data["last_fired"]."</td>";
}
$string=$string."<td class='".$tdcolor."'>".
$data["times_fired"]."</td>";
if ($data["times_fired"] <> 0)
$string=$string."<td class='".$tdcolor."' align='center'><img src='images/dot_red.gif'>";
$string=$string."<td class='".$tdcolor."'
align='center'>
<img src='images/dot_red.gif'></td>";
else
$string=$string."<td class='".$tdcolor."' align='center'><img src='images/dot_green.gif'>";
$string=$string."<td class='".$tdcolor."'
align='center'>
<img src='images/dot_green.gif'></td>";
}
}
else if($ag_group>1) {
@ -165,14 +174,23 @@ if (comprueba_login() == 0) {
echo "</td></tr></table>";
echo "<br>";
echo "<table cellpadding='3' cellspacing='3' width='700'>";
echo "<tr><th>".$lang_label["agent"]."</th><th>".$lang_label["type"]."</th><th>".$lang_label["description"]."</th><th>".$lang_label["last_fired"]."</th><th>".$lang_label["times_fired"]."</th><th>".$lang_label["status"]."</th>";
echo "<tr>
<th>".$lang_label["agent"]."</th>
<th>".$lang_label["type"]."</th>
<th>".$lang_label["description"]."</th>
<th>".$lang_label["last_fired"]."</th>
<th>".$lang_label["times_fired"]."</th>
<th>".$lang_label["status"]."</th>";
echo $string; //built table of alerts
echo "<tr><td colspan='6'><div class='raya'></div></td></tr></table>";
echo "<tr><td colspan='6'><div class='raya'></div></td></tr>
</table>";
}
else {
echo "</table><br><div class='nf'>".$lang_label["no_alert"]."</div>";
echo "</table><br><div class='nf'>".
$lang_label["no_alert"]."</div>";
}
} else echo "</table><br><div class='nf'>". $lang_label["no_agent"].$lang_label["no_agent_alert"]."</div>";
} else echo "</table><br><div class='nf'>".
$lang_label["no_agent"].$lang_label["no_agent_alert"]."</div>";
}
} //end acl
} //end login

View File

@ -30,8 +30,8 @@ if (comprueba_login() == 0) {
}
echo "<h2>".$lang_label["ag_title"]."</h2>";
echo "<h3>".$lang_label["monitor_listing"]."<a href='help/".$help_code."/chap3.php#334' target='_help' class='help'>&nbsp;<span>".$lang_label["help"]."</span></a></h3>";
$iduser_temp=$_SESSION['id_usuario'];
echo "<h3>".$lang_label["monitor_listing"]."<a href='help/".$help_code."/chap3.php#334' target='_help' class='help'>
&nbsp;<span>".$lang_label["help"]."</span></a></h3>";
if (isset($_POST["ag_group"]))
@ -56,57 +56,62 @@ if (comprueba_login() == 0) {
echo "<select name='ag_group' onChange='javascript:this.form.submit();' class='w130'>";
if ( $ag_group > 1 ){
echo "<option value='".$ag_group."'>".dame_nombre_grupo($ag_group);
echo "<option value='".$ag_group."'>".dame_nombre_grupo($ag_group)."</option>";
}
echo "<option value=1>".dame_nombre_grupo(1);
$mis_grupos[]=""; // Define array mis_grupos to put here all groups with Agent Read permission
$sql='SELECT id_grupo FROM tgrupo';
$result=mysql_query($sql);
while ($row=mysql_fetch_array($result)){
if ($row["id_grupo"] != 1){
if (give_acl($iduser_temp,$row["id_grupo"], "AR") == 1){
echo "<option value='".$row["id_grupo"]."'>".dame_nombre_grupo($row["id_grupo"]);
$mis_grupos[]=$row["id_grupo"]; //Put in an array all the groups the user belongs
}
}
}
echo "<option value=1>".dame_nombre_grupo(1)."</option>";
list_group ($id_user);
echo "</select>";
// Module name selector
// This code thanks for an idea from Nikum, nikun_h@hotmail.com
if (isset($_POST["ag_modulename"])){
$ag_modulename = $_POST["ag_modulename"];
echo "<form method='post' action='index.php?sec=estado&sec2=operation/agentes/status_monitor&refr=60&ag_modulename=".$ag_modulename."'>";
echo "<form method='post' action='index.php?sec=estado&
sec2=operation/agentes/status_monitor&
refr=60&ag_modulename=".$ag_modulename."'>";
} else {
echo "<form method='post' action='index.php?sec=estado&sec2=operation/agentes/status_monitor&refr=60'>";
echo "<form method='post' action='index.php?sec=estado&
sec2=operation/agentes/status_monitor&refr=60'>";
}
echo "<td>&nbsp;</td>";
echo "<td>";
echo "<img src='images/b_green.gif'> - ".$lang_label["green_light"]."</td><td>&nbsp;</td>";
echo "<img src='images/b_green.gif'> - ".$lang_label["green_light"]."</td>
<td>&nbsp;</td>";
echo "<td>";
echo "<img src='images/b_red.gif'> - ".$lang_label["red_light"]."</td>";
echo "</td>";
echo "</tr>";
echo "<tr>";
echo "<td valign='middle'>".$lang_label["module_name"]."</td>";
echo "<td valign='middle'><select name='ag_modulename' onChange='javascript:this.form.submit();'>";
echo "<td valign='middle'>
<select name='ag_modulename' onChange='javascript:this.form.submit();'>";
if ( isset($ag_modulename)){
echo "<option>".$ag_modulename."</option>";
}
echo "<option>ALL</option>";
$sql='SELECT DISTINCT nombre FROM tagente_modulo WHERE (id_tipo_modulo = 2) OR (id_tipo_modulo = 9) OR (id_tipo_modulo = 12) OR (id_tipo_modulo = 18) OR (id_tipo_modulo = 6) ';
$sql='SELECT DISTINCT nombre
FROM tagente_modulo
WHERE (id_tipo_modulo = 2)
OR (id_tipo_modulo = 9)
OR (id_tipo_modulo = 12)
OR (id_tipo_modulo = 18)
OR (id_tipo_modulo = 6) ';
$result=mysql_query($sql);
while ($row=mysql_fetch_array($result)){
echo "<option>".$row['0']."</option>";
}
echo "</select>";
echo "<td valign='middle'><noscript><input name='uptbutton' type='submit' class='sub' value='".$lang_label["show"]."'></noscript></form>";
echo "<td valign='middle'>
<noscript><input name='uptbutton' type='submit' class='sub'
value='".$lang_label["show"]."'></noscript>
</form>";
// Show only selected names & groups
if ($ag_group > 1)
$sql='SELECT * FROM tagente WHERE id_grupo='.$ag_group.' ORDER BY nombre';
$sql='SELECT * FROM tagente WHERE id_grupo='.$ag_group.'
ORDER BY nombre';
else
$sql='SELECT * FROM tagente ORDER BY id_grupo, nombre';
@ -118,9 +123,26 @@ if (comprueba_login() == 0) {
while ($row=mysql_fetch_array($result)){ //while there are agents
if ($row["disabled"] == 0) {
if ((isset($ag_modulename)) && ($ag_modulename != "ALL"))
$query_gen='SELECT * FROM tagente_modulo WHERE id_agente = '.$row["id_agente"].' AND nombre = "'.entrada_limpia($_POST["ag_modulename"]).'" AND ( (id_tipo_modulo = 2) OR (id_tipo_modulo = 9) OR (id_tipo_modulo = 12) OR (id_tipo_modulo = 18) OR (id_tipo_modulo = 6))';
$query_gen='SELECT * FROM tagente_modulo
WHERE id_agente = '.$row["id_agente"].'
AND nombre = "'.entrada_limpia($_POST["ag_modulename"]).'"
AND (
(id_tipo_modulo = 2)
OR (id_tipo_modulo = 9)
OR (id_tipo_modulo = 12)
OR (id_tipo_modulo = 18)
OR (id_tipo_modulo = 6)
)';
else
$query_gen='SELECT * FROM tagente_modulo WHERE id_agente = '.$row["id_agente"].' AND ( (id_tipo_modulo = 2) OR (id_tipo_modulo = 9) OR (id_tipo_modulo = 12) OR (id_tipo_modulo = 18) OR (id_tipo_modulo = 6))';
$query_gen='SELECT * FROM tagente_modulo
WHERE id_agente = '.$row["id_agente"].'
AND (
(id_tipo_modulo = 2)
OR (id_tipo_modulo = 9)
OR (id_tipo_modulo = 12)
OR (id_tipo_modulo = 18)
OR (id_tipo_modulo = 6)
)';
$result_gen=mysql_query($query_gen);
if (mysql_num_rows ($result_gen)) {
while ($data=mysql_fetch_array($result_gen)){
@ -133,19 +155,27 @@ if (comprueba_login() == 0) {
}
if (!isset($string)) {$string='';}
$string=$string."<tr><td class='$tdcolor'><b>";
$string=$string."<a href='index.php?sec=estado&sec2=operation/agentes/ver_agente&id_agente=".$data["id_agente"]."'>".dame_nombre_agente($data["id_agente"])."</a></b>";
$string=$string."<a href='index.php?sec=estado&
sec2=operation/agentes/ver_agente&
id_agente=".$data["id_agente"]."'>".
dame_nombre_agente($data["id_agente"])."</a></b></td>";
$string=$string."<td class='$tdcolor'>";
$string=$string."<img src='images/".$iconindex[$data["id_tipo_modulo"]]."' border=0>";
$string=$string."<td class='$tdcolor'>".$data["nombre"];
$string=$string."<td class='".$tdcolor."f9'>".substr($data["descripcion"],0,30);
$string=$string."<td class='$tdcolor' width=25>".$data["max"]."/".$data["min"];
$string=$string."
<img src='images/".$iconindex[$data["id_tipo_modulo"]]."' border=0></td>";
$string=$string."<td class='$tdcolor'>".
$data["nombre"]."</td>";
$string=$string."<td class='".$tdcolor."f9'>".
substr($data["descripcion"],0,30)."</td>";
$string=$string."<td class='$tdcolor' width=25>".
$data["max"]."/".$data["min"]."</td>";
$string=$string."<td class='$tdcolor' width=25>";
if ($data["module_interval"] == 0){
$string=$string.give_agentinterval($data["id_agente"]);
} else {
$string=$string.$data["module_interval"];
}
$query_gen2='SELECT * FROM tagente_estado WHERE id_agente_modulo = '.$data["id_agente_modulo"];
$query_gen2='SELECT * FROM tagente_estado
WHERE id_agente_modulo = '.$data["id_agente_modulo"];
$result_gen2=mysql_query($query_gen2);
$data2=mysql_fetch_array($result_gen2);
$string=$string."<td class='$tdcolor' align='center' width=20>";
@ -154,14 +184,26 @@ if (comprueba_login() == 0) {
} else {
$string=$string."<img src='images/b_red.gif'>";
}
$string=$string."<td class='".$tdcolor."f9' width='140'>".$data2["timestamp"]."</td></tr>";
$string=$string.
"<td class='".$tdcolor."f9' width='140'>".
$data2["timestamp"]."</td>
</tr>";
}
}
else if($ag_group>1) {unset($string);}
}
}
if (isset($string)) {
echo "<table cellpadding='3' cellspacing='3' width='750'><tr><th>".$lang_label["agent"]."</th><th>".$lang_label["type"]."</th><th>".$lang_label["name"]."</th><th>".$lang_label["description"]."</th><th>".$lang_label["max_min"]."</th><th>".$lang_label["interval"]."</th><th>".$lang_label["status"]."</th><th>".$lang_label["timestamp"]."</th>";
echo "<table cellpadding='3' cellspacing='3' width='750'>
<tr>
<th>".$lang_label["agent"]."</th>
<th>".$lang_label["type"]."</th>
<th>".$lang_label["name"]."</th>
<th>".$lang_label["description"]."</th>
<th>".$lang_label["max_min"]."</th>
<th>".$lang_label["interval"]."</th>
<th>".$lang_label["status"]."</th>
<th>".$lang_label["timestamp"]."</th>";
echo $string; //the built table of monitors
echo "<tr><td colspan='8'><div class='raya'></div></td></tr></table>";
}

View File

@ -54,20 +54,19 @@ require("include/config.php");
if (comprueba_login() == 0) {
$accion = "";
$id_usuario =$_SESSION["id_usuario"];
if (give_acl($id_usuario, 0, "AR")==1) {
if (give_acl($id_user, 0, "AR")==1) {
// OPERATIONS
// Delete Event (only incident management access).
if (isset($_GET["delete"])){
$id_evento = $_GET["delete"];
// Look for event_id following parameters: id_group.
$id_group = gime_idgroup_from_idevent($id_evento);
if (give_acl($id_usuario, $id_group, "IM") ==1){
if (give_acl($id_user, $id_group, "IM") ==1){
$sql2="DELETE FROM tevento WHERE id_evento =".$id_evento;
$result2=mysql_query($sql2);
if ($result) {echo "<h3 class='suc'>".$lang_label["delete_event_ok"]."</h3>";}
} else {
audit_db($id_usuario,$REMOTE_ADDR, "ACL Violation","Trying to delete event ID".$id_evento);
audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to delete event ID".$id_evento);
}
}
@ -76,13 +75,13 @@ if (comprueba_login() == 0) {
$id_evento = $_GET["check"];
// Look for event_id following parameters: id_group.
$id_group = gime_idgroup_from_idevent($id_evento);
if (give_acl($id_usuario, $id_group, "IW") ==1){
$sql2="UPDATE tevento SET estado=1, id_usuario = '".$id_usuario."' WHERE id_evento = ".$id_evento;
if (give_acl($id_user, $id_group, "IW") ==1){
$sql2="UPDATE tevento SET estado=1, id_user = '".$id_user."' WHERE id_evento = ".$id_evento;
$result2=mysql_query($sql2);
if ($result2) { echo "<h3 class='suc'>".$lang_label["validate_event_ok"]."</h3>";}
} else {
audit_db($id_usuario,$REMOTE_ADDR, "ACL Violation","Trying to checkout event ID".$id_evento);
audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to checkout event ID".$id_evento);
}
}
@ -94,10 +93,10 @@ if (comprueba_login() == 0) {
$event_id = $_POST["eventid".$count];
// Look for event_id following parameters: id_group.
$id_group = gime_idgroup_from_idevent($event_id);
if (give_acl($id_usuario, $id_group, "IM") ==1){
if (give_acl($id_user, $id_group, "IM") ==1){
mysql_query("DELETE FROM tevento WHERE id_evento =".$event_id);
} else {
audit_db($id_usuario,$REMOTE_ADDR, "ACL Violation","Trying to delete event ID".$id_evento);
audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to delete event ID".$id_evento);
}
}
$count++;
@ -111,11 +110,11 @@ if (comprueba_login() == 0) {
if (isset($_POST["eventid".$count])){
$id_evento = $_POST["eventid".$count];
$id_group = gime_idgroup_from_idevent($id_evento);
if (give_acl($id_usuario, $id_group, "IW") ==1){
$sql2="UPDATE tevento SET estado=1, id_usuario = '".$id_usuario."' WHERE estado = 0 AND id_evento = ".$id_evento;
if (give_acl($id_user, $id_group, "IW") ==1){
$sql2="UPDATE tevento SET estado=1, id_user = '".$id_user."' WHERE estado = 0 AND id_evento = ".$id_evento;
$result2=mysql_query($sql2);
} else {
audit_db($id_usuario,$REMOTE_ADDR, "ACL Violation","Trying to checkout event ID".$id_evento);
audit_db($id_user,$REMOTE_ADDR, "ACL Violation","Trying to checkout event ID".$id_evento);
}
}
$count++;
@ -142,19 +141,7 @@ if (comprueba_login() == 0) {
echo "<option value='".$ev_group."'>".dame_nombre_grupo($ev_group);
}
echo "<option value=1>".dame_nombre_grupo(1)."</option>";
$mis_grupos[]=""; // Define array mis_grupos to put here all groups with Agent Read permission
$iconindex_g[]="";
$sql='SELECT id_grupo, icon FROM tgrupo';
$result=mysql_query($sql);
while ($row=mysql_fetch_array($result)){
$iconindex_g[$row["id_grupo"]] = $row["icon"];
if ($row["id_grupo"] != 1){
if (give_acl($id_usuario,$row["id_grupo"], "AR") == 1){
echo "<option value='".$row["id_grupo"]."'>".dame_nombre_grupo($row["id_grupo"]);
$mis_grupos[]=$row["id_grupo"]; //Put in an array all the groups the user belongs
}
}
}
list_group ($id_user);
echo "</select>";
echo "<td class='f9l30w17t'>";
echo "<img src='images/dot_green.gif'> - ".$lang_label["validated_event"];
@ -199,7 +186,7 @@ if (comprueba_login() == 0) {
while ($row2=mysql_fetch_array($result2)){ // Jump offset records
$id_grupo = $row2["id_grupo"];
if (give_acl($id_usuario, $id_grupo, "IR") == 1) // Only incident read access to view data !
if (give_acl($id_user, $id_grupo, "IR") == 1) // Only incident read access to view data !
$event_list[]=$row2["id_evento"];
}
if (isset($_GET["offset"]))
@ -292,7 +279,7 @@ if (comprueba_login() == 0) {
$tdcolor = "datos2";
$color = 1;
}
//if (give_acl($id_usuario, $id_group, "IR") == 1){ // Only incident read access to view data
//if (give_acl($id_user, $id_group, "IR") == 1){ // Only incident read access to view data
$offset_counter++;
echo "<tr><td class='$tdcolor' align='center'>";
if ($row["estado"] == 0)
@ -309,13 +296,13 @@ if (comprueba_login() == 0) {
echo "<td class='$tdcolor'>";
}
if ($row["estado"] <> 0)
echo "<a href='index.php?sec=usuario&sec2=operation/users/user_edit&ver=".$row["id_usuario"]."'><a href='#' class='tip'>&nbsp;<span>".dame_nombre_real($row["id_usuario"])."</span></a>".substr($row["id_usuario"],0,8)."</a>";
echo "<a href='index.php?sec=usuario&sec2=operation/users/user_edit&ver=".$row["id_user"]."'><a href='#' class='tip'>&nbsp;<span>".dame_nombre_real($row["id_user"])."</span></a>".substr($row["id_user"],0,8)."</a>";
echo "<td class='$tdcolor'>".$row["timestamp"];
echo "<td class='$tdcolor' align='center'>";
if (($row["estado"] == 0) and (give_acl($id_usuario,$id_group,"IW") ==1))
if (($row["estado"] == 0) and (give_acl($id_user,$id_group,"IW") ==1))
echo "<a href='index.php?sec=eventos&sec2=operation/events/events&check=".$row["id_evento"]."'><img src='images/ok.gif' border='0'></a>";
if (give_acl($id_usuario,$id_group,"IM") ==1)
if (give_acl($id_user,$id_group,"IM") ==1)
echo "<a href='index.php?sec=eventos&sec2=operation/events/events&delete=".$row["id_evento"]."&refr=60&offset=".$offset."'><img src='images/cancel.gif' border=0></a>";
echo "<td class='$tdcolor' align='center'>";
echo "<input type='checkbox' class='chk' name='eventid".$offset_counter."' value='".$row["id_evento"]."'>";
@ -328,7 +315,7 @@ if (comprueba_login() == 0) {
echo "<tr><td colspan='8' align='right'>";
echo "<input class='sub' type='submit' name='updatebt' value='".$lang_label["validate"]."'> ";
if (give_acl($id_usuario, 0,"IM") ==1){
if (give_acl($id_user, 0,"IM") ==1){
echo "<input class='sub' type='submit' name='deletebt' value='".$lang_label["delete"]."'>";
}
echo "</form></table>";

View File

@ -1,3 +1,8 @@
2006-12-25 Raul Mateos <raulofpandora@gmail.com>
* pandora_chapter3.xml: Explanation of monitor added. Solved error with
english file (maximun-> manimum; minimun -> minimum)
2006-12-20 Manuel Arostegui <marostegui@artica.es>
* pandora_install.xml: Added a note about jpgraph installation.

View File

@ -574,7 +574,7 @@
<para>
<emphasis>Minimum Value:</emphasis> Defines the minimum
value for a module. Any value below that will trigger the
Alert. Both Maximun value and minimun value defines "the acceptable" values
Alert. Both maximum and minimum values define "the acceptable" values
that Pandora FMS consider "valid", outside this values, Pandora will consider as
alert candidate.
</para>
@ -614,13 +614,13 @@
</listitem>
<listitem>
<para>
<emphasis>Min number of alerts:</emphasis> Minimun number
<emphasis>Min number of alerts:</emphasis> Minimum number
of alerts that can be sent consecutively.
</para>
</listitem>
<listitem>
<para>
<emphasis>Max number of alerts:</emphasis> Maximun number
<emphasis>Max number of alerts:</emphasis> Maximum number
of alerts that can be sent consecutively. If you set it to 0 no alerts
will be send.
</para>
@ -1046,7 +1046,8 @@
<sect2 id="sec3.3.4">
<title>Monitor details</title>
<para>
The description of all the monitors defined in the server can
The description of all the monitors defined in the server
(a monitor is a module of "proc" type) can
be viewed from the "View Agents" &gt; "Monitor detail" option
in the Operation menu.
</para>
@ -1233,13 +1234,13 @@
</listitem>
<listitem>
<para>
<emphasis>Min number of alerts:</emphasis> Minimun
<emphasis>Min number of alerts:</emphasis> Minimum
number of alerts that can be sent consecutively.
</para>
</listitem>
<listitem>
<para>
<emphasis>Max number of alerts:</emphasis> Maximun
<emphasis>Max number of alerts:</emphasis> Maximum
number of alerts that can be sent consecutively.
</para>
</listitem>