Added separated window view to SNMP realtime graphs
This commit is contained in:
parent
32822054d6
commit
bd3f0712f1
|
@ -14,8 +14,10 @@
|
||||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
// GNU General Public License for more details.
|
// GNU General Public License for more details.
|
||||||
|
|
||||||
include_once('include/graphs/fgraph.php');
|
global $config;
|
||||||
include_once('include/functions_snmp_browser.php');
|
|
||||||
|
include_once($config['homedir'] . '/include/graphs/fgraph.php');
|
||||||
|
include_once($config['homedir'] . '/include/functions_snmp_browser.php');
|
||||||
|
|
||||||
function pandora_realtime_graphs () {
|
function pandora_realtime_graphs () {
|
||||||
global $config;
|
global $config;
|
||||||
|
@ -25,8 +27,11 @@ function pandora_realtime_graphs () {
|
||||||
$action = get_parameter('action', 'list');
|
$action = get_parameter('action', 'list');
|
||||||
|
|
||||||
$onheader = array();
|
$onheader = array();
|
||||||
|
|
||||||
ui_print_page_header (__("Realtime graphs"), "images/extensions.png", false, "", false, $onheader);
|
$hide_header = get_parameter('hide_header', 0);
|
||||||
|
if (!$hide_header) {
|
||||||
|
ui_print_page_header (__("Realtime graphs"), "images/extensions.png", false, "", false, $onheader);
|
||||||
|
}
|
||||||
|
|
||||||
$chart[time()]['graph'] = '0';
|
$chart[time()]['graph'] = '0';
|
||||||
$interactive_graph = true;
|
$interactive_graph = true;
|
||||||
|
@ -136,6 +141,10 @@ function pandora_realtime_graphs () {
|
||||||
snmp_browser_print_container (false, '100%', '60%', 'none');
|
snmp_browser_print_container (false, '100%', '60%', 'none');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Print the relative path to AJAX calls:
|
||||||
|
html_print_input_hidden('rel_path', get_parameter('rel_path', ''));
|
||||||
|
|
||||||
|
// Print the form
|
||||||
echo '<form id="realgraph" method="post">';
|
echo '<form id="realgraph" method="post">';
|
||||||
html_print_table($table);
|
html_print_table($table);
|
||||||
echo '</form>';
|
echo '</form>';
|
||||||
|
@ -144,9 +153,9 @@ function pandora_realtime_graphs () {
|
||||||
html_print_input_hidden ('custom_action', urlencode (base64_encode(' <a href="javascript:setOID()"><img src="' . ui_get_full_url("images") . '/input_filter.disabled.png" title="' . __("Use this OID") . '" style="vertical-align: middle;"></img></a>')), false);
|
html_print_input_hidden ('custom_action', urlencode (base64_encode(' <a href="javascript:setOID()"><img src="' . ui_get_full_url("images") . '/input_filter.disabled.png" title="' . __("Use this OID") . '" style="vertical-align: middle;"></img></a>')), false);
|
||||||
html_print_input_hidden ('incremental_base', '0');
|
html_print_input_hidden ('incremental_base', '0');
|
||||||
|
|
||||||
echo '<script type="text/javascript" src="extensions/realtime_graphs/realtime_graphs.js"></script>';
|
echo '<script type="text/javascript" src="'.ui_get_full_url("extensions/realtime_graphs/realtime_graphs.js").'"></script>';
|
||||||
echo '<script type="text/javascript" src="include/javascript/pandora_snmp_browser.js"></script>';
|
echo '<script type="text/javascript" src="'.ui_get_full_url("include/javascript/pandora_snmp_browser.js").'"></script>';
|
||||||
echo '<link rel="stylesheet" type="text/css" href="extensions/realtime_graphs/realtime_graphs.css"></style>';
|
echo '<link rel="stylesheet" type="text/css" href="'.ui_get_full_url("extensions/realtime_graphs/realtime_graphs.css").'"></style>';
|
||||||
|
|
||||||
// Store servers timezone offset to be retrieved from js
|
// Store servers timezone offset to be retrieved from js
|
||||||
set_js_value('timezone_offset', date('Z', time()));
|
set_js_value('timezone_offset', date('Z', time()));
|
||||||
|
|
|
@ -58,9 +58,11 @@ function refresh_graph () {
|
||||||
postvars['snmp_address'] = $('#text-ip_target').val();
|
postvars['snmp_address'] = $('#text-ip_target').val();
|
||||||
|
|
||||||
postvars['refresh'] = refresh;
|
postvars['refresh'] = refresh;
|
||||||
|
|
||||||
|
var rel_path = $("#hidden-rel_path").val();
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: "extensions/realtime_graphs/ajax.php",
|
url: rel_path + "extensions/realtime_graphs/ajax.php",
|
||||||
type: "POST",
|
type: "POST",
|
||||||
dataType: "json",
|
dataType: "json",
|
||||||
data: postvars,
|
data: postvars,
|
||||||
|
|
|
@ -92,28 +92,27 @@ function extensions_is_extension ($page) {
|
||||||
*
|
*
|
||||||
* @param bool $enterprise
|
* @param bool $enterprise
|
||||||
*/
|
*/
|
||||||
function extensions_get_extensions ($enterprise = false) {
|
function extensions_get_extensions ($enterprise = false, $rel_path = '') {
|
||||||
|
|
||||||
$dir = EXTENSIONS_DIR;
|
$dir = $rel_path . EXTENSIONS_DIR;
|
||||||
$master_dir = ENTERPRISE_DIR . '/' . EXTENSIONS_DIR;
|
$master_dir = $rel_path . ENTERPRISE_DIR . '/' . EXTENSIONS_DIR;
|
||||||
$handle = false;
|
$handle = false;
|
||||||
if ($enterprise) {
|
if ($enterprise) {
|
||||||
$dir = ENTERPRISE_DIR . '/' . EXTENSIONS_DIR;
|
$dir = $rel_path . ENTERPRISE_DIR . '/' . EXTENSIONS_DIR;
|
||||||
if (defined("METACONSOLE")) {
|
if (defined("METACONSOLE")) {
|
||||||
$dir = '../' . EXTENSIONS_DIR;
|
$dir = $rel_path . '../' . EXTENSIONS_DIR;
|
||||||
$master_dir = '../' . EXTENSIONS_DIR;
|
$master_dir = $rel_path . '../' . EXTENSIONS_DIR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (defined("METACONSOLE")) {
|
if (defined("METACONSOLE")) {
|
||||||
$dir = '../../' . $dir;
|
$dir = $rel_path . '../../' . $dir;
|
||||||
$master_dir = '../' . EXTENSIONS_DIR;
|
$master_dir = $rel_path . '../' . EXTENSIONS_DIR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (file_exists ($dir))
|
if (file_exists ($dir))
|
||||||
$handle = @opendir ($dir);
|
$handle = @opendir ($dir);
|
||||||
|
|
||||||
if (empty ($handle))
|
if (empty ($handle))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@ -148,7 +147,7 @@ function extensions_get_extensions ($enterprise = false) {
|
||||||
|
|
||||||
/* Load extensions in enterprise directory */
|
/* Load extensions in enterprise directory */
|
||||||
if (! $enterprise && file_exists ($master_dir))
|
if (! $enterprise && file_exists ($master_dir))
|
||||||
return array_merge ($extensions, extensions_get_extensions (true));
|
return array_merge ($extensions, extensions_get_extensions (true, $rel_path));
|
||||||
|
|
||||||
return $extensions;
|
return $extensions;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2711,11 +2711,13 @@ function get_module_realtime_link_graph ($module) {
|
||||||
'snmp_address' => $module['ip_target'],
|
'snmp_address' => $module['ip_target'],
|
||||||
'snmp_community' => $module['snmp_community'],
|
'snmp_community' => $module['snmp_community'],
|
||||||
'snmp_oid' => $module['snmp_oid'],
|
'snmp_oid' => $module['snmp_oid'],
|
||||||
'snmp_ver' => $module['tcp_send']
|
'snmp_ver' => $module['tcp_send'],
|
||||||
|
'hide_header' => 1,
|
||||||
|
'rel_path' => '../../'
|
||||||
);
|
);
|
||||||
// Incremental type
|
// Incremental type
|
||||||
if ($module['id_tipo_modulo'] == 16) $params['incremental'] = 1;
|
if ($module['id_tipo_modulo'] == 16) $params['incremental'] = 1;
|
||||||
$link = "index.php?sec=view&sec2=extensions/realtime_graphs&"; //FIXME: Not definitive URL
|
$link = "operation/agentes/realtime_win.php?";
|
||||||
foreach ($params as $p_key => $p_value) {
|
foreach ($params as $p_key => $p_value) {
|
||||||
$link .= "$p_key=" . urlencode(io_safe_output($p_value)) . "&";
|
$link .= "$p_key=" . urlencode(io_safe_output($p_value)) . "&";
|
||||||
}
|
}
|
||||||
|
@ -2723,7 +2725,7 @@ function get_module_realtime_link_graph ($module) {
|
||||||
|
|
||||||
$win_handle = "realtime_" . dechex(crc32($module["id_agente_modulo"].$module["nombre"]));
|
$win_handle = "realtime_" . dechex(crc32($module["id_agente_modulo"].$module["nombre"]));
|
||||||
|
|
||||||
$link_button = '<a href="javascript:winopeng(\''.$link.'\',\''.$win_handle.'\')">' .
|
$link_button = '<a href="javascript:winopeng_var(\''.$link.'\',\''.$win_handle.'\', 850, 480)">' .
|
||||||
html_print_image("images/chart_curve.png", true, array("border" => '0', "alt" => "")) . //FIXME: Not definitive image
|
html_print_image("images/chart_curve.png", true, array("border" => '0', "alt" => "")) . //FIXME: Not definitive image
|
||||||
'</a> ';
|
'</a> ';
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,105 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
// Pandora FMS - http://pandorafms.com
|
||||||
|
// ==================================================
|
||||||
|
// Copyright (c) 2005-2018 Artica Soluciones Tecnologicas
|
||||||
|
// Please see http://pandorafms.org for full contribution list
|
||||||
|
|
||||||
|
// This program is free software; you can redistribute it and/or
|
||||||
|
// modify it under the terms of the GNU General Public License
|
||||||
|
// as published by the Free Software Foundation for version 2.
|
||||||
|
// This program is distributed in the hope that it will be useful,
|
||||||
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
// GNU General Public License for more details.
|
||||||
|
|
||||||
|
|
||||||
|
if (! isset($_SESSION['id_usuario'])) {
|
||||||
|
session_start();
|
||||||
|
//session_write_close();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Global & session management
|
||||||
|
require_once ('../../include/config.php');
|
||||||
|
require_once ($config['homedir'] . '/include/auth/mysql.php');
|
||||||
|
require_once ($config['homedir'] . '/include/functions.php');
|
||||||
|
require_once ($config['homedir'] . '/include/functions_db.php');
|
||||||
|
require_once ($config['homedir'] . '/include/functions_reporting.php');
|
||||||
|
require_once ($config['homedir'] . '/include/functions_graph.php');
|
||||||
|
require_once ($config['homedir'] . '/include/functions_modules.php');
|
||||||
|
require_once ($config['homedir'] . '/include/functions_agents.php');
|
||||||
|
require_once ($config['homedir'] . '/include/functions_tags.php');
|
||||||
|
require_once ($config['homedir'] . '/include/functions_extensions.php');
|
||||||
|
check_login ();
|
||||||
|
|
||||||
|
// Metaconsole connection to the node
|
||||||
|
$server_id = (int) get_parameter("server");
|
||||||
|
if (is_metaconsole() && !empty($server_id)) {
|
||||||
|
$server = metaconsole_get_connection_by_id($server_id);
|
||||||
|
|
||||||
|
// Error connecting
|
||||||
|
if (metaconsole_connect($server) !== NOERR) {
|
||||||
|
echo "<html>";
|
||||||
|
echo "<body>";
|
||||||
|
ui_print_error_message(__('There was a problem connecting with the node'));
|
||||||
|
echo "</body>";
|
||||||
|
echo "</html>";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$user_language = get_user_language ($config['id_user']);
|
||||||
|
if (file_exists ('../../include/languages/'.$user_language.'.mo')) {
|
||||||
|
$l10n = new gettext_reader (new CachedFileReader ('../../include/languages/'.$user_language.'.mo'));
|
||||||
|
$l10n->load_tables();
|
||||||
|
}
|
||||||
|
|
||||||
|
echo '<link rel="stylesheet" href="../../include/styles/pandora.css" type="text/css"/>';
|
||||||
|
?>
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<?php
|
||||||
|
// Parsing the refresh before sending any header
|
||||||
|
$refresh = (int) get_parameter ("refresh", -1);
|
||||||
|
if ($refresh > 0) {
|
||||||
|
$query = ui_get_url_refresh (false);
|
||||||
|
echo '<meta http-equiv="refresh" content="'.$refresh.'; URL='.$query.'" />';
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||||
|
<title>Pandora FMS Realtime Module Graph</title>
|
||||||
|
<link rel="stylesheet" href="../../include/styles/pandora_minimal.css" type="text/css" />
|
||||||
|
<link rel="stylesheet" href="../../include/styles/jquery-ui-1.10.0.custom.css" type="text/css" />
|
||||||
|
<script type='text/javascript' src='../../include/javascript/pandora.js'></script>
|
||||||
|
<script type='text/javascript' src='../../include/javascript/jquery-1.9.0.js'></script>
|
||||||
|
<script type='text/javascript' src='../../include/javascript/jquery.pandora.js'></script>
|
||||||
|
<script type='text/javascript' src='../../include/javascript/jquery.jquery-ui-1.10.0.custom.js'></script>
|
||||||
|
<?php
|
||||||
|
//Include the javascript for the js charts library
|
||||||
|
include_once($config["homedir"] . '/include/graphs/functions_flot.php');
|
||||||
|
include_javascript_dependencies_flot_graph();
|
||||||
|
?>
|
||||||
|
</head>
|
||||||
|
<body bgcolor="#ffffff" style='background:#ffffff;'>
|
||||||
|
<?php
|
||||||
|
$config['extensions'] = extensions_get_extensions (false, '../../');
|
||||||
|
if (!extensions_is_enabled_extension("realtime_graphs.php")) {
|
||||||
|
ui_print_error_message(__('Realtime extension is not enabled.'));
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
include_once('../../extensions/realtime_graphs.php');
|
||||||
|
}
|
||||||
|
pandora_realtime_graphs();
|
||||||
|
?>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
// Echo the script tags of the datepicker and the timepicker
|
||||||
|
// Modify the user language cause the ui.datepicker language files use - instead _
|
||||||
|
$custom_user_language = str_replace('_', '-', $user_language);
|
||||||
|
ui_require_jquery_file("ui.datepicker-" . $custom_user_language, "include/javascript/i18n/", true);
|
||||||
|
ui_include_time_picker(true);
|
||||||
|
?>
|
Loading…
Reference in New Issue