diff --git a/pandora_console/ChangeLog b/pandora_console/ChangeLog index bd477bceb4..940038f06a 100644 --- a/pandora_console/ChangeLog +++ b/pandora_console/ChangeLog @@ -1,3 +1,12 @@ +2008-10-31 Ramon Novoa + + * include/styles/god.css, + operation/menu.php, + godmode/menu.php: Added support for enterprise SNMP console. + + * operation/snmpconsole/snmp_view.php: Added filtering, fullscreen + support, interface changes and enterprise SNMP console support. + 2008-10-31 Jorge Gonzalez * pandoradb_data.sql: Added support for finnish. diff --git a/pandora_console/godmode/menu.php b/pandora_console/godmode/menu.php index 44a520dd2e..7a60926b80 100644 --- a/pandora_console/godmode/menu.php +++ b/pandora_console/godmode/menu.php @@ -204,6 +204,10 @@ if (give_acl ($config['id_user'], 0, "PM")) { echo ""; } + + // SNMP console + enterprise_hook ('snmpconsole_menu'); + // AUDIT // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ if ($sec2 == "godmode/admin_access_logs") { diff --git a/pandora_console/include/styles/god.css b/pandora_console/include/styles/god.css index b4aab3dd06..3dbbceb794 100644 --- a/pandora_console/include/styles/god.css +++ b/pandora_console/include/styles/god.css @@ -15,10 +15,10 @@ div.menug { width: 155px; margin-bottom: 5px; } -#god1 li, #god2 li, #god3 li, #god4 li, #god5 li, #god51 li, #god6 li, #god7 li, #god8 li, #god1s li, #god2s li, #god3s li, #god4s li, #god5s li, #god51s li, #god6s li, #god7s li, #god8s li, #god_module li, #god_module_sel li, #god-extensions li { +#god1 li, #god2 li, #god3 li, #god4 li, #god5 li, #god51 li, #god6 li, #god7 li, #god8 li, #god9 li, #god1s li, #god2s li, #god3s li, #god4s li, #god5s li, #god51s li, #god6s li, #god7s li, #god8s li, #god9s li, #god_module li, #god_module_sel li, #god-extensions li { padding: 0px 0px 0px 30px; } -div#god1>ul, div#god2>ul, div#god3>ul, div#god4>ul, div#god5>ul, div#god51>ul, div#god6>ul, div#god7>ul, div#god8>ul, div#god1s>ul, div#god2s>ul, div#god3s>ul, div#god4s>ul, div#god5s>ul, div#god51s>ul, div#god6s>ul, div#god7s>ul, div#god8s>ul, div#god_module>ul, div#god_module_sel>ul , .god-menu ul{ +div#god1>ul, div#god2>ul, div#god3>ul, div#god4>ul, div#god5>ul, div#god51>ul, div#god6>ul, div#god7>ul, div#god8>ul, div#god9>ul, div#god1s>ul, div#god2s>ul, div#god3s>ul, div#god4s>ul, div#god5s>ul, div#god51s>ul, div#god6s>ul, div#god7s>ul, div#god9s>ul, div#god8s>ul, div#god_module>ul, div#god_module_sel>ul , .god-menu ul{ width: 126px; } #god1 li, #god1 li:hover, #god1s li { @@ -48,6 +48,9 @@ div#god1>ul, div#god2>ul, div#god3>ul, div#god4>ul, div#god5>ul, div#god51>ul, d #god8 li, #god8 li:hover, #god8s li { background: url(../../images/god8.png) no-repeat 5px 4px; } +#god9 li, #god9 li:hover, #god9s li { + background: url(../../images/computer_error.png) no-repeat 5px 4px; +} #god_module li, #god_module li:hover, #god_module_sel li { background: url(../../images/brick.png) no-repeat 6px 4px; } @@ -70,7 +73,7 @@ div.arrowg>ul, div.arrowgs>ul, div#arrowgl>ul, div#arrowgls>ul , .god-submenu>ul #god a:hover, #god1 li:hover, #god1s li, #god2 li:hover, #god2s li, #god3 li:hover, #god3s li, #god4 li:hover, #god4s li, #god5 li:hover, #god5s li, #god6 li:hover, #god6s li, -#god7 li:hover, #god7s li, #god8 li:hover, #god8s li, +#god7 li:hover, #god7s li, #god8 li:hover, #god8s li, #god9 li:hover, #god9s li, #god_module li:hover, #god_module_sel li, #god51 li:hover, #god51s li, .arrowg li:hover, .arrowgs li, #arrowgl li:hover, #arrowgls li { @@ -81,4 +84,4 @@ div.arrowg>ul, div.arrowgs>ul, div#arrowgl>ul, div#arrowgls>ul , .god-submenu>ul } #menug li.bb0, #god { border-top: 0px; -} \ No newline at end of file +} diff --git a/pandora_console/operation/menu.php b/pandora_console/operation/menu.php index 51977d70bc..9d8fb0aded 100644 --- a/pandora_console/operation/menu.php +++ b/pandora_console/operation/menu.php @@ -232,7 +232,7 @@ if (give_acl ($config['id_user'], 0, "AR")) { $selected = ''; } echo ''; + echo ''; if (give_acl($config['id_user'], 0, "AW")) { // SNMP Console alert (submenu) diff --git a/pandora_console/operation/snmpconsole/snmp_view.php b/pandora_console/operation/snmpconsole/snmp_view.php index 0c1a0f3795..64f84472b9 100644 --- a/pandora_console/operation/snmpconsole/snmp_view.php +++ b/pandora_console/operation/snmpconsole/snmp_view.php @@ -19,6 +19,7 @@ // Load global vars require_once ("include/config.php"); +enterprise_include ("operation/snmpconsole/snmp_view.php"); check_login (); @@ -29,6 +30,15 @@ if (! give_acl ($config['id_user'], 0, "AR")) { exit; } +// Read parameters +$filter_agent = (string) get_parameter ("filter_agent", ''); +$filter_oid = (string) get_parameter ("filter_oid", ''); +$filter_severity = (int) get_parameter ("filter_severity", -1); +$filter_fired = (int) get_parameter ("filter_fired", -1); +$search_string = (string) get_parameter ("search_string", ''); +$config["block_size"] = (int) get_parameter ("pagination", $config["block_size"]); +$offset = (int) get_parameter ('offset',0); + // OPERATIONS // Delete SNMP Trap entry Event (only incident management access). @@ -85,43 +95,97 @@ if (isset ($_POST["updatebt"])) { } } -echo "

Pandora SNMP > ".__('SNMP console')."

"; - -$offset = (int) get_parameter ('offset',0); - +echo "

Pandora SNMP > " . __('SNMP console'); +if ($config["pure"] == 1) { + echo " "; +} else { + // Fullscreen + echo " "; +} +echo "

"; $sql = sprintf ("SELECT * FROM ttrap ORDER BY timestamp DESC LIMIT %d,%d",$offset,$config['block_size']); $traps = get_db_all_rows_sql ($sql); +// No traps if (empty ($traps)) { echo '
'.__('There are no SNMP traps in database').'
'; return; } -echo ''; -echo ''; -echo ''; -echo '
'.__('Status').''.__('Alert').''.__('Action').'
'; -echo ' - '.__('Validated event'); -echo '
'; -echo ' - '.__('Not validated event'); -echo '
'; -echo ' - '.__('Alert fired'); -echo '
'; -echo ' - '.__('Alert not fired'); -echo '
'; -echo ' - '.__('Validate event'); -echo '
'; -echo ' - '.__('Delete event'); -echo '
'; +// Toggle filters +echo ''; +echo "".__('Toggle filters')." ".''; + +echo '
'; +$table->width = '90%'; +$table->size = array (); +$table->size[0] = '120px'; +$table->data = array (); + +// Set filters +$agents = array (); +$oids = array (); +$severities = get_priorities (); +$alerted = array (__('Not fired'), __('fired')); +foreach ($traps as $trap) { + $agent = get_agent_with_ip ($trap['source']); + $agents[$trap["source"]] = $agent !== false ? $agent["nombre"] : $trap["source"]; + $oid = enterprise_hook ('get_oid', array ($trap)); + if ($oid === ENTERPRISE_NOT_HOOK) { + $oid = $trap["oid"]; + } + $oids[$oid] = $oid; +} + +if ($config["pure"] == 1) { + echo "