'; $canvas .= '
'; $width = 800; $height = 300; $data_array['realtime']['data'][0][0] = (time() - 10); $data_array['realtime']['data'][0][1] = 0; $data_array['realtime']['data'][1][0] = time(); $data_array['realtime']['data'][1][1] = 0; $data_array['realtime']['color'] = 'green'; $params = [ 'agent_module_id' => false, 'period' => 300, 'width' => $width, 'height' => $height, 'unit' => $unit, 'only_image' => $only_image, 'homeurl' => $homeurl, 'type_graph' => 'area', 'font' => $config['fontpath'], 'font-size' => $config['font_size'], 'array_data_create' => $data_array, 'show_legend' => false, 'show_menu' => false, ]; $canvas .= grafico_modulo_sparse($params); $canvas .= ''; echo $canvas; $table->width = '100%'; $table->id = 'table-form'; $table->class = 'databox filters'; $table->style = []; $table->cellpadding = '0'; $table->cellspacing = '0'; $table->style['graph'] = 'font-weight: bold;'; $table->style['refresh'] = 'font-weight: bold;'; $table->style['incremental'] = 'font-weight: bold;'; $table->style['reset'] = 'font-weight: bold;'; $table->style['snmp_address'] = 'font-weight: bold;'; $table->style['snmp_community'] = 'font-weight: bold;'; $table->style['snmp_oid'] = 'font-weight: bold;'; $table->style['snmp_oid'] = 'font-weight: bold;'; $table->data = []; $graph_fields['cpu_load'] = __('%s Server CPU', get_product_name()); $graph_fields['pending_packets'] = __('Pending packages from %s Server', get_product_name()); $graph_fields['disk_io_wait'] = __('%s Server Disk IO Wait', get_product_name()); $graph_fields['apache_load'] = __('%s Server Apache load', get_product_name()); $graph_fields['mysql_load'] = __('%s Server MySQL load', get_product_name()); $graph_fields['server_load'] = __('%s Server load', get_product_name()); $graph_fields['snmp_interface'] = __('SNMP Interface throughput'); $graph = get_parameter('graph', 'cpu_load'); $refresh = get_parameter('refresh', '1000'); if ($graph != 'snmp_module') { $data['graph'] = __('Graph').' '.html_print_select($graph_fields, 'graph', $graph, '', '', 0, true); } $refresh_fields[1000] = human_time_description_raw(1, true, 'large'); $refresh_fields[5000] = human_time_description_raw(5, true, 'large'); $refresh_fields[10000] = human_time_description_raw(10, true, 'large'); $refresh_fields[30000] = human_time_description_raw(30, true, 'large'); if ($graph == 'snmp_module') { $agent_alias = io_safe_output(get_parameter('agent_alias', '')); $module_name = io_safe_output(get_parameter('module_name', '')); $module_incremental = get_parameter('incremental', 0); $data['module_info'] = "$agent_alias: $module_name"; // Append all the hidden in this cell $data['module_info'] .= html_print_input_hidden('incremental', $module_incremental, true); $data['module_info'] .= html_print_select( ['snmp_module' => '-'], 'graph', 'snmp_module', '', '', 0, true, false, true, '', false, 'display: none;' ); } $data['refresh'] = __('Refresh interval').' '.html_print_select($refresh_fields, 'refresh', $refresh, '', '', 0, true); if ($graph != 'snmp_module') { $data['incremental'] = __('Incremental').' '.html_print_checkbox('incremental', 1, 0, true); } $data['reset'] = html_print_button(__('Clear graph'), 'reset', false, 'javascript:realtimeGraphs.clearGraph();', 'class="sub delete" style="margin-top:0px;"', true); $table->data[] = $data; if ($graph == 'snmp_interface' || $graph == 'snmp_module') { $snmp_address = get_parameter('snmp_address', ''); $snmp_community = get_parameter('snmp_community', ''); $snmp_oid = get_parameter('snmp_oid', ''); $snmp_ver = get_parameter('snmp_ver', ''); $data = []; $data['snmp_address'] = __('Target IP').' '.html_print_input_text('ip_target', $snmp_address, '', 50, 255, true); $table->colspan[1]['snmp_address'] = 2; $data['snmp_community'] = __('Community').' '.html_print_input_text('snmp_community', $snmp_community, '', 50, 255, true); $table->colspan[1]['snmp_community'] = 2; $table->data[] = $data; $snmp_versions = []; $snmp_versions['1'] = '1'; $snmp_versions['2'] = '2'; $snmp_versions['2c'] = '2c'; $data = []; $data['snmp_oid'] = __('OID').' '.html_print_input_text('snmp_oid', $snmp_oid, '', 100, 255, true); $table->colspan[2]['snmp_oid'] = 2; $data['snmp_ver'] = __('Version').' '.html_print_select($snmp_versions, 'snmp_version', $snmp_ver, '', '', 0, true); $data['snmp_ver'] .= ' '.html_print_button(__('SNMP walk'), 'snmp_walk', false, 'javascript:realtimeGraphs.snmpBrowserWindow();', 'class="sub next"', true); $table->colspan[2]['snmp_ver'] = 2; $table->data[] = $data; // Hide some options in snmp_module graphs if ($graph == 'snmp_module') { $table->rowstyle[1] = 'display: none;'; $table->rowstyle[2] = 'display: 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 ''; // Define a custom action to save the OID selected in the SNMP browser to the form html_print_input_hidden('custom_action', urlencode(base64_encode(' ')), false); html_print_input_hidden('incremental_base', '0'); echo ''; echo ''; echo ''; // Store servers timezone offset to be retrieved from js set_js_value('timezone_offset', date('Z', time())); } extensions_add_operation_menu_option(__('Realtime graphs'), 'estado', null, 'v1r1', 'view'); extensions_add_main_function('pandora_realtime_graphs'); $db = null;