Diferencia entre revisiones de «Usuario:ManuelRomero/proyecto/proyectoIternova/bitacora»
(→Actual) |
|||
Línea 3: | Línea 3: | ||
===Bug=== | ===Bug=== | ||
Si cambio el nombre de un servidor nagios, no se actualiza su nombre en el atributo del host a monitorizar (donde se especifica el servidor nagios que lo monitoriza). | Si cambio el nombre de un servidor nagios, no se actualiza su nombre en el atributo del host a monitorizar (donde se especifica el servidor nagios que lo monitoriza). | ||
+ | <source lang=bash> | ||
+ | root@5c43117b78e8:/var/www/smartroads-core/core/crondaemon# php crontab.php | ||
+ | </source> | ||
+ | *Produce la siguiente salida | ||
+ | <source lang=bash> | ||
+ | PHP Warning: Module 'apcu' already loaded in Unknown on line 0 | ||
+ | PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/gearman.ini' - /usr/lib/php5/20121212/gearman.ini: cannot open shared object file: No such file or directory in Unknown on line 0 | ||
+ | |||
+ | core/crondaemon - crontab - session loaded | ||
+ | core/crondaemon - crontab - controllervars loadedPHP Fatal error: Class 'MongoClient' not found in /var/www/smartroads-core/core/controller/database/controller_database_mongodb.php on line 1077 | ||
+ | |||
+ | </source> | ||
+ | |||
+ | REVISAR INSTALACION german y mongoClient | ||
===Actual=== | ===Actual=== | ||
+ | 19/12/2016 | ||
+ | *Respecto al cron | ||
+ | Mirar los errores que da al ejecutar php Crontab.php, un módulo para cargar ejecutar cada x tiempo mi método de recoger dátos de los servidores nagios | ||
+ | |||
+ | ===Configuración de cron=== | ||
+ | Copiamos el método '''''crondeamon.php''''' en el contronlador de monitorizacion Controller_Monitorizacion | ||
+ | <source lang=php> | ||
+ | // Cargamos objeto de configuracion | ||
+ | $object_configuration = new Crondaemon_Model( 'monitorizacion' ); | ||
+ | |||
+ | // Obtenemos datos para gestion de la funcion | ||
+ | $datetime_now = date( 'Y-m-d 00:00:00' ); | ||
+ | // time_last_execution MRM atributo de params | ||
+ | $datetime_last_execution = $object_configuration->get_module_param( 'monitorizacion', 'time_last_execution' ); | ||
+ | // La tarea se ejecutara por minuto | ||
+ | $default_time_interval = Controller_Constants::SECONDS_MINUTE; | ||
+ | |||
+ | // Comprobamos que, desde la ultima ejecucion, haya pasado el tiempo necesario para actualizar los datos diarios | ||
+ | if ( $datetime_last_execution == '' || Controller_Utils::date_compare( $datetime_now, $datetime_last_execution ) >= $default_time_interval ) { | ||
+ | // Actualizamos fecha de ultima actualizacion | ||
+ | $object_configuration->set_module_param( 'monitorizacion', 'time_last_execution', $datetime_now ); | ||
+ | |||
+ | // Actualizamos estadisticas diarias | ||
+ | self::get_data_server_nagios(); | ||
+ | } | ||
+ | |||
+ | // Y devolvemos objeto de configuracion de crondaemon actualizado | ||
+ | return $object_configuration->set(); | ||
+ | |||
+ | } | ||
+ | </source> | ||
+ | *Después se modifica el ini, añadiendo esta configuración del módulo | ||
+ | ./core/crondeamo/cronjobs.ini | ||
+ | *En ese fichero añadimos el módulo de monitorización | ||
+ | <source lang=php> | ||
+ | [monitorizacion] | ||
+ | file="modules/monitorizacion/monitorizacion_controller.php" | ||
+ | method="Monitorizacion_Controller::crondaemon"; | ||
+ | </source> | ||
+ | |||
+ | *Luego lo configuramos en el sistema ejecutando en línea de comandos | ||
+ | <source lang=bash> | ||
+ | crontab -e -u www-data | ||
+ | *Se abre un fichero de configuración de crontab y escribimos * * * * * para ejecutarlo cada minuto ???? | ||
+ | </source> | ||
+ | Ahora podemos ver lo que pasa en el log | ||
+ | <source lang=bash> | ||
+ | cd /var/www/smartroads-core/logs/ | ||
+ | 272 less crondaemon.log | ||
+ | </source> | ||
<hr /> | <hr /> | ||
12/12/2016 | 12/12/2016 |
Revisión de 23:19 19 dic 2016
Bug
Si cambio el nombre de un servidor nagios, no se actualiza su nombre en el atributo del host a monitorizar (donde se especifica el servidor nagios que lo monitoriza).
root@5c43117b78e8:/var/www/smartroads-core/core/crondaemon# php crontab.php
- Produce la siguiente salida
PHP Warning: Module 'apcu' already loaded in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/gearman.ini' - /usr/lib/php5/20121212/gearman.ini: cannot open shared object file: No such file or directory in Unknown on line 0 core/crondaemon - crontab - session loaded core/crondaemon - crontab - controllervars loadedPHP Fatal error: Class 'MongoClient' not found in /var/www/smartroads-core/core/controller/database/controller_database_mongodb.php on line 1077
REVISAR INSTALACION german y mongoClient
Actual
19/12/2016
- Respecto al cron
Mirar los errores que da al ejecutar php Crontab.php, un módulo para cargar ejecutar cada x tiempo mi método de recoger dátos de los servidores nagios
Configuración de cron
Copiamos el método crondeamon.php en el contronlador de monitorizacion Controller_Monitorizacion
// Cargamos objeto de configuracion $object_configuration = new Crondaemon_Model( 'monitorizacion' ); // Obtenemos datos para gestion de la funcion $datetime_now = date( 'Y-m-d 00:00:00' ); // time_last_execution MRM atributo de params $datetime_last_execution = $object_configuration->get_module_param( 'monitorizacion', 'time_last_execution' ); // La tarea se ejecutara por minuto $default_time_interval = Controller_Constants::SECONDS_MINUTE; // Comprobamos que, desde la ultima ejecucion, haya pasado el tiempo necesario para actualizar los datos diarios if ( $datetime_last_execution == '' || Controller_Utils::date_compare( $datetime_now, $datetime_last_execution ) >= $default_time_interval ) { // Actualizamos fecha de ultima actualizacion $object_configuration->set_module_param( 'monitorizacion', 'time_last_execution', $datetime_now ); // Actualizamos estadisticas diarias self::get_data_server_nagios(); } // Y devolvemos objeto de configuracion de crondaemon actualizado return $object_configuration->set(); }
- Después se modifica el ini, añadiendo esta configuración del módulo
./core/crondeamo/cronjobs.ini
- En ese fichero añadimos el módulo de monitorización
[monitorizacion] file="modules/monitorizacion/monitorizacion_controller.php" method="Monitorizacion_Controller::crondaemon";
- Luego lo configuramos en el sistema ejecutando en línea de comandos
crontab -e -u www-data *Se abre un fichero de configuración de crontab y escribimos * * * * * para ejecutarlo cada minuto ????
Ahora podemos ver lo que pasa en el log
cd /var/www/smartroads-core/logs/ 272 less crondaemon.log
12/12/2016
- Problemas con los servicos SSH Mysql y http
- Revisar los índices puestos en la configuración de los nagios
- Para resolver esto vuelvo a instalar nagiso y apunto los nombres por defecto que usa nagios para los diferentes servicios
- SSH SSH
- Discos Disk
- Http HTTP
- ping PING
- mysql Mysql
"service_description": "CPU", Load
28/11/2016 [OK]*Cuando guardo los servicios también se guarda el valor 6. En teoría solo hay 5 valores ==> Falsa alarma, el problema es que hay un scrolling y ahí si que sale el 6º servicio MEJORAR => que aparezcan todos los servicios y no el scrolling
- 16/11/2016
- Instalo el api para probar lo de nagios
- descargo el fichero nagios-api (lo tengo en descargas y en la carpeta del proyecto).
- Debo de ejecutar el sql que tiene, cuidado que no tiene el create database , lo añado, es la base de datos smartembedded_na
- Mirar el fichero modulo.ini para ver otros parámetros de configuración como usuario y passoword
- El objetivo es que escribiendo en el url http://172.17.0.3/nagios-api/getternagios/data me aparezca el resultado de monitorizar a alguien
- activo todos los servicos que necesito en esta máquina apache2 - mysql - nagios3 - nagios-nrpe-server
- Estoy en el contenedor nagios1 172.17.0.3 y nombre e490a9185700
- Activo los módulso rewrite y cgi (el segundo no sé muy bien porqué)
a2enmod rewrite a2enmod cgi
- instalo mysqli
apt-get install php-mysql
- 16/06/2016
- Crear una nueva función para que recoja lo que me de al api de conexión al nagios
1.- Creo una función en config/test/modules llamda monitorizacion
De momento solo creo un método view_data_server_nagios
2.- En monitorizacion controller
- 14/06/2016 ==> OK
- Tengo que modificar el modelo de la monitorización y guardar el _id de los servidores nagios y el nombre
- Acciones
- Cambiar el modelo y vista de monitorizacion para los campos (ahora un select)
- añadir un método en el modelo del nagios para que retorne la lista (_id y nombre) de los servidores nagios
- modelo monitorizacion
- atributos
add nagios_id y nagios_name
- método set
- método object_encode_data
- modelo nagios
- add método get_servidores
- view monitorizacion
- view
aquí cargo los datos del modelo de nagios con get_servidores
- edit
cambio el field a select
- listing
camibo nagios_host a nagios_name
- Asignando datos
- en controller método edit tengo que pillar el name e _id y dárselo a PSOT
- 27/05/2016
- Tengo un error en visualizar los datos una vez guardados
- 10/05/2016
- Vamos a mirar que cargue bien los datos
- Que funcione el edit, el borrar y el visualizar cada uno de los registros guardados
- Vamos anotando el significado del funcionamiento del MVC
- 6/05/2016
Ahora al insertar un nuevo elemento a monitorizar y darle aceptar me ocurre que me duplica en un formulario la información de lo que acabo de inertar
- El dar a aceptar ejecuta la opción edit del controller, me quedo aquí mirando eso
- Solucionado (sobraba un div)