199 lines
7.6 KiB
PHP
199 lines
7.6 KiB
PHP
<?php
|
|
|
|
// Pandora FMS - the Free Monitoring System
|
|
// ========================================
|
|
// Copyright (c) 2008 Artica Soluciones Tecnológicas, http://www.artica.es
|
|
// Please see http://pandora.sourceforge.net for full contribution list
|
|
|
|
// This program is free software; you can redistribute it and/or
|
|
// modify it under the terms of the GNU General Public License
|
|
// as published by the Free Software Foundation for version 2.
|
|
// This program is distributed in the hope that it will be useful,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
// GNU General Public License for more details.
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with this program; if not, write to the Free Software
|
|
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
// Load global vars
|
|
require("include/config.php");
|
|
|
|
check_login();
|
|
|
|
if (! give_acl ($config["id_user"], 0, "AW")) {
|
|
audit_db ($config["id_user"], $REMOTE_ADDR, "ACL Violation",
|
|
"Trying to access agent manager");
|
|
require ($config["homedir"]."/general/noaccess.php");
|
|
return;
|
|
};
|
|
|
|
echo "<h2>".__('agent_conf')." > ".__('alerts')."</h2>";
|
|
// ==========================
|
|
// Create module/type combo
|
|
// ==========================
|
|
|
|
echo '<table width="300" cellpadding="4" cellspacing="4" class="databox">';
|
|
echo '<form name="modulo" method="post" action="index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=alert&id_agente='.$id_agente.'">';
|
|
echo "<tr><td class='datos'>";
|
|
echo '<select name="form_alerttype">';
|
|
|
|
echo "<option value='simple'>".__('Create a simple alert');
|
|
echo "<option value='combined'>".__('Create a new combined alert');
|
|
echo "</select></td>";
|
|
echo '<td class="datos">';
|
|
echo '<input align="right" name="updbutton" type="submit" class="sub wand" value="'.__('create').'">';
|
|
echo "</form>";
|
|
echo "</table>";
|
|
|
|
// ==========================
|
|
// Simple alerts view
|
|
// ==========================
|
|
|
|
$sql = 'SELECT * FROM tagente_modulo WHERE id_agente = "'.$id_agente.'"';
|
|
$result = mysql_query ($sql);
|
|
if ($row = mysql_num_rows( $result)) {
|
|
|
|
echo "<h3>".__('Simple alerts')."</h3>";
|
|
|
|
$color=1;
|
|
$string='';
|
|
while ($row=mysql_fetch_array($result)){ // All modules of this agent
|
|
$id_tipo = $row["id_tipo_modulo"];
|
|
$nombre_modulo = substr($row["nombre"],0,21);
|
|
//module type modulo is $row2["nombre"];
|
|
|
|
$sql = 'SELECT *
|
|
FROM talerta_agente_modulo
|
|
WHERE id_agente_modulo = '.$row["id_agente_modulo"];
|
|
// From all the alerts give me which are from my agent
|
|
$result3=mysql_query($sql);
|
|
while ($row3=mysql_fetch_array($result3)){
|
|
if ($color == 1){
|
|
$tdcolor="datos";
|
|
$color =0;
|
|
} else {
|
|
$tdcolor="datos2";
|
|
$color =1;
|
|
}
|
|
$sql4='SELECT nombre FROM talerta WHERE id_alerta = '.$row3["id_alerta"];
|
|
$result4=mysql_query($sql4);
|
|
$row4=mysql_fetch_array($result4);
|
|
// Alert name defined by $row4["nombre"];
|
|
$nombre_alerta = $row4["nombre"];
|
|
$string = $string."<tr style='color: #666;'><td class='$tdcolor'>".$nombre_modulo;
|
|
|
|
$string .= show_alert_row_edit ($row3, $tdcolor, $row["id_tipo_modulo"],0);
|
|
$string = $string."</td><td class='$tdcolor'>";
|
|
$id_grupo = dame_id_grupo($id_agente);
|
|
if (give_acl ($config['id_user'], $id_grupo, "LW")) {
|
|
$string = $string."<a href='index.php?sec=gagente&
|
|
sec2=godmode/agentes/configurar_agente&tab=alert&
|
|
id_agente=".$id_agente."&delete_alert=".$row3["id_aam"]."'>
|
|
<img src='images/cross.png' border=0 alt='".__('delete')."'></a> ";
|
|
$string = $string."<a href='index.php?sec=gagente&
|
|
sec2=godmode/agentes/configurar_agente&tab=alert&
|
|
id_agente=".$id_agente."&update_alert=".$row3["id_aam"]."'>
|
|
<img src='images/config.png' border=0 alt='".__('update')."'></a>";
|
|
}
|
|
$string = $string."</td>";
|
|
}
|
|
}
|
|
if (isset($string) & $string!='') {
|
|
echo "<table cellpadding='4' cellspacing='4' width='750' class='databox'>
|
|
<tr><th>".__('name')."</th>
|
|
<th>".__('type')."</th>
|
|
<th>".__('alert')."</th>
|
|
<th>".__('threshold')."</th>
|
|
<th>".__('min.')."</th>
|
|
<th>".__('max.')."</th>
|
|
<th>".__('time')."</th>
|
|
<th>".__('description')."</th>
|
|
<th>".__('info')."</th>
|
|
<th width='50'>".__('action')."</th></tr>";
|
|
echo $string;
|
|
echo "</table>";
|
|
} else {
|
|
echo "<div class='nf'>".__('no_alerts')."</div>";
|
|
}
|
|
} else {
|
|
echo "<div class='nf'>".__('no_modules')."</div>";
|
|
}
|
|
|
|
// ==========================
|
|
// Combined alerts view
|
|
// ==========================
|
|
|
|
echo "<h3>".__('combined alerts')."</h3>";
|
|
|
|
$sql = 'SELECT * FROM talerta_agente_modulo WHERE id_agent = '.$id_agente;
|
|
$result = mysql_query ($sql);
|
|
if (mysql_num_rows($result) == 0) {
|
|
echo "<div class='nf'>".__('no_modules')."</div>";
|
|
} else {
|
|
$color = 1;
|
|
$string = "";
|
|
while ($row=mysql_fetch_array($result)){
|
|
// Show data for this combined alert
|
|
$string .= "<tr><td class='datos3'>";
|
|
$string .= __('Combined')." #".$row["id_aam"];
|
|
$string .= show_alert_row_edit ($row, "datos3", 0, 1);
|
|
$string .= '<td class="datos3">'; // action
|
|
if (give_acl($config['id_user'], $id_grupo, "LW")==1){
|
|
$string .= "<a href='index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=alert&id_agente=".$id_agente."&delete_alert=".$row["id_aam"]."'> <img src='images/cross.png' border=0 alt='".__('delete')."'></a> ";
|
|
$string .= "<a href='index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=alert&id_agente=".$id_agente."&form_alerttype=combined&update_alert=".$row["id_aam"]."'>
|
|
<img src='images/config.png' border=0 alt='".__('update')."'></a>";
|
|
}
|
|
$id_aam = $row["id_aam"];
|
|
$sql = "SELECT * FROM tcompound_alert, talerta_agente_modulo WHERE tcompound_alert.id = $id_aam AND talerta_agente_modulo.id_aam = tcompound_alert.id_aam";
|
|
$result2 = mysql_query ($sql);
|
|
while ($row2 = mysql_fetch_array($result2)) {
|
|
// Show data for each component of this combined alert
|
|
if ($color == 1){
|
|
$tdcolor="datos";
|
|
$color =0;
|
|
} else {
|
|
$tdcolor="datos2";
|
|
$color =1;
|
|
}
|
|
$module = get_db_row ("tagente_modulo", "id_agente_modulo", $row2["id_agente_modulo"]);
|
|
$description = $row2["descripcion"];
|
|
$alert_mode = $row2["operation"];
|
|
$id_agente_name = get_db_value ("nombre", "tagente", "id_agente", $module["id_agente"]);
|
|
$string .= "<tr style='color: #666;'><td class='$tdcolor'><a href='index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=alert&id_agente=".$module["id_agente"]."'><b>".$id_agente_name." </b>- ".substr($module["nombre"],0,15)."</A>";
|
|
|
|
$string .= show_alert_row_edit ($row2, $tdcolor, $module["id_tipo_modulo"],1);
|
|
|
|
$string .= "</td><td class='$tdcolor'>";
|
|
$id_grupo = dame_id_grupo($id_agente);
|
|
if (give_acl($config['id_user'], $id_grupo, "LW")==1){
|
|
$string .= "<a href='index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=alert&id_agente=".$id_agente."&delete_alert_comp=".$row2["id_aam"]."'> <img src='images/cross.png' border=0 alt='".__('delete')."'></a> ";
|
|
$string .= "<a href='index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=alert&id_agente=".$id_agente."&update_alert=".$row2["id_aam"]."'>
|
|
<img src='images/config.png' border=0 alt='".__('update')."'></a>";
|
|
}
|
|
$string .= "</td>";
|
|
}
|
|
}
|
|
|
|
if (isset($string) & $string != "") {
|
|
echo "<table cellpadding='4' cellspacing='4' width='750' class='databox'>
|
|
<tr><th>".__('name')."</th>
|
|
<th>".__('type')."</th>
|
|
<th>".__('Oper')."</th>
|
|
<th>".__('threshold')."</th>
|
|
<th>".__('min.')."</th>
|
|
<th>".__('max.')."</th>
|
|
<th>".__('time')."</th>
|
|
<th>".__('description')."</th>
|
|
<th>".__('info')."</th>
|
|
<th width='50'>".__('action')."</th></tr>";
|
|
echo $string;
|
|
echo "</table>";
|
|
} else {
|
|
echo "<div class='nf'>".__('no_alerts')."</div>";
|
|
}
|
|
}
|
|
|
|
?>
|
|
|