171 lines
7.1 KiB
PHP
171 lines
7.1 KiB
PHP
<?php
|
|
|
|
// Pandora FMS - the Flexible Monitoring System
|
|
// ============================================
|
|
// Copyright (c) 2008 Artica Soluciones Tecnologicas, 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")!=1) {
|
|
audit_db($config["id_user"], $REMOTE_ADDR, "ACL Violation","Trying to access agent manager");
|
|
require ($config["homedir"]."/general/noaccess.php");
|
|
exit;
|
|
};
|
|
|
|
|
|
echo "<h2>".__('Agent configuration')." > ".__('Modules')."</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=module&id_agente='.$id_agente.'">';
|
|
echo "<tr><td class='datos'>";
|
|
echo '<select name="form_moduletype">';
|
|
|
|
// Check if there is at least one server of each type available to assign that
|
|
// kind of modules. If not, do not show server type in combo
|
|
$network_available = get_db_value ("network_server", "tserver", "network_server", "1");
|
|
$wmi_available = get_db_value ("wmi_server", "tserver", "wmi_server", "1");
|
|
$plugin_available = get_db_value ("plugin_server", "tserver", "plugin_server", "1");
|
|
$prediction_available = get_db_value ("prediction_server", "tserver", "prediction_server", "1");
|
|
|
|
// Development mode to use all servers
|
|
if (1 == $develop_bypass) {
|
|
$network_available = 1;
|
|
$wmi_available = 1;
|
|
$plugin_available = 1;
|
|
$prediction_available = 1;
|
|
}
|
|
|
|
echo "<option value='dataserver'>".__('Create a new data server module');
|
|
if ($network_available == 1)
|
|
echo "<option value='networkserver'>".__('Create a new network server module');
|
|
if ($plugin_available == 1)
|
|
echo "<option value='pluginserver'>".__('Create a new plugin Server module');
|
|
if ($wmi_available == 1)
|
|
echo "<option value='wmiserver'>".__('Create a new WMI Server module');
|
|
if ($prediction_available == 1)
|
|
echo "<option value='predictionserver'>".__('Create a new prediction Server module');
|
|
echo "</select></td>";
|
|
echo '<td class="datos">';
|
|
echo '<input align="right" name="updbutton" type="submit" class="sub wand" value="'.__('Create').'">';
|
|
echo "</form>";
|
|
echo "</table>";
|
|
|
|
// ==========================
|
|
// MODULE VISUALIZATION TABLE
|
|
// ==========================
|
|
|
|
echo "<h3>".__('Assigned modules')."</h3>";
|
|
$sql1='SELECT * FROM tagente_modulo WHERE id_agente = "'.$id_agente.'"
|
|
ORDER BY id_module_group, nombre ';
|
|
$result=mysql_query($sql1);
|
|
if ($row=mysql_num_rows($result)){
|
|
echo '<table width="750" cellpadding="4" cellspacing="4" class="databox">';
|
|
echo '<tr>';
|
|
echo "<th>".__('Module name')."</th>";
|
|
echo '<th>'.__('S').'</th>';
|
|
echo '<th>'.__('Type').'</th>';
|
|
echo "<th>".__('Interval')."</th>";
|
|
echo "<th>".__('Description')."</th>";
|
|
echo "<th>".__('Max/Min')."</th>";
|
|
echo "<th width=65>".__('Action')."</th>";
|
|
$color=1; $last_modulegroup = "0";
|
|
while ($row = mysql_fetch_array($result)){
|
|
if ($color == 1){
|
|
$tdcolor = "datos";
|
|
$color = 0;
|
|
} else {
|
|
$tdcolor = "datos2";
|
|
$color = 1;
|
|
}
|
|
$id_tipo = $row["id_tipo_modulo"];
|
|
$id_module = $row["id_modulo"];
|
|
$nombre_modulo = $row["nombre"];
|
|
$descripcion = $row["descripcion"];
|
|
$module_max = $row["max"];
|
|
$module_min = $row["min"];
|
|
$module_interval2 = $row["module_interval"];
|
|
$module_group2 = $row["id_module_group"];
|
|
if ($module_group2 != $last_modulegroup ){
|
|
// Render module group names (fixed code)
|
|
$nombre_grupomodulo = dame_nombre_grupomodulo ($module_group2);
|
|
$last_modulegroup = $module_group2;
|
|
echo "<tr><td class='datos3' align='center' colspan='9'><b>".$nombre_grupomodulo."</b></td></tr>";
|
|
}
|
|
|
|
if ($row["disabled"] == 0)
|
|
echo "<tr><td class='".$tdcolor."_id'>".$nombre_modulo."</td>";
|
|
else
|
|
echo "<tr><td class='$tdcolor'><i>$nombre_modulo</i></td>";
|
|
|
|
// Module type (by server type )
|
|
echo "<td class='".$tdcolor."f9'>";
|
|
if ($id_module > 0) {
|
|
echo show_server_type ($id_module);
|
|
echo ' ';
|
|
}
|
|
|
|
// Module type (by data type)
|
|
echo "<td class='".$tdcolor."f9'>";
|
|
if ($id_tipo > 0) {
|
|
echo "<img src='images/".show_icon_type($id_tipo)."' border=0>";
|
|
}
|
|
echo "</td>";
|
|
|
|
// Module interval
|
|
if ($module_interval2!=0){
|
|
echo "<td class='$tdcolor'>".$module_interval2."</td>";
|
|
} else {
|
|
echo "<td class='$tdcolor'> N/A </td>";
|
|
}
|
|
echo "<td class='$tdcolor' title='$descripcion'>".substr($descripcion,0,30)."</td>";
|
|
|
|
// MAX / MIN values
|
|
echo "<td class='$tdcolor'>";
|
|
if ($module_max == $module_min) {
|
|
$module_max = "N/A";
|
|
$module_min = "N/A";
|
|
}
|
|
echo $module_max." / ".$module_min;
|
|
echo "</td>";
|
|
|
|
// Delete module
|
|
echo "<td class='$tdcolor'>";
|
|
echo "<a href='index.php?sec=gagente&tab=module&sec2=godmode/agentes/configurar_agente&id_agente=$id_agente&delete_module=".$row["id_agente_modulo"]."'".' onClick="if (!confirm(\' '.__('Are you sure?').'\')) return false;">';
|
|
echo "<img src='images/cross.png' border=0 title='".__('Delete')."'>";
|
|
echo "</b></a> ";
|
|
// Update module
|
|
echo "<a href='index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&id_agente=$id_agente&tab=module&update_module=".$row["id_agente_modulo"]."&moduletype=$id_module#modules'>";
|
|
echo "<img src='images/config.png' border=0 title='".__('Update')."' onLoad='type_change()'></b></a>";
|
|
|
|
// Make a data normalization
|
|
if (($id_tipo == 22 ) OR ($id_tipo == 1 ) OR ($id_tipo == 4 ) OR ($id_tipo == 7 ) OR
|
|
($id_tipo == 8 ) OR ($id_tipo == 11 ) OR ($id_tipo == 16) OR ($id_tipo == 22 )) {
|
|
echo " ";
|
|
echo "<a href='index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&id_agente=$id_agente&tab=module&fix_module=".$row["id_agente_modulo"]."'".' onClick="if (!confirm(\' '.__('Are you sure?').'\')) return false;">';
|
|
echo "<img src='images/chart_curve.png' border=0 title='Normalize'></b></a>";
|
|
}
|
|
}
|
|
echo "</table>";
|
|
|
|
} else
|
|
echo "<div class='nf'>".__('No available data to show')."</div>";
|