2014-03-20 Miguel de Dios <miguel.dedios@artica.es>

* godmode/snmpconsole/snmp_alert.php,
	godmode/alerts/alert_list.list.php,
	godmode/agentes/agent_manager.php,
	godmode/agentes/configurar_agente.php,
	godmode/agentes/modificar_agente.php,
	include/functions_reporting.php,
	operation/agentes/estado_agente.php,
	images/remote_configuration.png: added a tab for enterprise remote
	configuration.
	
	Incident: #311




git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@9619 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
mdtrooper 2014-03-20 12:02:07 +00:00
parent 5fe4fbf696
commit 0b7a657d56
9 changed files with 203 additions and 121 deletions

View File

@ -1,3 +1,17 @@
2014-03-20 Miguel de Dios <miguel.dedios@artica.es>
* godmode/snmpconsole/snmp_alert.php,
godmode/alerts/alert_list.list.php,
godmode/agentes/agent_manager.php,
godmode/agentes/configurar_agente.php,
godmode/agentes/modificar_agente.php,
include/functions_reporting.php,
operation/agentes/estado_agente.php,
images/remote_configuration.png: added a tab for enterprise remote
configuration.
Incident: #311
2014-03-19 Alejandro Gallardo <alejandro.gallardo@artica.es> 2014-03-19 Alejandro Gallardo <alejandro.gallardo@artica.es>
* pandoradb_data.sql, * pandoradb_data.sql,

View File

@ -128,13 +128,6 @@ if (!$new_agent) {
} }
} }
$disk_conf = (bool) get_parameter ('disk_conf');
if ($disk_conf) {
require ("agent_disk_conf_editor.php");
return;
}
$disk_conf_delete = (bool) get_parameter ('disk_conf_delete'); $disk_conf_delete = (bool) get_parameter ('disk_conf_delete');
// Agent remote configuration DELETE // Agent remote configuration DELETE
if ($disk_conf_delete) { if ($disk_conf_delete) {
@ -174,11 +167,18 @@ if (!$new_agent) {
$agent_name = io_safe_output($agent_name); $agent_name = io_safe_output($agent_name);
$agent_md5 = md5 ($agent_name, false); $agent_md5 = md5 ($agent_name, false);
$table->data[0][1] .= '&nbsp;&nbsp;<a href="index.php?sec=gagente&amp;sec2=godmode/agentes/configurar_agente&amp;tab=main&amp;id_agente='.$id_agente.'&amp;disk_conf='.$agent_md5.'">'; $table->data[0][1] .= '&nbsp;&nbsp;' .
'<a href="index.php?' .
'sec=gagente&amp;' .
'sec2=godmode/agentes/configurar_agente&amp;' .
'tab=remote_configuration&amp;' .
'id_agente=' . $id_agente . '&amp;' .
'disk_conf=' . $agent_md5 . '">';
$table->data[0][1] .= html_print_image( $table->data[0][1] .= html_print_image(
"images/application_edit.png", "images/application_edit.png",
true, true,
array ("border" => 0, "title" => __('This agent can be remotely configured'))); array("border" => 0,
"title" => __('This agent can be remotely configured')));
$table->data[0][1] .= '</a>' . $table->data[0][1] .= '</a>' .
ui_print_help_tip ( ui_print_help_tip (
__('You can remotely edit this agent configuration'), true); __('You can remotely edit this agent configuration'), true);
@ -286,7 +286,12 @@ if (!$new_agent) {
if (file_exists ($filename['md5'])) { if (file_exists ($filename['md5'])) {
$table->data[3][1] = date ("F d Y H:i:s", fileatime ($filename['md5'])); $table->data[3][1] = date ("F d Y H:i:s", fileatime ($filename['md5']));
// Delete remote configuration // Delete remote configuration
$table->data[3][1] .= '<a href="index.php?sec=gagente&amp;sec2=godmode/agentes/configurar_agente&amp;tab=main&amp;disk_conf_delete=1&amp;id_agente='.$id_agente.'">'; $table->data[3][1] .= '<a href="index.php?' .
'sec=gagente&amp;' .
'sec2=godmode/agentes/configurar_agente&amp;' .
'tab=main&amp;' .
'disk_conf_delete=1&amp;' .
'id_agente=' . $id_agente . '">';
$table->data[3][1] .= html_print_image( $table->data[3][1] .= html_print_image(
"images/cross.png", true, "images/cross.png", true,
array ('title' => __('Delete remote configuration file'), 'style' => 'vertical-align: middle;')).'</a>'; array ('title' => __('Delete remote configuration file'), 'style' => 'vertical-align: middle;')).'</a>';

View File

@ -212,11 +212,16 @@ if ($create_agent) {
$agent_created_ok = true; $agent_created_ok = true;
$info = 'Name: ' . $nombre_agente . ' IP: ' . $direccion_agente . $info = 'Name: ' . $nombre_agente .
' Group: ' . $grupo . ' Interval: ' . $intervalo . ' IP: ' . $direccion_agente .
' Comments: ' . $comentarios . ' Mode: ' . $modo . ' Group: ' . $grupo .
' ID_parent: ' . $id_parent . ' Server: ' . $server_name . ' Interval: ' . $intervalo .
' ID os: ' . $id_os . ' Disabled: ' . $disabled . ' Comments: ' . $comentarios .
' Mode: ' . $modo .
' ID_parent: ' . $id_parent .
' Server: ' . $server_name .
' ID os: ' . $id_os .
' Disabled: ' . $disabled .
' Custom ID: ' . $custom_id . ' Custom ID: ' . $custom_id .
' Cascade protection: ' . $cascade_protection . ' Cascade protection: ' . $cascade_protection .
' Icon path: ' . $icon_path . ' Icon path: ' . $icon_path .
@ -237,7 +242,6 @@ if ($create_agent) {
// Show tabs // Show tabs
$img_style = array ("class" => "top", "width" => 16); $img_style = array ("class" => "top", "width" => 16);
// TODO: Change to use ui_print_page_header
if ($id_agente) { if ($id_agente) {
/* View tab */ /* View tab */
@ -299,7 +303,8 @@ if ($id_agente) {
$inventorytab = ""; $inventorytab = "";
$has_remote_conf = enterprise_hook('config_agents_has_remote_configuration',array($id_agente)); $has_remote_conf = enterprise_hook('config_agents_has_remote_configuration',
array($id_agente));
if ($has_remote_conf === true) { if ($has_remote_conf === true) {
/* Plugins */ /* Plugins */
@ -365,18 +370,56 @@ if ($id_agente) {
} }
if (check_acl ($config["id_user"], $group, "AW", $id_agente)) { if (check_acl ($config["id_user"], $group, "AW", $id_agente)) {
$onheader = array('view' => $viewtab, if ($has_remote_conf) {
'main' => $maintab, $agent_name = agents_get_name($id_agente);
'module' => $moduletab, $agent_name = io_safe_output($agent_name);
'alert' => $alerttab, $agent_md5 = md5 ($agent_name, false);
'template' => $templatetab,
'inventory' => $inventorytab,
'pluginstab' => $pluginstab,
'collection'=> $collectiontab,
'group' => $grouptab,
'gis' => $gistab,
'agent_wizard' => $agent_wizard);
$remote_configuration_tab['text'] =
'<a href="index.php?' .
'sec=gagente&amp;' .
'sec2=godmode/agentes/configurar_agente&amp;' .
'tab=remote_configuration&amp;' .
'id_agente=' . $id_agente . '&amp;' .
'disk_conf=' . $agent_md5 . '">'
. html_print_image ("images/book_edit.png", true,
array("title" =>__('Remote configuration')))
. '</a>';
if ($tab == 'remote_configuration')
$remote_configuration_tab['active'] = true;
else
$remote_configuration_tab['active'] = false;
$onheader = array('view' => $viewtab,
'separator' => "",
'main' => $maintab,
'remote_configuration' => $remote_configuration_tab,
'module' => $moduletab,
'alert' => $alerttab,
'template' => $templatetab,
'inventory' => $inventorytab,
'pluginstab' => $pluginstab,
'collection'=> $collectiontab,
'group' => $grouptab,
'gis' => $gistab,
'agent_wizard' => $agent_wizard);
}
else {
$onheader = array('view' => $viewtab,
'separator' => "",
'main' => $maintab,
'module' => $moduletab,
'alert' => $alerttab,
'template' => $templatetab,
'inventory' => $inventorytab,
'pluginstab' => $pluginstab,
'collection'=> $collectiontab,
'group' => $grouptab,
'gis' => $gistab,
'agent_wizard' => $agent_wizard);
}
// Only if the agent has incidents associated show incidents tab // Only if the agent has incidents associated show incidents tab
if ($total_incidents) { if ($total_incidents) {
$onheader['incident'] = $incidenttab; $onheader['incident'] = $incidenttab;
@ -449,6 +492,9 @@ if ($id_agente) {
case "incident": case "incident":
$tab_description = '- ' . __('Incidents'); $tab_description = '- ' . __('Incidents');
break; break;
case "remote_configuration":
$tab_description = '- ' . __('Remote configuration');
break;
case "agent_wizard": case "agent_wizard":
switch(get_parameter('wizard_section')) { switch(get_parameter('wizard_section')) {
case 'snmp_explorer': case 'snmp_explorer':
@ -475,12 +521,14 @@ if ($id_agente) {
break; break;
} }
ui_print_page_header (agents_get_name ($id_agente) . ui_print_page_header (
' ' . $tab_description, "images/setup.png", false, $help_header , true, $onheader); agents_get_name ($id_agente) . ' ' . $tab_description,
"images/setup.png", false, $help_header , true, $onheader);
} }
else { else {
// Create agent // Create agent
ui_print_page_header (__('Agent manager'), "images/bricks.png", false, "create_agent", true); ui_print_page_header (__('Agent manager'), "images/bricks.png",
false, "create_agent", true);
} }
$delete_conf_file = (bool) get_parameter('delete_conf_file'); $delete_conf_file = (bool) get_parameter('delete_conf_file');
@ -594,7 +642,8 @@ if ($update_agent) { // if modified some agent paramenter
foreach ($field_values as $key => $value) { foreach ($field_values as $key => $value) {
$old_value = db_get_all_rows_filter('tagent_custom_data', array('id_agent' => $id_agente, 'id_field' => $key)); $old_value = db_get_all_rows_filter('tagent_custom_data',
array('id_agent' => $id_agente, 'id_field' => $key));
if ($old_value === false) { if ($old_value === false) {
// Create custom field if not exist // Create custom field if not exist
@ -741,7 +790,7 @@ if ($update_module || $create_module) {
// where are very big and PHP uses scientific notation, p.e: // where are very big and PHP uses scientific notation, p.e:
// 1.23E-10 is 0.000000000123 // 1.23E-10 is 0.000000000123
$post_process = get_parameter ('post_process', 0); $post_process = (string) get_parameter ('post_process', 0.0);
$prediction_module = 0; $prediction_module = 0;
$max_timeout = (int) get_parameter ('max_timeout'); $max_timeout = (int) get_parameter ('max_timeout');
$max_retries = (int) get_parameter ('max_retries'); $max_retries = (int) get_parameter ('max_retries');
@ -790,15 +839,15 @@ if ($update_module || $create_module) {
if (!empty($macros)) { if (!empty($macros)) {
$macros = json_decode(base64_decode($macros), true); $macros = json_decode(base64_decode($macros), true);
foreach ($macros as $k => $m) { foreach($macros as $k => $m) {
$macros[$k]['value'] = get_parameter($m['macro'], ''); $macros[$k]['value'] = get_parameter($m['macro'], '');
} }
$macros = json_encode($macros); $macros = json_encode($macros);
$conf_array = explode("\n", $configuration_data); $conf_array = explode("\n",$configuration_data);
foreach ($conf_array as $line) { foreach($conf_array as $line) {
if (preg_match("/^module_name\s*(.*)/", $line, $match)) { if(preg_match("/^module_name\s*(.*)/", $line, $match)) {
$new_configuration_data .= "module_name $name\n"; $new_configuration_data .= "module_name $name\n";
} }
// We delete from conf all the module macros starting with _field // We delete from conf all the module macros starting with _field
@ -822,7 +871,8 @@ if ($update_module || $create_module) {
enterprise_hook ('get_service_synthetic_parameters'); enterprise_hook ('get_service_synthetic_parameters');
$agent_name = (string) get_parameter('agent_name',agents_get_name ($id_agente)); $agent_name = (string) get_parameter('agent_name',
agents_get_name($id_agente));
$snmp_community = (string) get_parameter ('snmp_community'); $snmp_community = (string) get_parameter ('snmp_community');
$snmp_oid = (string) get_parameter ('snmp_oid'); $snmp_oid = (string) get_parameter ('snmp_oid');
@ -895,7 +945,7 @@ if ($update_module || $create_module) {
//Set the event type that can show. //Set the event type that can show.
$disabled_types_event = array(EVENTS_GOING_UNKNOWN => (int)!$throw_unknown_events); $disabled_types_event = array(EVENTS_GOING_UNKNOWN => (int)!$throw_unknown_events);
$disabled_types_event = json_encode($disabled_types_event); $disabled_types_event = json_encode($disabled_types_event);
$module_macro_names = (array) get_parameter('module_macro_names', array()); $module_macro_names = (array) get_parameter('module_macro_names', array());
$module_macro_values = (array) get_parameter('module_macro_values', array()); $module_macro_values = (array) get_parameter('module_macro_values', array());
$module_macros = modules_get_module_macros_json ($module_macro_names, $module_macro_values); $module_macros = modules_get_module_macros_json ($module_macro_names, $module_macro_values);
@ -1413,6 +1463,9 @@ switch ($tab) {
case "incident": case "incident":
require("agent_incidents.php"); require("agent_incidents.php");
break; break;
case "remote_configuration":
enterprise_include("godmode/agentes/agent_disk_conf_editor.php");
break;
case "extension": case "extension":
$found = false; $found = false;
foreach($config['extensions'] as $extension) { foreach($config['extensions'] as $extension) {
@ -1470,46 +1523,46 @@ echo '</ul>';
echo '</div>'; echo '</div>';
?> ?>
<script type="text/javascript"> <script type="text/javascript">
var wizard_tab_showed = 0; /* <![CDATA[ */
var wizard_tab_showed = 0;
/* <![CDATA[ */
$(document).ready (function () {
// Control the tab and subtab hover. When mouse leave one,
// check if is hover the other before hide the subtab
$('.agent_wizard_tab').hover(agent_wizard_tab_show, agent_wizard_tab_hide);
$('#agent_wizard_subtabs').hover(agent_wizard_tab_show, agent_wizard_tab_hide); $(document).ready (function () {
}); // Control the tab and subtab hover. When mouse leave one,
// check if is hover the other before hide the subtab
// Set the position and width of the subtab $('.agent_wizard_tab').hover(agent_wizard_tab_show, agent_wizard_tab_hide);
function agent_wizard_tab_setup() {
$('#agent_wizard_subtabs').css('left', $('.agent_wizard_tab').offset().left) $('#agent_wizard_subtabs').hover(agent_wizard_tab_show, agent_wizard_tab_hide);
$('#agent_wizard_subtabs').css('top', $('.agent_wizard_tab').offset().top + $('.agent_wizard_tab').height() + 4) });
$('#agent_wizard_subtabs').css('width', $('.agent_wizard_tab').width() + 6)
}
function agent_wizard_tab_show() {
agent_wizard_tab_setup();
wizard_tab_showed = wizard_tab_showed + 1;
if(wizard_tab_showed == 1) { // Set the position and width of the subtab
$('#agent_wizard_subtabs').show("fast"); function agent_wizard_tab_setup() {
$('#agent_wizard_subtabs').css('left', $('.agent_wizard_tab').offset().left)
$('#agent_wizard_subtabs').css('top', $('.agent_wizard_tab').offset().top + $('.agent_wizard_tab').height() + 4)
$('#agent_wizard_subtabs').css('width', $('.agent_wizard_tab').width() + 6)
} }
}
function agent_wizard_tab_show() {
function agent_wizard_tab_hide() { agent_wizard_tab_setup();
wizard_tab_showed = wizard_tab_showed - 1; wizard_tab_showed = wizard_tab_showed + 1;
setTimeout(function() { if(wizard_tab_showed == 1) {
if(wizard_tab_showed <= 0) { $('#agent_wizard_subtabs').show("fast");
$('#agent_wizard_subtabs').hide("fast");
} }
},500); }
}
function agent_wizard_tab_hide() {
$(window).resize(function() { wizard_tab_showed = wizard_tab_showed - 1;
agent_wizard_tab_setup();
}); setTimeout(function() {
if(wizard_tab_showed <= 0) {
/* ]]> */ $('#agent_wizard_subtabs').hide("fast");
}
},500);
}
$(window).resize(function() {
agent_wizard_tab_setup();
});
/* ]]> */
</script> </script>

View File

@ -483,7 +483,11 @@ if ($agents !== false) {
if (enterprise_installed()) { if (enterprise_installed()) {
enterprise_include_once('include/functions_config_agents.php'); enterprise_include_once('include/functions_config_agents.php');
if (config_agents_has_remote_configuration($agent["id_agente"])) { if (config_agents_has_remote_configuration($agent["id_agente"])) {
echo "<a href='index.php?sec=gagente&sec2=godmode/agentes/configurar_agente&tab=main&id_agente=".$agent["id_agente"]."&disk_conf=1'>"; echo "<a href='index.php?" .
"sec=gagente&" .
"sec2=godmode/agentes/configurar_agente&" .
"tab=remote_configuration&" .
"id_agente=" . $agent["id_agente"] . "&disk_conf=1'>";
echo html_print_image("images/application_edit.png", true, array("align" => 'middle', "title" => __('Edit remote config'))); echo html_print_image("images/application_edit.png", true, array("align" => 'middle', "title" => __('Edit remote config')));
echo "</a>"; echo "</a>";
} }

View File

@ -41,18 +41,18 @@ else {
} }
// Table for filter controls // Table for filter controls
$form_filter = '<form method="post" action="index.php?sec='.$sec.'&amp;sec2=godmode/alerts/alert_list&amp;refr=' . ((int)get_parameter('refr', 0)) . '&amp;pure='.$config["pure"].'">'; $form_filter = '<form method="post" action="index.php?sec=' . $sec . '&amp;sec2=godmode/alerts/alert_list&amp;refr=' . ((int)get_parameter('refr', 0)) . '&amp;pure='.$config["pure"].'">';
$form_filter .= "<input type='hidden' name='search' value='1' />\n"; $form_filter .= "<input type='hidden' name='search' value='1' />\n";
$form_filter .= '<table style="width: 98%;" cellpadding="4" cellspacing="4" class="databox">'."\n"; $form_filter .= '<table style="width: 98%;" cellpadding="4" cellspacing="4" class="databox">'."\n";
$form_filter .= "<tr>\n"; $form_filter .= "<tr>\n";
$form_filter .= "<td>".__('Template name')."</td><td>"; $form_filter .= "<td>" . __('Template name') . "</td><td>";
$form_filter .= html_print_input_text ('template_name', $templateName, '', 12, 255, true); $form_filter .= html_print_input_text ('template_name', $templateName, '', 12, 255, true);
$form_filter .= "</td>\n"; $form_filter .= "</td>\n";
$temp = agents_get_agents(); $temp = agents_get_agents();
$arrayAgents = array(); $arrayAgents = array();
# Avoid empty arrays, warning messages are UGLY ! # Avoid empty arrays, warning messages are UGLY !
if ($temp){ if ($temp) {
foreach ($temp as $agentElement) { foreach ($temp as $agentElement) {
$arrayAgents[$agentElement['id_agente']] = $agentElement['nombre']; $arrayAgents[$agentElement['id_agente']] = $agentElement['nombre'];
} }
@ -137,7 +137,7 @@ $form_filter .= "</table>\n";
$form_filter .= "</form>\n"; $form_filter .= "</form>\n";
echo "<br>"; echo "<br>";
ui_toggle($form_filter,__('Alert control filter'), __('Toggle filter(s)')); ui_toggle($form_filter, __('Alert control filter'), __('Toggle filter(s)'));
$simple_alerts = array(); $simple_alerts = array();
@ -313,7 +313,7 @@ if (!$id_agente) {
else { else {
$url = 'index.php?sec='.$sec.'&sec2=godmode/agentes/configurar_agente&pure='.$pure.'&tab=alert&id_agente=' . $id_agente; $url = 'index.php?sec='.$sec.'&sec2=godmode/agentes/configurar_agente&pure='.$pure.'&tab=alert&id_agente=' . $id_agente;
} }
$table->class = 'alert_list databox'; $table->class = 'alert_list databox';
$table->width = '98%'; $table->width = '98%';
$table->size = array (); $table->size = array ();
@ -375,8 +375,8 @@ $iterator = 0;
foreach ($simple_alerts as $alert) { foreach ($simple_alerts as $alert) {
if ($alert['disabled']) { if ($alert['disabled']) {
$table->rowstyle[$iterator] = 'font-style: italic; color: #aaaaaa;'; $table->rowstyle[$iterator] = 'font-style: italic; color: #aaaaaa;';
$table->style[$iterator][1] = 'font-style: italic; color: #aaaaaa;'; $table->style[$iterator][1] = 'font-style: italic; color: #aaaaaa;';
} }
if ($rowPair) if ($rowPair)
@ -385,9 +385,9 @@ foreach ($simple_alerts as $alert) {
$table->rowclass[$iterator] = 'rowOdd'; $table->rowclass[$iterator] = 'rowOdd';
$rowPair = !$rowPair; $rowPair = !$rowPair;
$iterator++; $iterator++;
$data = array (); $data = array ();
if (! $id_agente) { if (! $id_agente) {
$id_agent = modules_get_agentmodule_agent ($alert['id_agent_module']); $id_agent = modules_get_agentmodule_agent ($alert['id_agent_module']);
@ -395,7 +395,7 @@ foreach ($simple_alerts as $alert) {
$data[0] = ''; $data[0] = '';
if(check_acl ($config['id_user'], $agent_group, "AW")) { if (check_acl ($config['id_user'], $agent_group, "AW")) {
$main_tab = 'main'; $main_tab = 'main';
} }
else { else {
@ -410,7 +410,7 @@ foreach ($simple_alerts as $alert) {
$data[0] .= ui_print_truncate_text($agent_name, 'agent_small', false, true, true, '[&hellip;]', 'display:block;font-size: 7.2pt'); $data[0] .= ui_print_truncate_text($agent_name, 'agent_small', false, true, true, '[&hellip;]', 'display:block;font-size: 7.2pt');
if ($alert['disabled']) if ($alert['disabled'])
$data[0] .= '</span>'; $data[0] .= '</span>';
$data[0] .= '</a>'; $data[0] .= '</a>';
} }
else { else {
@ -421,7 +421,7 @@ foreach ($simple_alerts as $alert) {
$data[1] = ui_print_truncate_text($module_name, 'module_medium', false, true, true, '[&hellip;]', 'display:block;font-size: 7.2pt') . '<br>'; $data[1] = ui_print_truncate_text($module_name, 'module_medium', false, true, true, '[&hellip;]', 'display:block;font-size: 7.2pt') . '<br>';
$template_group = db_get_value('id_group', 'talert_templates', 'id', $alert['id_alert_template']); $template_group = db_get_value('id_group', 'talert_templates', 'id', $alert['id_alert_template']);
// The access to the template manage page is necessary have LW permissions on template group // The access to the template manage page is necessary have LW permissions on template group
if(check_acl ($config['id_user'], $template_group, "LW")) { if(check_acl ($config['id_user'], $template_group, "LW")) {
$data[1] .= "<a href='index.php?sec=".$sec."&sec2=godmode/alerts/configure_alert_template&id=".$alert['id_alert_template']."'>"; $data[1] .= "<a href='index.php?sec=".$sec."&sec2=godmode/alerts/configure_alert_template&id=".$alert['id_alert_template']."'>";
@ -433,7 +433,7 @@ foreach ($simple_alerts as $alert) {
href="'.ui_get_full_url(false,false,false,false).'ajax.php?page=godmode/alerts/alert_templates&get_template_tooltip=1&id_template='.$alert['id_alert_template'].'">'; href="'.ui_get_full_url(false,false,false,false).'ajax.php?page=godmode/alerts/alert_templates&get_template_tooltip=1&id_template='.$alert['id_alert_template'].'">';
$data[1] .= html_print_image("images/zoom.png", true, array("id" => 'template-details-'.$alert['id_alert_template'], "class" => "img_help")); $data[1] .= html_print_image("images/zoom.png", true, array("id" => 'template-details-'.$alert['id_alert_template'], "class" => "img_help"));
$data[1] .= '</a> '; $data[1] .= '</a> ';
if(check_acl ($config['id_user'], $template_group, "LW")) { if(check_acl ($config['id_user'], $template_group, "LW")) {
$data[1] .= "</a>"; $data[1] .= "</a>";
} }
@ -453,7 +453,7 @@ foreach ($simple_alerts as $alert) {
$data[2] .= "<td></td>"; $data[2] .= "<td></td>";
$data[2] .= "</tr>"; $data[2] .= "</tr>";
} }
foreach ($actions as $action_id => $action) { foreach ($actions as $action_id => $action) {
$data[2] .= "<tr>"; $data[2] .= "<tr>";
$data[2] .= "<td>"; $data[2] .= "<td>";
@ -519,7 +519,7 @@ foreach ($simple_alerts as $alert) {
$data[2] .= '<table class="databox_color" style="width:100%">'; $data[2] .= '<table class="databox_color" style="width:100%">';
$data[2] .= html_print_input_hidden ('add_action', 1, true); $data[2] .= html_print_input_hidden ('add_action', 1, true);
$data[2] .= html_print_input_hidden ('id_alert_module', $alert['id'], true); $data[2] .= html_print_input_hidden ('id_alert_module', $alert['id'], true);
if (! $id_agente) { if (! $id_agente) {
$data[2] .= '<tr class="datos2">'; $data[2] .= '<tr class="datos2">';
$data[2] .= '<td class="datos2" style="font-weight:bold;padding:6px;">'; $data[2] .= '<td class="datos2" style="font-weight:bold;padding:6px;">';
@ -569,7 +569,7 @@ foreach ($simple_alerts as $alert) {
$data[2] .= '</form>'; $data[2] .= '</form>';
$data[2] .= '</div>'; $data[2] .= '</div>';
} }
$status = STATUS_ALERT_NOT_FIRED; $status = STATUS_ALERT_NOT_FIRED;
$title = ""; $title = "";
@ -614,7 +614,7 @@ foreach ($simple_alerts as $alert) {
$data[4] .= html_print_input_hidden ('id_alert', $alert['id'], true); $data[4] .= html_print_input_hidden ('id_alert', $alert['id'], true);
$data[4] .= '</form>'; $data[4] .= '</form>';
} }
// To access to policy page is necessary have AW permissions in the agent // To access to policy page is necessary have AW permissions in the agent
if(check_acl ($config['id_user'], $agent_group, "AW")) { if(check_acl ($config['id_user'], $agent_group, "AW")) {
if ($isFunctionPolicies !== ENTERPRISE_NOT_HOOK) { if ($isFunctionPolicies !== ENTERPRISE_NOT_HOOK) {
@ -623,7 +623,7 @@ foreach ($simple_alerts as $alert) {
$data[4] .= ''; $data[4] .= '';
else { else {
$img = 'images/policies.png'; $img = 'images/policies.png';
$data[4] .= '&nbsp;&nbsp;<a href="?sec=gpolicies&sec2=enterprise/godmode/policies/policies&pure='.$pure.'&id=' . $policyInfo['id'] . '">' . $data[4] .= '&nbsp;&nbsp;<a href="?sec=gpolicies&sec2=enterprise/godmode/policies/policies&pure='.$pure.'&id=' . $policyInfo['id'] . '">' .
html_print_image($img, true, array('title' => $policyInfo['name'])) . html_print_image($img, true, array('title' => $policyInfo['name'])) .
'</a>'; '</a>';
@ -658,11 +658,11 @@ foreach ($simple_alerts as $alert) {
array_push ($table->data, $data); array_push ($table->data, $data);
} }
if (isset($data)){ if (isset($data)) {
html_print_table ($table); html_print_table ($table);
} }
else { else {
echo "<div class='nf'>".__('No alerts defined')."</div>"; echo "<div class='nf'>" . __('No alerts defined') . "</div>";
} }
// Create alert button // Create alert button
@ -673,7 +673,7 @@ if (isset($dont_display_alert_create_bttn))
$display_create = false; $display_create = false;
if ($display_create && check_acl ($config['id_user'], 0, "LW")){ if ($display_create && check_acl ($config['id_user'], 0, "LW")){
echo '<div class="action-buttons" style="width: '.$table->width.'">'; echo '<div class="action-buttons" style="width: ' . $table->width . '">';
echo '<form method="post" action="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_list&tab=builder&pure='.$pure.'">'; echo '<form method="post" action="index.php?sec='.$sec.'&sec2=godmode/alerts/alert_list&tab=builder&pure='.$pure.'">';
html_print_submit_button (__('Create'), 'crtbtn', false, 'class="sub next"'); html_print_submit_button (__('Create'), 'crtbtn', false, 'class="sub next"');
echo '</form>'; echo '</form>';
@ -771,19 +771,19 @@ function show_advance_options_action(id_alert) {
function show_add_action(id_alert) { function show_add_action(id_alert) {
$("#add_action-div-" + id_alert).hide () $("#add_action-div-" + id_alert).hide ()
.dialog ({ .dialog ({
resizable: true, resizable: true,
draggable: true, draggable: true,
title: '<?php echo __('Add action'); ?>', title: '<?php echo __('Add action'); ?>',
modal: true, modal: true,
overlay: { overlay: {
opacity: 0.5, opacity: 0.5,
background: "black" background: "black"
}, },
width: 500, width: 500,
height: 300 height: 300
}) })
.show (); .show ();
} }
/* ]]> */ /* ]]> */

View File

@ -195,7 +195,7 @@ if ($save_alert || $modify_alert) {
$custom_oid_data_15, $custom_oid_data_16, $custom_oid_data_17, $custom_oid_data_15, $custom_oid_data_16, $custom_oid_data_17,
$custom_oid_data_18, $custom_oid_data_19, $custom_oid_data_20, $custom_oid_data_18, $custom_oid_data_19, $custom_oid_data_20,
$trap_type, $single_value, $position, $group, $id_as); $trap_type, $single_value, $position, $group, $id_as);
$result = db_process_sql ($sql); $result = db_process_sql ($sql);
if (!$result) { if (!$result) {
@ -737,7 +737,7 @@ else {
"priority_filter=" . $priority_filter . "&" . "priority_filter=" . $priority_filter . "&" .
"offset=" . $offset; "offset=" . $offset;
} }
//$where_sql = ' 1 = 1'; //$where_sql = ' 1 = 1';
if ($trap_type_filter != SNMP_TRAP_TYPE_NONE) { if ($trap_type_filter != SNMP_TRAP_TYPE_NONE) {
$where_sql .= ' AND `trap_type` = ' . $trap_type_filter; $where_sql .= ' AND `trap_type` = ' . $trap_type_filter;
@ -767,7 +767,7 @@ else {
$count = db_get_value_sql("SELECT COUNT(*) $count = db_get_value_sql("SELECT COUNT(*)
FROM talert_snmp WHERE id_group IN ($str_user_groups) " . $where_sql); FROM talert_snmp WHERE id_group IN ($str_user_groups) " . $where_sql);
$result = array(); $result = array();
//Overview //Overview

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -1423,11 +1423,12 @@ function reporting_get_group_stats ($id_group = 0, $access = 'AR') {
$id_group[0] = $my_group; $id_group[0] = $my_group;
} }
foreach ($id_group as $group){ foreach ($id_group as $group) {
$group_stat = db_get_all_rows_sql ("SELECT * $group_stat = db_get_all_rows_sql ("SELECT *
FROM tgroup_stat, tgrupo FROM tgroup_stat, tgrupo
WHERE tgrupo.id_grupo = tgroup_stat.id_group AND tgroup_stat.id_group = $group WHERE tgrupo.id_grupo = tgroup_stat.id_group AND tgroup_stat.id_group = $group
ORDER BY nombre"); ORDER BY nombre");
$data["monitor_checks"] += $group_stat[0]["modules"]; $data["monitor_checks"] += $group_stat[0]["modules"];
$data["monitor_not_init"] += $group_stat[0]["non-init"]; $data["monitor_not_init"] += $group_stat[0]["non-init"];
$data["monitor_unknown"] += $group_stat[0]["unknown"]; $data["monitor_unknown"] += $group_stat[0]["unknown"];
@ -1453,7 +1454,7 @@ function reporting_get_group_stats ($id_group = 0, $access = 'AR') {
// Get Agents Unknown // Get Agents Unknown
$data["agent_unknown"] += groups_agent_unknown($group); $data["agent_unknown"] += groups_agent_unknown($group);
// Get Agents Not init // Get Agents Not init
$data["agent_not_init"] += groups_agent_not_init($group); $data["agent_not_init"] += groups_agent_not_init($group);
} }
@ -1484,7 +1485,7 @@ function reporting_get_group_stats ($id_group = 0, $access = 'AR') {
array_push($covered_groups, $sub['id_grupo']); array_push($covered_groups, $sub['id_grupo']);
array_push($group_array, $sub['id_grupo']); array_push($group_array, $sub['id_grupo']);
} }
} }
// Add id of this group to create the clause // Add id of this group to create the clause
@ -1531,7 +1532,7 @@ function reporting_get_group_stats ($id_group = 0, $access = 'AR') {
// Get monitor WARNING, except disabled and non-init // Get monitor WARNING, except disabled and non-init
$data["monitor_warning"] += groups_monitor_warning ($group_array); $data["monitor_warning"] += groups_monitor_warning ($group_array);
// Get monitor UNKNOWN, except disabled and non-init // Get monitor UNKNOWN, except disabled and non-init
$data["monitor_unknown"] += groups_monitor_unknown ($group_array); $data["monitor_unknown"] += groups_monitor_unknown ($group_array);
@ -1545,7 +1546,7 @@ function reporting_get_group_stats ($id_group = 0, $access = 'AR') {
// Get TOTAL agents in a group // Get TOTAL agents in a group
$data["total_agents"] += groups_total_agents ($group_array); $data["total_agents"] += groups_total_agents ($group_array);
// Get TOTAL non-init modules, except disabled ones and async modules // Get TOTAL non-init modules, except disabled ones and async modules
$data["total_not_init"] += $data["monitor_not_init"]; $data["total_not_init"] += $data["monitor_not_init"];

View File

@ -493,7 +493,12 @@ foreach ($agents as $agent) {
if (enterprise_installed()) { if (enterprise_installed()) {
if (config_agents_has_remote_configuration($agent["id_agente"])) { if (config_agents_has_remote_configuration($agent["id_agente"])) {
$data[9] = "<a href='index.php?sec=estado&sec2=godmode/agentes/configurar_agente&tab=main&id_agente=".$agent["id_agente"]."&disk_conf=1'>". $data[9] = "<a href='index.php?" .
"sec=estado&" .
"sec2=godmode/agentes/configurar_agente&" .
"tab=remote_configuration&" .
"id_agente=" . $agent["id_agente"] . "&" .
"disk_conf=1'>".
html_print_image("images/application_edit.png", true, array("align" => 'middle', "title" => __('Edit remote config')))."</a>"; html_print_image("images/application_edit.png", true, array("align" => 'middle', "title" => __('Edit remote config')))."</a>";
} }
} }