Usuario:ManuelRomero/proyecto/proyectoIternova/Gráficas
De WikiEducator
< Usuario:ManuelRomero | proyecto
Revisión a fecha de 01:19 25 ago 2017; ManuelRomero (Discusión | contribuciones)
Cómo generar gráficas
- Preparar una matriz con la siguiente estructura.
FECHA | SERVICIO |
Fecha 1: 01-01-2017 10:43 | valor ssh 1 |
Fecha 2: 03-03-2017 12:43 | valor ssh 2 |
- Para ello genero previamente a partir de una consulta en un interavlo de fechas de un determinado host, la siguiente información
host | date | servicios | ||
id_ del host en la colección mongo | --- | ssh | http | ... (mas servicios |
------ | Fecha 2: 03-03-2017 12:43 | valor_ssh_per_1 | valor_http_per_1 | ... (mas servicios |
Monitorizacion_Controller::view
Inserto el código
//Obtengo los servicios para obetner la gráfica de cada servicio $services = $obj->servicios; foreach ($services as $service) { $data_ini = date("Y-m-d 00:00:00", time() - 24 * 60 * 60); //El día de ayer $data_fin = date("Y-m-d 00:00:00", time()); //El día de ayer $index = Monitorizacion_Controller_Services::get_index_to_services($service); $service = Monitorizacion_Constants::getIndexNumberService($service); echo "<h1>$service - $data_ini . $data_fin</h1>"; var_dump($index); echo "<h1>MRM</h1>"; //$matriz_service = Monitorizacion_Controller_Services::generate_service_matrix($data_ini, $data_fin, $service); //var_dump($matrix_service); }
- empiezo a implementar el método generate_service_matrix sin llegar a probar
/** * * @param type $data_ini fecha de inicio * @param type $data_fin fecha de fin * @param type $service servicio para obtener datos * Obtiene una matriz de datos a partir de la información almacenada en mongo * entre las fechas establecidas del servicio especificado */ public static function generate_service_matrix($data_ini, $data_fin, $service, $index, $host_id) { $datos = null; $date_current = date('Y-m-d 00:00:00'); $obj_date_current = new DateTime($date_current, new DateTimeZone('UTC')); $array_criterios = []; $array_criterios[] = array('host_id', 'eq', $host, 'string'); $array_criterios[] = array('data', 'eq', $service . '[' . $index . ']', 'string'); $array_criterios[] = array('timestamp', 'he', $$data_ini, 'string'); $array_criterios[] = array('timestamp', 'le', $data_fin, 'string'); Logs_Controller::vardump($array_criterios); /* $array_obj_data = Monitorizacion_Modeldata::get_all($array_criterios, array('host_id' => 1, 'timestamp' => -1), 0, 1); if (!empty($array_obj_data)) { //Con reset retomamos el primer elemento del array o FALSE si está vacío $datos = reset($array_obj_data); } return $datos; * */ }
Dibujar la tabla
- Ver el ejemplo en
Monitorizacion_Modules_Stats_View
Método
generate_totales
Antes de visualizar la gráfica, imprimir los datos con
Printer_Controller::getMatrixHTML($matriz)
Donde matriz debe de ser una estructura con los datos
FECHA | SERVICIO |
Fecha 1: 01-01-2017 10:43 | valor ssh 1 |
Fecha 2: 03-03-2017 12:43 | valor ssh 2 |