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>
* 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');
// Agent remote configuration DELETE
if ($disk_conf_delete) {
@ -174,11 +167,18 @@ if (!$new_agent) {
$agent_name = io_safe_output($agent_name);
$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(
"images/application_edit.png",
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>' .
ui_print_help_tip (
__('You can remotely edit this agent configuration'), true);
@ -286,7 +286,12 @@ if (!$new_agent) {
if (file_exists ($filename['md5'])) {
$table->data[3][1] = date ("F d Y H:i:s", fileatime ($filename['md5']));
// 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(
"images/cross.png", true,
array ('title' => __('Delete remote configuration file'), 'style' => 'vertical-align: middle;')).'</a>';

View File

@ -212,11 +212,16 @@ if ($create_agent) {
$agent_created_ok = true;
$info = 'Name: ' . $nombre_agente . ' IP: ' . $direccion_agente .
' Group: ' . $grupo . ' Interval: ' . $intervalo .
' Comments: ' . $comentarios . ' Mode: ' . $modo .
' ID_parent: ' . $id_parent . ' Server: ' . $server_name .
' ID os: ' . $id_os . ' Disabled: ' . $disabled .
$info = 'Name: ' . $nombre_agente .
' IP: ' . $direccion_agente .
' Group: ' . $grupo .
' Interval: ' . $intervalo .
' Comments: ' . $comentarios .
' Mode: ' . $modo .
' ID_parent: ' . $id_parent .
' Server: ' . $server_name .
' ID os: ' . $id_os .
' Disabled: ' . $disabled .
' Custom ID: ' . $custom_id .
' Cascade protection: ' . $cascade_protection .
' Icon path: ' . $icon_path .
@ -237,7 +242,6 @@ if ($create_agent) {
// Show tabs
$img_style = array ("class" => "top", "width" => 16);
// TODO: Change to use ui_print_page_header
if ($id_agente) {
/* View tab */
@ -299,7 +303,8 @@ if ($id_agente) {
$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) {
/* Plugins */
@ -365,7 +370,44 @@ if ($id_agente) {
}
if (check_acl ($config["id_user"], $group, "AW", $id_agente)) {
if ($has_remote_conf) {
$agent_name = agents_get_name($id_agente);
$agent_name = io_safe_output($agent_name);
$agent_md5 = md5 ($agent_name, false);
$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,
@ -376,6 +418,7 @@ if ($id_agente) {
'group' => $grouptab,
'gis' => $gistab,
'agent_wizard' => $agent_wizard);
}
// Only if the agent has incidents associated show incidents tab
if ($total_incidents) {
@ -449,6 +492,9 @@ if ($id_agente) {
case "incident":
$tab_description = '- ' . __('Incidents');
break;
case "remote_configuration":
$tab_description = '- ' . __('Remote configuration');
break;
case "agent_wizard":
switch(get_parameter('wizard_section')) {
case 'snmp_explorer':
@ -475,12 +521,14 @@ if ($id_agente) {
break;
}
ui_print_page_header (agents_get_name ($id_agente) .
' ' . $tab_description, "images/setup.png", false, $help_header , true, $onheader);
ui_print_page_header (
agents_get_name ($id_agente) . ' ' . $tab_description,
"images/setup.png", false, $help_header , true, $onheader);
}
else {
// 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');
@ -594,7 +642,8 @@ if ($update_agent) { // if modified some agent paramenter
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) {
// 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:
// 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;
$max_timeout = (int) get_parameter ('max_timeout');
$max_retries = (int) get_parameter ('max_retries');
@ -822,7 +871,8 @@ if ($update_module || $create_module) {
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_oid = (string) get_parameter ('snmp_oid');
@ -1413,6 +1463,9 @@ switch ($tab) {
case "incident":
require("agent_incidents.php");
break;
case "remote_configuration":
enterprise_include("godmode/agentes/agent_disk_conf_editor.php");
break;
case "extension":
$found = false;
foreach($config['extensions'] as $extension) {
@ -1470,9 +1523,9 @@ echo '</ul>';
echo '</div>';
?>
<script type="text/javascript">
/* <![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

View File

@ -483,7 +483,11 @@ if ($agents !== false) {
if (enterprise_installed()) {
enterprise_include_once('include/functions_config_agents.php');
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 "</a>";
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -1428,6 +1428,7 @@ function reporting_get_group_stats ($id_group = 0, $access = 'AR') {
FROM tgroup_stat, tgrupo
WHERE tgrupo.id_grupo = tgroup_stat.id_group AND tgroup_stat.id_group = $group
ORDER BY nombre");
$data["monitor_checks"] += $group_stat[0]["modules"];
$data["monitor_not_init"] += $group_stat[0]["non-init"];
$data["monitor_unknown"] += $group_stat[0]["unknown"];

View File

@ -493,7 +493,12 @@ foreach ($agents as $agent) {
if (enterprise_installed()) {
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>";
}
}