Diferencia entre revisiones de «Usuario:ManuelRomero/proyecto/proyectoIternova/codigo»
De WikiEducator
Línea 114: | Línea 114: | ||
</source> | </source> | ||
− | + | <source lang=php> | |
− | * | + | |
− | + | class Monitorizacion_Model { | |
− | + | ||
− | + | /** | |
+ | * @var string $_db_collection Nombre identificador de la coleccion en la base de datos | ||
+ | */ | ||
+ | private static $_db_collection = 'monitorizacion'; | ||
+ | |||
+ | /** | ||
+ | * @var string $_id Identificador de registro dentro de la coleccion monitorizacion | ||
+ | */ | ||
+ | public $_id = null; | ||
+ | |||
+ | /** | ||
+ | * | ||
+ | * @var string ip del host que estamos monitorizando | ||
+ | */ | ||
+ | public $host = ''; | ||
+ | |||
+ | /** | ||
+ | * | ||
+ | * @var string nombre del host que estamos monitorizando | ||
+ | */ | ||
+ | public $host_name = ''; | ||
+ | |||
+ | /** | ||
+ | * | ||
+ | * @var array de string lista de servicios que estamos monitorizando | ||
+ | */ | ||
+ | public $servicios = []; // | ||
+ | |||
+ | /** | ||
+ | * | ||
+ | * @var string url del servidor de nagios que nos da el servicio para este host | ||
+ | */ | ||
+ | public $nagios_id = ''; | ||
+ | |||
+ | /** | ||
+ | * | ||
+ | * @var string identificador del servidor de nagios | ||
+ | */ | ||
+ | public $nagios_name = ''; | ||
+ | |||
+ | /** | ||
+ | * | ||
+ | * @var string descripcion de esta monitorizacion concreta (host con n servicios); | ||
+ | */ | ||
+ | public $descripcion = ''; | ||
+ | |||
+ | </source> |
Revisión de 01:26 8 sep 2017
Casting los objetos a arrays
Para evitar problemas si una acción me retorna un objeto o un array, convierto siempre todo a array
- Metodo
Controller_Utils::cast_object_to_array($obj)
- Muy bueno que lo hace de forma recursiva.
Estructura de datos
- Servidor nagios
["_id"] => string(24) "5762657febcfa667008b456b" ["url"] => string(17) "http://172.17.0.3" ["host"] => string(12) "e490a9185700" ["usuario"] => string(5) "admin" ["password"] => string(5) "admin" ["descripcion"] => string(35) "Servidor nagios de prueba en docker"
- Host
["_id"] => string(24) "57627b58ebcfa6780f8b4569" ["host"] => string(10) "172.17.0.3" ["host_name"] => string(12) "e490a9185700" ["servicios"] => array(5) { [0] => int(1) [1] => int(2) [2] => int(3) [3] => int(4) [4] => int(5) } ["nagios_id"] => string(24) "5762657febcfa667008b456b" ["nagios_name"] => string(12) "e490a9185700" ["descripcion"] => string(51) "El equipo donde tengo nagios que quiero monitorizar"
- servicios
const SERVICIO_UNDEFINED =-1; //Servicio no definido const SERVICIO_SSH = 1; //SSH const SERVICIO_HTTP = 2; //Servicio http const SERVICIO_MYSQL = 3; //Servicio uso mysql const SERVICIO_DISCOS = 4; // Current_load const SERVICIO_CPU= 5; //Servicio uso de cpu const SERVICIO_PING=6; //PING
- Tradución de los servicios
monitorizacion.servicios.ssh=Servicio de uso de ssh monitorizacion.servicios.http=Servicio de uso web con http monitorizacion.servicios.mysql=Servicio de uso de mysql monitorizacion.servicios.discos=Serivicio de uso de discos monitorizacion.servicios.cpu=Servicio de uso de cpu monitorizacion.servicios.ping=Servicio de ping monitorizacion.service.not_defined =Servicio no definido monitorizacion.descripcion=Descripción
- Pendientes
- mirar crondaemon Mirar en la wiki añadida en la clase de stats
- Webbin *Webbinario que me pasa para mirar ??????
- MongoDB + time-series:
- https://www.mongodb.com/presentations/webinar-mongodb-time-series-data-setting-stage-sensor-management - https://www.mongodb.com/presentations/mongodb-time-series-data-part-2-analyzing-time-series-data-using-aggregation-framework
- 9/10/2016
- Errores varios al visualizar las monitorizaciones
Estaba $obj->nombre y no es un campo de la colección de monitorizacion (host host_name nagios nagios_name, descripcion, servicios)
- Camibio en el directorio stats' del módulo de monitorizacion el nombre de los siguientes ficheros
smarapps_ **** por monitorizacion_*****
- Usado para hacer estadísticas
- Me quedo modificando lo de los servicios
- A partir de intentar borrar una monitorización, he añadido el método get_servicios en controller.
- Esto me ha provocado una serio de errores, volver a lo de monitorizar host
3/5/2016
- Fichero Monitoriazacion_Constants
- Crear una constante por servicio a monitorizar
- Añadir un método que retorne un array con el id del servicio seleccionado y el texto asociado
- Menú
- Que aparezcan un checkbox con los servicios (p.e.)
SSh HTTp Mysql Discos cpu
;En es_ES.lang monitorizacion.servicios=Servicios a monitorizar; ;En monitorizacion:constats.php /** Carga un array con los servicios que los diferentes servidores de nagios podrán monitorizar * @return array asociativo con la lista de servicios */ public static function servicios(){ $servicios =["http"=>"Tráfico http","cpu"=>"Uso de cpu","Mysql"=>"Uso de base de datos Mysqlt"]; return $servicios; } ;en monitoriazación_view.php método static edit /*MRM aquí crearemos los checkbox para los servicios*/ $servicios = Monitorizacion_Constants::servicios(); $error[] = Controller_Forms::field(array('field_type' => 'checkbox_multiple', 'field_id' => 'servicio', 'field_title' => Idiomas_Controller::translate('monitorizacion.servicio', $idioma, $langfile), 'array_keys'=> array_keys($servicios), 'array_values'=>array_values($servicios), 'array_titles'=>array_values($servicios) // 'array_checked'=>$array_checked, 'first' => $first ) )); /*MRM_END*/
class Monitorizacion_Model { /** * @var string $_db_collection Nombre identificador de la coleccion en la base de datos */ private static $_db_collection = 'monitorizacion'; /** * @var string $_id Identificador de registro dentro de la coleccion monitorizacion */ public $_id = null; /** * * @var string ip del host que estamos monitorizando */ public $host = ''; /** * * @var string nombre del host que estamos monitorizando */ public $host_name = ''; /** * * @var array de string lista de servicios que estamos monitorizando */ public $servicios = []; // /** * * @var string url del servidor de nagios que nos da el servicio para este host */ public $nagios_id = ''; /** * * @var string identificador del servidor de nagios */ public $nagios_name = ''; /** * * @var string descripcion de esta monitorizacion concreta (host con n servicios); */ public $descripcion = '';