-
Notifications
You must be signed in to change notification settings - Fork 2
/
NOTAS
391 lines (280 loc) · 22.8 KB
/
NOTAS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
CAMBIOS
=======
Abril-Mayo 2018
- Bug arreglado: problemas en determinacion de dominio para seguimiento en IES con "ns" en el nombre.
- Adaptado la actualizacion del estado puppet para el trabajo con UUID en lugar de con nombres de host.
- Eliminado facter is_ltsp.rb. Ahora se definira manualmente como un facter en /etc/escuela2.0
- Al instalar los paquetes clientes se modifica cupsd.conf para "JobPrivateValues none". Asi tea4cups puede ver el propietario.
- Bug arreglado: los facter use y tipo tomados de /etc/escuela2.0 se procesaban mal en el seguimiento, produciendo confusion con tipo_imagen e use2.
- Bug arreglado: controlies-seguimiento siempre llamaba a /usr/share/controlies-client/seguimiento_equipo. Se modifica para que funcione en ltspservers.
- Logprinter: arreglado problemas de formato con campo time al generar pdf.
- Logprinter: nueva opcion de informe "sumarizado" por profesor, sin detalle.
- Logprinter: nueva opcion borrado de log de antiguos trabajos de impresion entre dos fechas dadas.
Notas instalación version 0.7.0-7:
-Copiar instala_controlies.zip en /etc/puppet/modules y descomprimir.
El controlies en el servidor se instala dpkg -i dpkg -i /etc/puppet/modules/instala_controlies/files/controlies_0.7.0-7_all.deb. Si da error con /var/www/.ssh borrar ese directorio y reinstalar.
El controlies en el cliente se pone con include "instala_controlies" en /etc/puppet/manifests/classes/xubuntu/especifica-xubuntu-linex-2015.pp. Es conveniente empezar probando en varios pc primero y
luego extenderlo a todo el centro:
case $hostname {
"a02-pro","a32a-pro","depleng-o01": {
include "instala_controlies"
}
default: {
}
}
-Servidor ldap: el paquete controlies del servidor viene configurado para LDAP Seguro. Si no lo tenemos seguro nos dará error de validación al entrar en http:/ldap/controlies
En ese caso ha que editar el fichero servidor:/var/web2py/applications/controlies/models/db.py y comentar la línea 95 y descomentar la línea 98. Reiniciar despues apache2.
-Clientes: a partir de ahora, si el equipo tiene thinclients hay que definirlo mediante el facter is_ltsp=true en /etc/escuela2.0. De esta manera se instala controlies-ltspserver. En caso contrario
se instala controlies-client.
-Servidor ldap: si se tocó en el fichero servidor:/etc/puppet/puppet.conf para permitir seguimiento de las actualizaciones de puppet hay que volver a dejarlo bien. Es decir, debe estar
reports=store
en lugar de
reports=store,http
reporturl=http://ldap.<tudominio>/controlies/init/registro/actualizalogpuppet
-Thinclients: si el aula tiene thinclients y quieres realizar seguimiento para ellos, para que se identifique bien su nombre en el seguimiento hay que meter el servidor DNS de nuestro centro en
/opt/ltsp/i386/etc/resolv.conf
nameserver 172.X.Y.Z
search tudominio
o en
/opt/ltsp/i386/etc/lts.conf (no probado)
DNS_SERVER=172.X.Y.Z
SEARCH_DOMAIN=tudominio
y regenerar imagen de thinclients.
-Servidor ldap: si hay errores en la ejecución de controlies se pueden depurar según: http://2tazasdelinux.blogspot.com.es/2016/09/depurar-errores-de-importacion-en.html
-Servidor ldap: si se quiere acceder por la puerta trasera a la BBDD msql donde se almacena todo para consultar o realizar borrados de dato en el servidor hacemos
apt-get install sqlite3
sqlite3 /var/web2py/applications/controlies/databases/controlies.sqlite
Una vez dentro:
.help: todos los comandos
.schema: estructura de tablas de la BBDD
.quit: salir
Cualquier SQL soportado por SQLite, por ejemplo: select * from log_printer;
Julio 2016
- Adaptaciones a clientes Ubuntu 14.04. Retoques.
- Resolución de bugs pendientes
- Fusion y limpieza de las clases puppet instala_controlies y actualizaciones_controlies
13 febrero 2016
-Adaptacion de clientes a Ubuntu 14.04. Ver changelog.
Enero 2016:
-Adaptacion a servidor Debian Jessie.
9 Abril 2015
-Incluida compatibilidad con los servidores de aula nuevos con facter use=aulatic-profesor-wheezy. Avisado
por Manuel Cienfuegos.
-Adaptada la generación de la imagen de thinclients en la tarea puppet instala_controlies para que sea
compatible con los servidores de aula wheezy. Avisado por Fran (IES Univ. Laboral)
-Añadido a seguimiento_equipo la comprobacion de bloqueo de /var/lib/apt/lists/lock, para evitar
en ese caso el apt-get check.
3 Noviembre 2014
-Integracion de controlies-seguimiento con los portatiles wheezy
-Tareas puppet adaptadas a equipos Wheezy
Octubre 2014
-Cambios para añadir mas datos a los nodos de portatiles en ldap
-Asignacion automatica de alumnos
-Multicheck en Usuarios y Equipos de alumnos
-Separacion de los campos Nombre y Apellidos de los usuarios
15 Junio 2014
-Compatibilidad con Debian Wheezy: modificado subwsgihandler.py para que enrute correctamente las URL.
-Compatibilidad con Debian Wheezy: modificado modulo Config.py para dar formato correcto a las fechas al
construir el mensaje de correo con el resumen de estado del centro.
-Compatibilidad con Debian Wheezy: modificados modulos Hosts.py y Thinclients.py para que apliquen bien los
filtros del grid.
20 Mayo 2014
-Modificado registro.py para que no registre un error intermitente que aparece a veces en la sincronización de puppet. Es un error causado por un
bug de la versión de puppet usada, que hace que el cliente puppet no pueda conectar totalmente con el servidor puppet. Si lo intenta al poco rato
ya si puede conectar sin problema, asi que ignoramos ese error.
27 marzo 2014
-Modificado paquete controlies-client para portatiles. Ismael Muñoz detecta un bug grave que hace que no se envien datos de seguimiento de portatiles
si estos no estan conectados a la red cuando el usuario hace login. Modificado el paquete para que se envien los datos tan pronto como el portatil
obtenga una ip valida. El dispatcher.d de NetworkManager no puede manejar esto y hemos tenido que modificarlo para que se llame a
dhcp/dhclient-exit-hooks.d, que por defecto queda inutilizado por NetworManager.
19 marzo 2014
-Modificado codigo de seguimiento de maquinas para que no se produzca error cuando el fichero /var/lib/dpkg/lock esta bloqueado.
-Añadido script de "controlies-seguimiento" a los clientes, que se ejecutara al recibir IP. Usado para los portatiles que se encienden sin conexion a red.
7 marzo 2014
-Modificado el seguimiento puppet para adaptarse al formato del nuevo servidor puppet para Wheezy, ya que no es compatible con el que tenemos.
Asimismo se procede a borrar en cada actualizacion las clases antiguas asociadas a un equipo, para tener la lista siempre actualizada con los
datos de las clases aplicadadas realmente.
-Arreglado bug en seguimiento de equipos que provocaba fallos en la deteccion del estado de paquetes, ya que no detectaba que estaba corriendo
aptitude y solo preguntaba por pkgsync.
-Arreblado bug en paquete controlies-client: el script de desinstalacion no limpiaba todo lo que se había instalado.
24 febrero 2014
-Arreglado bug en seguimiento de aula con nombre de equipo de profesor (problema mays-mins).
-Modificado seguimiento de aula para que muestre actividad en aulas de workstations y portátiles (se ha añadido un campo "aula" a la tabla
de sesiones):
-Hecho para workstations -> el nombre del aula se saca del prejijo de nombre del pc.
-Hecho para portatiles -> el nombre del aula se pregunta via XMLRPC a 192.168.0.254
-Modificado RPCServer.py para que incluya función para devolver el nombre del equipo y se aporta seguridad permitiendo solo llamadas
desde el servidor ldap a las funciones mas senssibles.
7 febrero 2014
-Arreglado bug en el seguimiento de tareas puppet de portatiles.
-Separado el envio de informes por correo en dos correos distintos: informe de hosts e
informe de thinclients.
30 enero 2014
-Arreglado bug en config.html con los checkbox (notificado por Paco IES Téllez)
-Incluida clave externa en la tabla clases_puppet_host
23 enero 2014
-Añadido un nuevo seguimiento: seguimiento de tareas puppet
-Al actualizar un equipo por puppet, recopila todas las clases que se le aplican junto con
el resultado de ejecución de la clase.
-Todo puede consultarse en un grid maestro-detalle:
-Maestro: muestra nombre de clase puppet, tipo de equipo sobre el que se aplica,
fecha de primera detección de la clase, nº de equipos que han informado de que
se ha aplicado sobre ellos y nº de equipos en los que ha dado error
-Detalle, al pinchar sobre una fila del grid de una clase puppet: lista de equipos
donde se ha aplicado, fecha de la última ejecución sobre dicho equipo y estado
(ok/error) de la ejecución.
-En las sesiones de los usuarios en los thinclient muchas veces no se registraba la
hora de logout, ya que el thinclient era apagado bruscamente. Para evitar esto se adopta
la siguiente estrategia: mientras que el usuario está dentro del thinclient, cada 2 minutos
se manda un mensaje para actualizar la hora de logout con la hora actual. De esta manera:
-Si el equipo se apaga bruscamente, sabemos hasta que hora estuvo el usuario
con 2 minutos de error.
-Si el equipo se apaga bien, al cierre de la sesión un script actualiza la
hora de logout correcta.
-Arreglado bug que hacia que no se despertasen los clientes si en su MAC en ldap había
espacios en blanco al final (Notificado por Ismael- IES Gonzalo Korreas).
20 Enero 2014
-Arreglado problema con los datePicker en todos los formularios que piden fechas
para filtrar, forzado el formato de fecha español (notificado por Paco-IES Téllez)
-Modificado el seguimiento de impresión:
-Se añade un botón en cada fila del grid para borrar el registro. Para eliminar
pruebas o registros con datos incorrectos.
-Se remodela la opción de ver el registro de impresión, en una ventana aparte
con todos los datos del usuario y del registro.
-Se incluye una opción para editar un registro de impresión y modificar dos campos:
nº de páginas y nº de copias. Esto se hará cuando se quiera retocar un trabajo que
haya quedado mal contabilizado por fallos en el driver de impresión o en tea4cups.
-Reorganizado el formulario de Gestion/Configuración,
-Los campos sean mas fáciles de ver, son mas anchos.
-La contraseña del correo no es visible.
-Se incluye un botón nuevo, para enviar por correo un informe del estado de los equipos.
-Se incluye un grid para meter las franjas horarias del centro, que se usarán en el
seguimiento de aulas.
-Añadido un nuevo seguimiento: seguimiento de aulas de thinclients.
-Pide un aula (por ejemplo: "a04", en general lo que precede al -pro de un servidor
de aula) y una fecha y muestra un grid con la actividad del aula en esa fecha. En
las columnas están las franjas horarias y en las fila los thinclients. Se ven los
encendidos, los logines de los usuarios y el estado de teclado y ratón en cada encendido.
20 Diciembre 2013
-Modificado seguimiento de impresión para que los filtros aplicados al grid se apliquen tambien al
generar el csv para descargar.
-Modificado seguimiento de impresión para generar directamente informes con PDF, totales y agrupados
por usuario. Se aplican los mismos filtros que hay en el grid.
16 Diciembre 2013
-Configurado un control independiente de las alertas de teclado, ratón y apagado en thinclients.
En la pantalla de configuración pueden activarse por separado.
-Mejorada la detección de thinclients apagados, pero sigue dando falsos positivos en ocasiones. Es
díficil hacer un sistema infalible, ya que siempre se detectan por medios indirectos.
-Arreglados bugs en grid de thinclients, no dejaban ordenar por columnas de fecha y estados
de teclado y ratón. En el grid histórico de un thinclient se desactiva la ordenación, no es
necesaria.
11-Diciembre 2013
-Definidos stages en las tareas puppet, para que primero se ejecute instala_controlies y despues
actualizaciones_controlies
-Corregido bug informado por Francisco Lancharro: los campos boolean de la configuración no se procesaban
como enteros (sqlite los guarda internamente como enteros) y los checkbox de la vista correspondiente no
aparecian como marcados cuando el valor en la tabla era True.
-Corregido bug informado por Manolo Vadillo: modificado paquete controlies-client para que se llame a
script seguimiento-equipos inmediatemente en cada reboot, mediante @reboot en crontab. De esta manera la
hora de ultimo arranque del equipo se actaliza ipso-facto en el arranque y no cuando lo llame el crontab.
4-Diciembre 2013:
-La parte de los clientes se hace mediante paquetes debian, para facilitar su instalación.
-La tarea puppet se divide en tres subtareas, para permitir actualizaciones mas cómodas y puntuales.
-Se mejora la gestión de portátiles.
-Se incluyen agrupamientos en el grid de registro de impresión.
-Arreglado bug en la visualización de equipos en tiempo real, necesitaba la rama laptop_hosts en ldap.
-Incluida funcionalidad que permite la ejecución de comandos remotos en tiempo real sobre las maquinas
seleccionadas.
-Se cambian los calendarios para que usen el de jquery, con mas funcionalidades y mas homogéneos con el resto.
5-Noviembre 2013:
-Hecho Merge con la rama principal, para incluir los últimos cambios de Manu Mora (portátiles, limpieza de
código de debug y mensajes traducidos).
-Mejorada la gestión de envío de correos electrónicos, con verificaciones de la cuenta antes del envío.
-Envio de correos electrónicos ante determinados eventos:
-Uno de resumen de todas las indidencias encontradas en thinclients y resto de hosts. Se envía
de momento desde la configuración de correo, en el botón de prueba.
-Uno cada vez que se detecte una desconexión de teclado y/o ratón.
-Uno que se ejecute cada vez que se enciende una máquina determinada que queremos monitorizar.
-En el grid de seguimiento de equipos se añade una columna checkbox de "Alerta", que marca el equipo para que
cuando se encienda nos llegue un correo electrónico avisando.
-En el seguimiento de equipos incluido un icono para eliminar equipos antiguos (para limpiar portátiles
y equipos de años anteriores y desasignados).
-En Gestión/configuracion se añaden dos nuevas opciones: una para activar el envío de correos ante la
desconexión de teclados y ratones, y otra activar el envío de correo resumen de las incidencias en las
máquinas del IES.
-La consulta de thinclients era muy lenta conforme van aumentando los datos, ya que era demasiado compleja y
sqlite no la resolvía bien. Solucionado diviendo la consulta en dos consultas mas pequeñas y poniendo
código python intermedio. Ahora va mucho mas rápida.
-Implementada idea de Ana Belén Cerezo: monitorizar teclado y ratón para clientes ligeros continuamente,
no solo en el arranque. Asi se detecta en que momento pierden la conexión. Es un script ejecutado por
crontab en los thinclients que mira estado de teclado y ratón, y lo compara con el estado anterior, mandando
un mensaje al momento de detectar cualquier variación. Por desgracia, solo funciona para teclados y ratones
USB, los PS/2 solo permiten detectar la conexión/desconexión en el arranque del sistema.
-Reorganizados los menús de seguimiento, tal como lo ha hecho Manu Mora.
-Actualizada tarea puppet con nuevos scripts.
12-julio-2013:
-Añadido control de documentos impresos en Linux mediante tea4cups y pkpgcounter.
10-octubre 2013:
-Arreglado bug en el script despierta_clientes, que hacía que los thinclients que no estuviesen en la rama group1 del arbol ldap fuesen ignorados. Reportado por
Ana Belén Cerejo Cortijo.
-Arreglado bug en pkpgcounter en impresoras HP-10XX con filtro foo2zjs (Zenographics), ya está notificado a Jerome (creador del tea4cups). Se cambia la clase
python pertinente del paquete pkpgcouter para que tenga en cuena la cabecera PJL que éste filtro añade al fichero mandado a la impresora. Es un parche sobre el
paquete original, de tal forma que si dicho paquete se actualiza se perderá el cambio. De momento se queda así hasta que Jerome parchee la aplicación y la envie
a los empaquetadores de Debian. Reportado por: Paco (IES Téllez).
-Modificadas las cabeceras del script seguimiento_thinclient para que solo se ejecute en el nivel 2, al encendido, ya que ahora ha dejado de hacer caso
al update-rc y se mete en todos los niveles, generando llamadas repetidas a controlies. Solucionado por Paco da con la solucion y modifica script y tarea puppet.
17-junio-2013:
-Definidos índices en las tablas de la BD.
-Seguimiento: modificado el interface para que permita llamadas por xmlrpc, no solo por wget/REST, con vistas a permitir que los scripts cliente en el futuro sean en python y no en bash.
-Seguimiento de usuarios: no se ha tocado nada.
-Seguimiento de máquinas:
-En el grid de sesiones de usuario para una maquina dada, al pulsar sobre el usuario sale una ventana con su foto y datos.
-Una misma máquina, con arranque dual en Windows y Linux se guarda en dos registros separados apareciendo dos veces en la lista, una por cada sistema operativo. Al mostrar las
sesiones de usuario de esa máquina solo se muestran las de Windows o las de Linux, no ambas mezcladas.
-Cuando la fecha del último puppet y/o pkgsync es anterior en 24 horas a la del ultimo arranque, aparece resaltada en naranja en el grid, como aviso de que algo puede ir mal.
-Arreglado bug que hacía que en los equipos duales los datos de puppet se guardasen tanto en el registro de los Linux como de los Windows.
-Seguimiento de thinclients:
-Quitado el filtro de consulta por fechas, ya que no servía para nada (solo nos interesa el estado último de los thinclients) y ralentiza el proceso de consulta.
-Añadido un botón que elimina todos los registros de thinclients anteriores a 30 dias. Es solo de prueba, ya que se ha añadido un proceso en el crontab de controlies que hace
lo mismo automáticamente cada noche.
-Al pulsar sobre un thinclient, en el grid de la derecha ya no solo aparecen el histórico de estados previos de teclados y ratones, también aparecen los logines de los usuarios
que han iniciado sesión en esos equipos. Pulsando sobre un usuario aparece su ficha con datos y foto.
-Nueva opción->Gestion/Configuracion: permite definir los parámetros de una cuenta de correo (la he probado con gmail sin problemas) para enviar mensajes automáticos desde controlies.
Con vistas a enviar informes periódicos automatizados al administrador. He añadido un botón para probar in situ si funciona.
-Wpkg:
-Modificado wpkg.js para que las conexiones sean con user-agent Mozilla en lugar de Internet Explorer, de tal forma que el Squid no las bloquee.
-Entre los datos del informe enviado al Controlies se incluye la IP del equipo Windows en el momento de hacer enviar los datos.
-Puesto try..catch en todas las llamadas de envio de datos, para que si se produce un error de comunicación no se haga nada. Ahora sacaba una ventana de alert que
despistaba mucho al usuario. También se ha puesto en los scripts que controlan el login/logout de los usuarios Windows.
-Scripts instalados mediante puppet:
-Se modifican los scripts para que averiguen el dominio del IES (gracias, Paco), ya que había imágenes donde daba problemas de conexión si no se ponía el dominio.
-Al verificar el estado de paquetes en el script seguimiento_equipos se producía un "falso positivo" de error si en ese momento se está ejecutando el pkgsync en dicho ordenador.
Para evitarlo se comprueba si hay un pkgsync en marcha y, en caso afirmativo, se deja la comprobación del estado del sistema de paquetes para la siguiente revisión.
Mayo-2013:
-Arreglo de varios bugs menores.
22-Marzo-2012:
-Incluido seguimiento en thinclients de teclados y ratones.
-Ahora todos los scripts averiguan el dominio del centro para añadirlo en las peticiones ldap.
-El script de seguimiento de equipos, al verificar el estado del sistema de paquetes no se daba cuenta de si los repositorios estaban bien o mal, normalmente por
problemas de firmas. Ahora lo verifica y pone el estado a "ERROR" si ve que no se puede acceder a algún repositorio.
-El script wpkg.js no avisaba siempre si había errores en el log del wpkg y por dicho motivo había equipos donde fallaba un paquete pero no te enterabas.
-Varios cambios estéticos.
29-Enero-2013: versión inicial beta.
19-Diciembre-2012: version alfa subida a github.
TODO
====
-Cambiar los scripts y hacerlos en python. El envio de datos debe ser por xmlrpc. Dejar el envio de datos por wget solo para puppet (no hay otra opción) y
para windows (no hay otra opción).
-El borrado nocturno mediante crontab del seguimiento de clientes no funciona. Averiguar la causa. Parece ser que va con la configuración
del crontab de web2py.
-El correo resumen de estado de equipos debe enviarse tambien mediante un cron.
-Integrar sarg: http://sourceforge.net/p/sarg/discussion/363374/thread/e95afce5/
-A veces al escribir en registro.py da error de database locked y falla alguna inserción de datos (visto en errors), ya que sqlite bloquea la base de datos
completa cuando está haciendo una consulta y si esta es muy pesada puede tardar un rato en desbloquearla. Meter en ese caso un temporizador aleatorio y 3
retries si observo que se repite con frecuencia.
-Posibilidad comentada por profesor del IES: hacer capturas de pantalla periódicas de un alumno concreto y guardarlas en un directorio seguro, para hacer
un seguimientovisual de lo que hace.
-Llevar control de impresión también para los Windows. Hay que hacer un servicio en C# que monitorice los eventos de impresión, usando el ensamblado
PrintedPages....
-Grid con informe detallado de un aula en un día concreto...en desarrollo
-Integrar el script de actualización de fotos desde Rayuela de desarrollo.educarex.es