Limpieza de los archivos de auditoría
Cuando se activa la auditoría, se debe supervisar el espacio en disco para determinar si es necesario limpiar el elemento AuditArchiveFileRepository del subsistema de auditoría. Las siguientes métricas pueden ayudar en la decisión sobre la necesidad de limpiar el almacén:
AuditArchiveDiskSpaceUsed (se muestra en MB): cantidad de espacio en disco que el almacén de archivo utiliza.
AuditArchiveFreeDiskSpace (se muestra en MB): cantidad de espacio en disco que permanece libre.
Hay dos cosas del programador para el servicio ExportAuditData:
AuditArchiveCleanupScheduler: por defecto, se programa un trabajo el último viernes de cada mes a las 18:00 h. El trabajo llama al servicio CleanUpOfflineAudit y se borran todos los directorios de datos de auditoría fuera de línea del AuditArchiveFileRepository que son más antiguos que la propiedad DaysToArchive de esta cosa del programador. Esta propiedad se puede cambiar en ThingWorx Composer. Su valor por defecto es 180 días. También se puede llamar manualmente al servicio CleanUpOfflineAudit. Cuando se llama manualmente, el servicio toma la fecha como entrada y quita del almacén todos los directorios de datos de auditoría que son más antiguos que esa fecha.
AuditArchiveCleanupNotificationScheduler: permite notificar a los usuarios que se ejecutará el servicio de limpieza. Por defecto, esta cosa del programador se activa el último viernes de cada mes a las 06:00 h y desencadena un evento para notificar a los suscriptores al evento que el servicio de limpieza se ejecutará a las 18:00 h (la hora por defecto en que se ejecutará el trabajo programado por AuditArchiveCleanupScheduler). Como sucede con la programación para el servicio de limpieza, es posible cambiar el día o la frecuencia en que se ejecuta este servicio de notificación. También es posible suscribirse al evento y añadir una lógica propia a un script que desee ejecutar en función del evento. Consulte la siguiente sección, Suscripción al evento, para obtener información detallada.
El servicio de limpieza, CleanUpOfflineAudit, toma como entrada olderThanDate . Este argumento es de tipo DateTime, con el formato YYYY-MM-DD. El servicio borra las entradas de auditoría del almacenamiento fuera de línea anteriores a la fecha especificada. Se debe tener en cuenta que este servicio también se puede ejecutar manualmente.
Para la salida, el servicio de limpieza proporciona información sobre los directorios que se han quitado correctamente y, si procede, los directorios que el servicio no ha podido quitar. Se debe tener en cuenta que el fallo de la eliminación de un fichero o directorio no detiene el proceso de limpieza. El servicio omite el directorio fallido y pasa al siguiente.
Por ejemplo, supongamos que se invoca el servicio con la fecha 2017-06-07 y el directorio raíz del almacén de ficheros de archivo de auditoría contiene subdirectorios con los siguientes nombres:
Después de ejecutarse el servicio de limpieza, el almacén tiene el siguiente aspecto:
Solo los administradores tienen permiso para invocar el servicio de limpieza. Para que un usuario que no es administrador pueda invocarlo, es necesario que un administrador le conceda los permisos adecuados mediante una sustitución de servicio. Para obtener información sobre las sustituciones de servicio, consulte el tema Sustituciones de servicio en la sección Seguridad de este centro de ayuda.
Cuando el servicio de limpieza finaliza correctamente, se escribe un mensaje en el registro del servidor donde se muestra la cantidad de espacio que se ha limpiado. Si el servicio de limpieza falla por algún motivo, se devuelve un mensaje de error con el motivo del fallo.
Práctica recomendada para definir el valor de tiempo de conservación fuera de línea
Si se activa la función de informe de métricas, las métricas pertinentes sobre el subsistema de auditoría y su almacén de ficheros de archivo de auditoría están disponibles para el usuario a través de ThingWorx Composer. Para acceder a las métricas, seleccione Supervisión > Subsistema. Se puede ver la lista completa de métricas en el tema Metrics for Auditing Activities. Como se ha indicado antes, las siguientes métricas son buenos indicadores de la necesidad de limpiar datos de auditoría archivados en el almacén:
AuditArchiveDiskSpaceUsed (se muestra en MB): cantidad de espacio en disco que utilizan los datos archivados en el AuditArchiveFileRepository.
AuditArchiveFreeDiskSpace (se muestra en MB): cantidad de espacio en disco que permanece libre.
Si el espacio en disco utilizado es alto y el espacio libre es bajo, se recomienda limpiar el almacén lo antes posible invocando el servicio de limpieza manualmente y especificando una fecha que el servicio utilizará como punto de partida para quitar todos los ficheros y directorios que son anteriores a la fecha especificada. Asimismo, considere la posibilidad de definir DaysToArchive en un valor inferior de modo que se pueda mantener la cantidad de espacio en disco libre que el entorno necesita.
Suscripción al evento
El objeto AuditArchiveCleanupNotificationScheduler desencadena un evento denominado AuditCleanupNotification y notifica a los suscriptores sobre la siguiente operación de limpieza de ficheros. Es posible suscribirse al evento y añadir una lógica propia a un script que desee ejecutar en función del evento.
El trabajo asociado al objeto AuditArchiveCleanupScheduler tiene una propiedad denominada DaysToArchive. Por defecto, el valor de esta propiedad es 180 días (seis meses). Este valor se puede cambiar desde ThingWorx Composer. El trabajo programado se ejecuta mensualmente para limpiar todos los datos anteriores al valor de DaysToArchive especificado. También se puede modificar la frecuencia de la invocación automática del servicio en Composer.