2008-10-07 Evi Vanoost <vanooste@rcbi.rochester.edu>
* include/functions_reporting.php: Handle empty and zero values in get_agent_module_sla. * include/config_process.php: SLA Period shouldn't be 0 (which is apparently default in the database). If SLA is empty (NULL, 0, false or '') then it get's reset to a default value. * godmode/setup/setup.php: SLA Period was hidden because of a miscount git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1133 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
This commit is contained in:
parent
1ff31c5a1a
commit
a00b8ca0aa
|
@ -1,3 +1,14 @@
|
||||||
|
2008-10-07 Evi Vanoost <vanooste@rcbi.rochester.edu>
|
||||||
|
|
||||||
|
* include/functions_reporting.php: Handle empty and zero values in
|
||||||
|
get_agent_module_sla.
|
||||||
|
|
||||||
|
* include/config_process.php: SLA Period shouldn't be 0 (which is
|
||||||
|
apparently default in the database). If SLA is empty (NULL, 0, false
|
||||||
|
or '') then it get's reset to a default value.
|
||||||
|
|
||||||
|
* godmode/setup/setup.php: SLA Period was hidden because of a miscount
|
||||||
|
|
||||||
2008-10-06 Evi Vanoost <vanooste@rcbi.rochester.edu>
|
2008-10-06 Evi Vanoost <vanooste@rcbi.rochester.edu>
|
||||||
|
|
||||||
* godmode/agentes/configurar_agente.php: Double values in query removed
|
* godmode/agentes/configurar_agente.php: Double values in query removed
|
||||||
|
|
|
@ -19,13 +19,12 @@
|
||||||
// Load global vars
|
// Load global vars
|
||||||
require("include/config.php");
|
require("include/config.php");
|
||||||
|
|
||||||
if (comprueba_login()) {
|
check_login ();
|
||||||
audit_db ($config['id_user'], $REMOTE_ADDR, "ACL Violation", "Trying to access Setup Management");
|
|
||||||
require ("general/noaccess.php");
|
|
||||||
}
|
|
||||||
if (! give_acl ($config['id_user'], 0, "PM") || ! dame_admin ($config['id_user'])) {
|
if (! give_acl ($config['id_user'], 0, "PM") || ! dame_admin ($config['id_user'])) {
|
||||||
audit_db ($config['id_user'], $REMOTE_ADDR, "ACL Violation", "Trying to access Setup Management");
|
audit_db ($config['id_user'], $REMOTE_ADDR, "ACL Violation", "Trying to access Setup Management");
|
||||||
require ("general/noaccess.php");
|
require ("general/noaccess.php");
|
||||||
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
$update_settings = (bool) get_parameter ('update_settings');
|
$update_settings = (bool) get_parameter ('update_settings');
|
||||||
|
@ -90,32 +89,32 @@ $table->data[4][1] = print_input_text ('graph_color2', $config["graph_color2"],
|
||||||
$table->data[5][0] = __('Graph color (max)');
|
$table->data[5][0] = __('Graph color (max)');
|
||||||
$table->data[5][1] = print_input_text ('graph_color3', $config["graph_color3"], '', 8, 8, true);
|
$table->data[5][1] = print_input_text ('graph_color3', $config["graph_color3"], '', 8, 8, true);
|
||||||
|
|
||||||
$table->data[6][0] = __('SLA period');
|
$table->data[6][0] = __('SLA period (seconds)');
|
||||||
$table->data[6][1] = print_input_text ('sla_period', $config["sla_period"], '', 5, 5, true);
|
$table->data[6][1] = print_input_text ('sla_period', $config["sla_period"], '', 8, 8, true);
|
||||||
|
|
||||||
$table->data[6][0] = __('Max. days before compact data');
|
$table->data[7][0] = __('Max. days before compact data');
|
||||||
$table->data[6][1] = print_input_text ('days_compact', $config["days_compact"], '', 5, 5, true);
|
$table->data[7][1] = print_input_text ('days_compact', $config["days_compact"], '', 5, 5, true);
|
||||||
|
|
||||||
$table->data[7][0] = __('Max. days before purge');
|
$table->data[8][0] = __('Max. days before purge');
|
||||||
$table->data[7][1] = print_input_text ('days_purge', $config["days_purge"], '', 5, 5, true);
|
$table->data[8][1] = print_input_text ('days_purge', $config["days_purge"], '', 5, 5, true);
|
||||||
|
|
||||||
$table->data[8][0] = __('Graphic resolution (1-low, 5-high)');
|
$table->data[9][0] = __('Graphic resolution (1-low, 5-high)');
|
||||||
$table->data[8][1] = print_input_text ('graph_res', $config["graph_res"], '', 5, 5, true);
|
$table->data[9][1] = print_input_text ('graph_res', $config["graph_res"], '', 5, 5, true);
|
||||||
|
|
||||||
$table->data[9][0] = __('Compact interpolation in hours (1 Fine-20 bad)');
|
$table->data[10][0] = __('Compact interpolation in hours (1 Fine-20 bad)');
|
||||||
$table->data[9][1] = print_input_text ('step_compact', $config["step_compact"], '', 5, 5, true);
|
$table->data[10][1] = print_input_text ('step_compact', $config["step_compact"], '', 5, 5, true);
|
||||||
|
|
||||||
$table->data[10][0] = __('Show unknown modules in global view');
|
$table->data[11][0] = __('Show unknown modules in global view');
|
||||||
$table->data[10][1] = print_checkbox ('show_unknown', 1, $config["show_unknown"], true);
|
$table->data[11][1] = print_checkbox ('show_unknown', 1, $config["show_unknown"], true);
|
||||||
|
|
||||||
$table->data[11][0] = __('Show last fired alerts in global view');
|
$table->data[12][0] = __('Show last fired alerts in global view');
|
||||||
$table->data[11][1] = print_checkbox ('show_lastalerts', 1, $config["show_lastalerts"], true);
|
$table->data[12][1] = print_checkbox ('show_lastalerts', 1, $config["show_lastalerts"], true);
|
||||||
|
|
||||||
$table->data[12][0] = __('Style template');
|
$table->data[13][0] = __('Style template');
|
||||||
$table->data[12][1] = print_select ($file_styles, 'style', $config["style"], '', '', '', true);
|
$table->data[13][1] = print_select ($file_styles, 'style', $config["style"], '', '', '', true);
|
||||||
|
|
||||||
$table->data[13][0] = __('Block size for pagination');
|
$table->data[14][0] = __('Block size for pagination');
|
||||||
$table->data[13][1] = print_input_text ('block_size', $config["block_size"], '', 5, 5, true);
|
$table->data[14][1] = print_input_text ('block_size', $config["block_size"], '', 5, 5, true);
|
||||||
|
|
||||||
echo '<form id="form_setup" method="POST" action="index.php?sec=gsetup&sec2=godmode/setup/setup">';
|
echo '<form id="form_setup" method="POST" action="index.php?sec=gsetup&sec2=godmode/setup/setup">';
|
||||||
print_input_hidden ('update_settings', 1);
|
print_input_hidden ('update_settings', 1);
|
||||||
|
|
|
@ -34,9 +34,6 @@ $config["fontpath"] = $config["homedir"]."/reporting/FreeSans.ttf";
|
||||||
// Style (pandora by default)
|
// Style (pandora by default)
|
||||||
$config["style"] = "pandora";
|
$config["style"] = "pandora";
|
||||||
|
|
||||||
// Default period (in secs) for auto SLA calculation (for monitors)
|
|
||||||
$config["sla_period"] = 604800;
|
|
||||||
|
|
||||||
// Read remaining config tokens from DB
|
// Read remaining config tokens from DB
|
||||||
if (! mysql_connect ($config["dbhost"], $config["dbuser"], $config["dbpass"])) {
|
if (! mysql_connect ($config["dbhost"], $config["dbuser"], $config["dbpass"])) {
|
||||||
//Non-persistent connection. If you want persistent conn change it to mysql_pconnect()
|
//Non-persistent connection. If you want persistent conn change it to mysql_pconnect()
|
||||||
|
@ -122,4 +119,9 @@ if (isset ($config['homeurl']) && $config['homeurl'][0] != '/') {
|
||||||
$config['homeurl'] = '/'.$config['homeurl'];
|
$config['homeurl'] = '/'.$config['homeurl'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!isset ($config["sla_period"]) || empty ($config["sla_period"])) {
|
||||||
|
// Default period (in secs) for auto SLA calculation (for monitors)
|
||||||
|
$config["sla_period"] = 604800;
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
|
@ -29,18 +29,33 @@
|
||||||
* @return SLA percentage of the requested module.
|
* @return SLA percentage of the requested module.
|
||||||
*/
|
*/
|
||||||
function get_agent_module_sla ($id_agent_module, $period, $min_value, $max_value, $date = 0) {
|
function get_agent_module_sla ($id_agent_module, $period, $min_value, $max_value, $date = 0) {
|
||||||
require("config.php");
|
if (empty ($date))
|
||||||
if (! $date)
|
|
||||||
$date = time ();
|
$date = time ();
|
||||||
$datelimit = $date - $period; // limit date
|
|
||||||
$id_agent = get_db_value ('id_agente', 'tagente_modulo', 'id_agente_modulo', $id_agent_module);
|
if (empty ($period))
|
||||||
|
return false; //We can't calculate a 0 period (division by zero)
|
||||||
|
|
||||||
|
|
||||||
|
$datelimit = $date - $period; // start date
|
||||||
|
|
||||||
|
$id_agent = get_db_value ('id_agente', 'tagente_modulo', 'id_agente_modulo', (int) $id_agent_module);
|
||||||
|
if (empty ($id_agent))
|
||||||
|
return 0;
|
||||||
|
//No agent connected to this module. Something bad in the database
|
||||||
|
|
||||||
/* Get all the data in the interval */
|
/* Get all the data in the interval */
|
||||||
$sql = sprintf ('SELECT * FROM tagente_datos
|
$sql = sprintf ('SELECT datos, utimestamp FROM tagente_datos
|
||||||
WHERE id_agente = %d AND id_agente_modulo = %d
|
WHERE id_agente = %d AND id_agente_modulo = %d
|
||||||
AND utimestamp > %d AND utimestamp <= %d
|
AND utimestamp > %d AND utimestamp <= %d
|
||||||
ORDER BY utimestamp ASC',
|
ORDER BY utimestamp ASC',
|
||||||
$id_agent, $id_agent_module, $datelimit, $date);
|
$id_agent, $id_agent_module, $datelimit, $date);
|
||||||
$datas = get_db_all_rows_sql ($sql);
|
$datas = get_db_all_rows_sql ($sql);
|
||||||
|
|
||||||
|
if ($datas === false) {
|
||||||
|
//No data to calculate on so we return 0.
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
$last_data = "";
|
$last_data = "";
|
||||||
$total_badtime = 0;
|
$total_badtime = 0;
|
||||||
$interval_begin = 0;
|
$interval_begin = 0;
|
||||||
|
@ -49,14 +64,12 @@ function get_agent_module_sla ($id_agent_module, $period, $min_value, $max_value
|
||||||
|
|
||||||
/* Get also the previous data before the selected interval. */
|
/* Get also the previous data before the selected interval. */
|
||||||
$previous_data = get_previous_data ($id_agent_module, $datelimit);
|
$previous_data = get_previous_data ($id_agent_module, $datelimit);
|
||||||
|
|
||||||
if ($previous_data) {
|
if ($previous_data) {
|
||||||
/* Add data to the beginning */
|
/* Add data to the beginning */
|
||||||
array_unshift ($datas, $previous_data);
|
array_unshift ($datas, $previous_data);
|
||||||
$previous_data_timestamp = $previous_data['utimestamp'];
|
$previous_data_timestamp = $previous_data['utimestamp'];
|
||||||
}
|
}
|
||||||
if ($datas === false) {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach ($datas as $data) {
|
foreach ($datas as $data) {
|
||||||
if ($data["datos"] > $max_value || $data["datos"] < $min_value) {
|
if ($data["datos"] > $max_value || $data["datos"] < $min_value) {
|
||||||
|
|
Loading…
Reference in New Issue