2012-12-12 Ramon Novoa <rnovoa@artica.es>
* pandoradb_data.sql, include/functions_config.php, include/functions_netflow.php, operation/netflow/nf_live_view.php, pandoradb.data.postgreSQL.sql, pandoradb.data.oracle.sql, godmode/setup/setup_netflow.php: Added the maximum netflow chart resolution to the setup. Added byte and byteperseconds units. Small improvements. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@7268 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
922b3e3524
commit
e0bd5f334f
|
@ -1,3 +1,15 @@
|
|||
2012-12-12 Ramon Novoa <rnovoa@artica.es>
|
||||
|
||||
* pandoradb_data.sql,
|
||||
include/functions_config.php,
|
||||
include/functions_netflow.php,
|
||||
operation/netflow/nf_live_view.php,
|
||||
pandoradb.data.postgreSQL.sql,
|
||||
pandoradb.data.oracle.sql,
|
||||
godmode/setup/setup_netflow.php: Added the maximum netflow chart
|
||||
resolution to the setup. Added byte and byteperseconds units.
|
||||
Small improvements.
|
||||
|
||||
2012-12-12 Sergio Martin <sergio.martin@artica.es>
|
||||
|
||||
* include/functions_config.php: Added configuration
|
||||
|
|
|
@ -52,7 +52,9 @@ $table->data[2][0] = '<b>'.__('Daemon binary path').'</b>';
|
|||
$table->data[2][1] = html_print_input_text ('netflow_daemon', $config['netflow_daemon'], false, 50, 200, true);
|
||||
$table->data[3][0] = '<b>'.__('Nfdump binary path').'</b>';
|
||||
$table->data[3][1] = html_print_input_text ('netflow_nfdump', $config['netflow_nfdump'], false, 50, 200, true);
|
||||
|
||||
$table->data[4][0] = '<b>'.__('Maximum chart resolution').'</b>' . ui_print_help_tip (__("Maximum number of points that a netflow area chart will display. The higher the resolution the performance. Values between 50 and 100 are recommended."), true);
|
||||
$table->data[4][1] = html_print_input_text ('netflow_max_resolution', $config['netflow_max_resolution'], false, 50, 200, true);
|
||||
|
||||
echo '<form id="netflow_setup" method="post">';
|
||||
|
||||
html_print_table ($table);
|
||||
|
|
|
@ -297,6 +297,7 @@ function config_update_config () {
|
|||
config_update_value ('netflow_interval', get_parameter ('netflow_interval'));
|
||||
config_update_value ('netflow_daemon', get_parameter ('netflow_daemon'));
|
||||
config_update_value ('netflow_nfdump', get_parameter ('netflow_nfdump'));
|
||||
config_update_value ('netflow_max_resolution', get_parameter ('netflow_max_resolution'));
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -558,7 +559,7 @@ function config_process_config () {
|
|||
}
|
||||
|
||||
if (!isset ($config['netflow_interval'])) {
|
||||
config_update_value ( 'netflow_interval', SECONDS_5MINUTES);
|
||||
config_update_value ( 'netflow_interval', SECONDS_10MINUTES);
|
||||
}
|
||||
|
||||
if (!isset ($config['netflow_daemon'])) {
|
||||
|
@ -569,6 +570,10 @@ function config_process_config () {
|
|||
config_update_value ( 'netflow_nfdump', '/usr/bin/nfdump');
|
||||
}
|
||||
|
||||
if (!isset ($config['netflow_max_resolution'])) {
|
||||
config_update_value ( 'netflow_max_resolution', '50');
|
||||
}
|
||||
|
||||
if (!isset ($config['auth'])) {
|
||||
config_update_value ( 'auth', 'mysql');
|
||||
}
|
||||
|
|
|
@ -352,8 +352,8 @@ function netflow_summary_table ($data) {
|
|||
$table->style[1] = 'border: 1px solid black;padding: 4px';
|
||||
$table->data[0][0] = '<b>'.__('Total flows').'</b>';
|
||||
$table->data[0][1] = format_numeric ($data['totalflows']);
|
||||
$table->data[1][0] = '<b>'.__('Total megabytes').'</b>';
|
||||
$table->data[1][1] = format_numeric ((int)($data['totalbytes'] / 1048576));
|
||||
$table->data[1][0] = '<b>'.__('Total bytes').'</b>';
|
||||
$table->data[1][1] = format_numeric ($data['totalbytes']);
|
||||
$table->data[2][0] = '<b>'.__('Total packets').'</b>';
|
||||
$table->data[2][1] = format_numeric ($data['totalpackets']);
|
||||
$table->data[3][0] = '<b>'.__('Average bits per second'). '</b>';
|
||||
|
@ -506,8 +506,8 @@ function netflow_get_data_from_summary ($start_date, $end_date, $interval_length
|
|||
}
|
||||
|
||||
// Set a max number of intervals
|
||||
if ($num_intervals > 100) {
|
||||
$num_intervals = 50;
|
||||
if ($num_intervals > $config['netflow_max_resolution']) {
|
||||
$num_intervals = $config['netflow_max_resolution'];
|
||||
$interval_length = (int) ($period / $num_intervals);
|
||||
}
|
||||
|
||||
|
@ -623,23 +623,7 @@ $total += $values[$interval_start]['data'];
|
|||
continue;
|
||||
}
|
||||
|
||||
switch ($unit){
|
||||
case "megabytes":
|
||||
$values['data'][$interval_start][$line['agg']] = $line['data'] / 1024;
|
||||
break;
|
||||
case "megabytespersecond":
|
||||
$values['data'][$interval_start][$line['agg']] = $line['data'] / 1024 / ($end_date - $start_date);
|
||||
break;
|
||||
case "kilobytes":
|
||||
$values['data'][$interval_start][$line['agg']] = $line['data'];
|
||||
break;
|
||||
case "kilobytespersecond":
|
||||
$values['data'][$interval_start][$line['agg']] = $line['data'] / ($end_date - $start_date);
|
||||
break;
|
||||
default:
|
||||
$values['data'][$interval_start][$line['agg']] = $line['data'] * 1024;
|
||||
break;
|
||||
}
|
||||
$values['data'][$interval_start][$line['agg']] = $line['data'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -727,8 +711,12 @@ function netflow_get_stats ($start_date, $end_date, $filter, $aggregate, $max, $
|
|||
$values[$i]['data'] = $val[9] / 1024 / $interval_length;
|
||||
break;
|
||||
default:
|
||||
case "bytes":
|
||||
$values[$i]['data'] = $val[9];
|
||||
break;
|
||||
case "bytespersecond":
|
||||
$values[$i]['data'] = $val[9] / $interval_length;
|
||||
break;
|
||||
}
|
||||
$i++;
|
||||
}
|
||||
|
@ -1075,8 +1063,12 @@ function netflow_parse_file ($start_date, $end_date, $interval_length, $file, &$
|
|||
$values['data'][$timestamp][$agg] = $interval_total[$agg] / 1024 / $interval_length;
|
||||
break;
|
||||
default:
|
||||
case 'bytes':
|
||||
$values['data'][$timestamp][$agg] = $interval_total[$agg];
|
||||
break;
|
||||
case 'bytespersecond':
|
||||
$values['data'][$timestamp][$agg] = $interval_total[$agg] / $interval_length;
|
||||
break;
|
||||
}
|
||||
|
||||
$no_data = 0;
|
||||
|
@ -1092,21 +1084,25 @@ function netflow_parse_file ($start_date, $end_date, $interval_length, $file, &$
|
|||
|
||||
// Calculate interval data
|
||||
switch ($unit) {
|
||||
case 'megabytes':
|
||||
case 'megabytes':
|
||||
$values[$timestamp]['data'] = $interval_total / 1048576;
|
||||
break;
|
||||
case 'megabytespersecond':
|
||||
case 'megabytespersecond':
|
||||
$values[$timestamp]['data'] = $interval_total / 1048576 / $interval_length;
|
||||
break;
|
||||
case 'kilobytes':
|
||||
case 'kilobytes':
|
||||
$values[$timestamp]['data'] = $interval_total / 1024;
|
||||
break;
|
||||
case 'kilobytespersecond':
|
||||
case 'kilobytespersecond':
|
||||
$values[$timestamp]['data'] = $interval_total / 1024 / $interval_length;
|
||||
break;
|
||||
default:
|
||||
case 'bytes':
|
||||
$values[$timestamp]['data'] = $interval_total;
|
||||
break;
|
||||
case 'bytespersecond':
|
||||
$values[$timestamp]['data'] = $interval_total / $interval_length;
|
||||
break;
|
||||
}
|
||||
|
||||
$no_data = 0;
|
||||
|
@ -1679,6 +1675,10 @@ function netflow_format_unit ($unit) {
|
|||
return __('kB');
|
||||
case 'kilobytespersecond':
|
||||
return __('kB/s');
|
||||
case 'bytes':
|
||||
return __('B');
|
||||
case 'bytespersecond':
|
||||
return __('B/s');
|
||||
default:
|
||||
return '';
|
||||
}
|
||||
|
|
|
@ -240,7 +240,7 @@ echo '<form method="post" action="' . $config['homeurl'] . 'index.php?sec=netf&s
|
|||
$table->data[6][1] = html_print_select ($aggregate_list, "aggregate", $filter['aggregate'], '', '', 0, true, false, true, '', false);
|
||||
|
||||
$table->data[6][2] = '<b>'.__('Output format').'</b>';
|
||||
$show_output = array ('kilobytes' => __('Kilobytes'), 'megabytes' => __('Megabytes'), 'kilobytespersecond' => __('Kilobytes per second'), 'megabytespersecond' => __('Megabytes per second'));
|
||||
$show_output = array ('bytes' => __('Bytes'), 'bytespersecond' => __('Bytes per second'), 'kilobytes' => __('Kilobytes'), 'megabytes' => __('Megabytes'), 'kilobytespersecond' => __('Kilobytes per second'), 'megabytespersecond' => __('Megabytes per second'));
|
||||
$table->data[6][3] = html_print_select ($show_output, 'output', $filter['output'], '', '', 0, true, false, true, '', false);
|
||||
|
||||
html_print_table ($table);
|
||||
|
|
|
@ -88,9 +88,10 @@ INSERT INTO tconfig (token, value) VALUES ('integria_api_password', ' ');
|
|||
INSERT INTO tconfig (token, value) VALUES ('integria_inventory', '0');
|
||||
INSERT INTO tconfig (token, value) VALUES ('integria_url', ' ');
|
||||
INSERT INTO tconfig (token, value) VALUES ('netflow_path', '/var/spool/pandora/data_in/netflow');
|
||||
INSERT INTO tconfig (token, value) VALUES ('netflow_interval', '300');
|
||||
INSERT INTO tconfig (token, value) VALUES ('netflow_interval', '3600');
|
||||
INSERT INTO tconfig (token, value) VALUES ('netflow_daemon', '/usr/bin/nfcapd');
|
||||
INSERT INTO tconfig (token, value) VALUES ('netflow_nfdump', '/usr/bin/nfdump');
|
||||
INSERT INTO tconfig (token, value) VALUES ('netflow_max_resolution', '50');
|
||||
INSERT INTO tconfig (token, value) VALUES ('event_fields', 'evento,id_agente,estado,timestamp');
|
||||
INSERT INTO tconfig (token, value) VALUES ('list_ACL_IPs_for_API', '127.0.0.1');
|
||||
INSERT INTO tconfig (token, value) VALUES ('enable_pass_policy', 0);
|
||||
|
|
|
@ -84,9 +84,10 @@ INSERT INTO "tconfig" ("token", "value") VALUES
|
|||
('integria_inventory', '0'),
|
||||
('integria_url', ''),
|
||||
('netflow_path', '/var/spool/pandora/data_in/netflow'),
|
||||
('netflow_interval', '300'),
|
||||
('netflow_interval', '3600'),
|
||||
('netflow_daemon', '/usr/bin/nfcapd'),
|
||||
('netflow_nfdump', '/usr/bin/nfdump'),
|
||||
('netflow_max_resolution', '50'),
|
||||
('event_fields', 'evento,id_agente,estado,timestamp'),
|
||||
('list_ACL_IPs_for_API', '127.0.0.1'),
|
||||
('enable_pass_policy', 0),
|
||||
|
|
|
@ -83,9 +83,10 @@ INSERT INTO `tconfig` (`token`, `value`) VALUES
|
|||
('integria_inventory', '0'),
|
||||
('integria_url', ''),
|
||||
('netflow_path', '/var/spool/pandora/data_in/netflow'),
|
||||
('netflow_interval', '86400'),
|
||||
('netflow_interval', '3600'),
|
||||
('netflow_daemon', '/usr/bin/nfcapd'),
|
||||
('netflow_nfdump', '/usr/bin/nfdump'),
|
||||
('netflow_max_resolution', '50'),
|
||||
('event_fields', 'evento,id_agente,estado,timestamp'),
|
||||
('list_ACL_IPs_for_API', '127.0.0.1'),
|
||||
('enable_pass_policy', 0),
|
||||
|
|
Loading…
Reference in New Issue