Usuario:ManuelRomero/proyecto/proyectoIternova/Gráficas

De WikiEducator
< Usuario:ManuelRomero‎ | proyecto
Revisión a fecha de 00:19 25 ago 2017; ManuelRomero (Discusión | contribuciones)

(dif) ← Revisión anterior | Revisión actual (dif) | Revisión siguiente → (dif)
Saltar a: navegación, buscar


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

CicloVida Monitorizacion BusquedaHost.png
Actúo en el método

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