'', 'label' => __('Monitoring'), ], [ 'link' => '', 'label' => __('Views'), ], ] ); } $table = new stdClass(); $table->width = '100%'; $table->id = 'table-form'; $table->class = 'filter-table-adv'; $table->style = []; $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'] = html_print_label_input_block( __('Graph'), html_print_select( $graph_fields, 'graph', $graph, '', '', 0, true, false, true, '', false, 'width: 100%' ) ); } $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'] = html_print_label_input_block( $agent_alias.': '.$module_name, html_print_input_hidden( 'incremental', $module_incremental, true ).html_print_select( ['snmp_module' => '-'], 'graph', 'snmp_module', '', '', 0, true, false, true, '', false, 'width: 100%; display: none;' ) ); } $data['refresh'] = html_print_label_input_block( __('Refresh interval'), html_print_select( $refresh_fields, 'refresh', $refresh, '', '', 0, true, false, true, '', false, 'width: 100%' ) ); if ($graph != 'snmp_module') { $data['incremental'] = html_print_label_input_block( __('Incremental'), html_print_checkbox_switch('incremental', 1, 0, true) ); } $table->data[] = $data; // Print the relative path to AJAX calls. html_print_input_hidden('rel_path', get_parameter('rel_path', '')); // Print the form. $searchForm = '
'; $searchForm .= html_print_table($table, true); $searchForm .= html_print_div( [ 'class' => 'action-buttons', 'content' => html_print_submit_button( __('Clear graph'), 'srcbutton', false, [ 'icon' => 'delete', 'mode' => 'mini', 'onClick' => 'javascript:realtimeGraphs.clearGraph();', ], true ), ], true ); $searchForm .= '
'; ui_toggle( $searchForm, ''.__('Filters').'', 'filter_form', '', true, false, '', 'white-box-content', 'box-flat white_table_graph fixed_filter_bar top_0px_important mrgn_btn_35px_imp' ); $chart[time()]['graph'] = '0'; $canvas = '
'; $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, 'only_image' => false, 'type_graph' => 'area', 'font' => $config['fontpath'], 'font-size' => $config['font_size'], 'array_data_create' => $data_array, 'show_legend' => false, 'show_menu' => false, 'backgroundColor' => 'transparent', ]; $canvas .= grafico_modulo_sparse($params); $canvas .= '
'; html_print_div( [ 'class' => 'white_box', 'content' => $canvas, ] ); if ($graph == 'snmp_interface' || $graph == 'snmp_module') { html_print_div( [ 'class' => 'white_box', 'id' => 'graph_snmp_interface', 'content' => snmp_browser_print_container(true, '100%', '60%', '', false, false), ] ); } // echo $canvas; // 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 ''; if ($config['style'] !== 'pandora_black') { 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;