4.4 Gestión de los valores de configuración de ZENworks Reporting

4.4.1 Gestión de los valores de registro

El archivo jasperserver.log se encuentra en la siguiente vía:

  • Para Windows: %ZRS_HOME%\js\apache-tomcat\webapps\jasperserver-pro\WEB-INF\logs

  • Para Linux: /opt/novell/zenworks-reporting/js/apache-tomcat/webapps/jasperserver-pro/WEB-INF/logs

Para gestionar los valores de registro:

  1. Haga clic en Manage > Server Settings > Log Settings (Gestionar > Configuración del servidor > Configuración del registro).

  2. En la página Log Settings (Configuración del registro), utilice la lista desplegable para cambiar el nivel de registro de cada clase.

    Los cuatro niveles de registro indican el tipo de evento registrado.

    Valor de configuración

    Nivel de información

    ERROR

    Se escribe una información mínima en el registro para describir errores graves del programa.

    WARN (ADVERTENCIA)

    Se escriben mensajes de error y de advertencia en el registro. Los mensajes de advertencia contienen información descriptiva que le permitirá determinar si los eventos registrados requieren su atención.

    INFO

    Se escriben mensajes de error, de advertencia e informativos en el registro. Los mensajes de información describen eventos significativos, como aquellos que puedan afectar al rendimiento de la aplicación.

    DEBUG

    Se escriben mensajes de error, de advertencia, informativos y adicionales en el registro. Los mensajes de depuración son muy detallados. Utilice este valor únicamente para diagnosticar un problema. El valor DEBUG (DEPURACIÓN) puede afectar al rendimiento del sistema y no debe emplearse en entornos de producción.

    En la siguiente tabla encontrará cada nombre de registro, tal como aparece en la página Log Settings (Configuración del registro), cómo encontrar un registro en concreto en el archivo y una descripción del registro.

    Nombre de registro

    Identificador del registro

    Descripción

    Ejecutor de consultas SQL

    JRJdbcQueryExecuter

    Registra texto SQL y valores de parámetros para las consultas del ejecutor de consultas SQL.

    Consultas de valores de control de entrada

    valueQueryLog

    Registra texto SQL y valores de parámetros para las consultas asociadas a controles de entrada.

    Resolución de parámetros de control de entrada en cascada

    FilterCore

    Registra la actividad asociada a los controles de entrada en cascada. Los controles de entrada manejados por consultas pueden estar en cascada cuando una consulta tiene un parámetro cuyo valor procede de otro control de entrada. Cuando se modifica el valor del parámetro, la consulta se vuelve a ejecutar automáticamente, posiblemente modificando la lista de valores de su control de entrada.

    Caché de resultados de consulta de control de entrada en cascada

    TokenControlLogic

    Registra el uso del caché para los resultados de consultas de control de entrada en cascada.

    SQL de hibernación

    SQL

    Registra las consultas SQL ejecutadas por la capa de hibernación para acceder a la base de datos del repositorio de ZENworks Reporting. Este registro genera un gran volumen de información y puede afectar al rendimiento.

    Registro de directivas de datos ad hoc

    CommonDomainDataStrategy

    SubFilterInputControlGenerator

    Otros

    Registra diversas actividades de las implementaciones de directivas de datos ad hoc, que utilizan consultas SQL u operaciones dentro de la memoria para obtener conjuntos de datos para vistas ad hoc.

    Consultas SQL generadas para consultas de dominio

    JdbcBaseDataSet

    Registra consultas SQL generadas a partir de consultas mediante un dominio.

    Manejo de conexión para dominios

    DataSourceResolverImpl

    Registra el uso de conexiones JDBC empleadas por los dominios para ejecutar consultas SQL.

    Conversor de expresiones a JSON

    Conversor ExpressionJSON

    Registra información sobre la conversión entre DomEL y JSON empleada por los filtros ad hoc.

    Pruebas de seguridad de dominios

    SemanticLayerSecurityResolver Impl

    Registra actividad relacionada con la seguridad a nivel de filas y columnas de dominio.

    Resolución de control de entrada en cascada para dominios

    DomainFilterResolver

    Registra la misma actividad que el registro FilterCore (resolución de parámetros de control de entrada en cascada) anterior, pero añade información específica de las consultas de dominios.

    Actividad de caché ad hoc

    CachedData

    Registra información acerca del ciclo de vida de conjuntos de datos almacenados en caché en memoria cuando se accede a las vistas ad hoc.

    Tiempo de las consultas SQL ejecutadas para los informes

    JsControlledJdbcQueryExecuter

    Registra el tiempo que emplea una consulta ejecutada por el ejecutor de consultas SQL en devolver datos a un informe.

    WorkingDataSet ad hoc

    WorkingDataSet

    Registra la actividad del elemento WorkingDataSet, empleado por el editor ad hoc para realizar transformaciones de conjuntos de datos en la memoria a partir de los resultados de las consultas.

    Controlador general

    AdhocAjaxController

    Registra la actividad del editor ad hoc.

    Controlador de vista de referencias cruzadas

    AdhocCrosstabAjaxController

    Registra la actividad adicional del editor ad hoc específica de los informes de referencias cruzadas.

    Generación de código Groovy para conjuntos de datos de memoria

    GroovyGenerator

    Registra clases de Groovy generadas desde expresiones DomEL empleadas por el editor ad hoc para filtros y campos calculados.

    Solicitudes AJAX ad hoc

    adhocAjaxRequests

    Registra información acerca de solicitudes AJAX realizadas por el editor ad hoc y el diseñador de consolas, incluidos parámetros de informes y tiempos de respuesta. Habilite este valor cuando el editor ad hoc y el diseñador de consolas detecten un error o presenten tiempos de respuesta lentos.

    Actividad de caché ad hoc

    com.jaspersoft.commons. datarator.CachedData

    Registra el ciclo de vida de conjuntos de datos gestionados por el caché ad hoc al cambiar entre estados. Esta salida de registro incluye información del caché ad hoc en un formato propicio para la resolución de problemas. Utilice este valor para entender cómo contribuyen los tiempos de respuesta de las consultas al rendimiento y la capacidad de respuesta del editor ad hoc. Puesto que no registra las propias consultas, utilícelo junto al valor de registro de ejecutor de consultas SQL.

  3. Para añadir un registro, desplácese hasta la parte inferior de la página.

  4. Utilice el menú desplegable para definir el nivel de registro.

4.4.2 Gestión de los valores ad hoc

Los valores ad hoc limitan los recursos disponibles para las consultas cuando se diseñan y se ejecutan las vistas ad hoc. Las consultas que puede definir son las siguientes:

  • Ad Hoc Filter List of Values Row Limit (Límite de filas de lista de valores de filtro ad hoc): el número máximo de elementos que deben mostrarse en el editor de condiciones cuando un usuario define filtros para una vista ad hoc basada en un dominio. Si se supera este límite cuando los usuarios definen los filtros, ZENworks Reporting mostrará un mensaje. Si se define con un valor inferior, podría mejorar el rendimiento.

  • Ad Hoc Dataset Row Limit (Límite de filas de conjunto de datos ad hoc): el número máximo de filas que puede devolver una vista ad hoc. ZENworks Reporting trunca los datos cuando se alcanza el límite. Si se define con un valor inferior puede mejorar el rendimiento, pero quizá los informes no reflejen el conjunto de datos completo.

  • Ad Hoc Query Timeout (Tiempo límite de consulta ad hoc): el número de segundos que debe esperar el servidor antes de que se supere el tiempo límite de una vista ad hoc mientras se ejecuta su consulta. Definir este valor con un número inferior puede impedir que se muestren excepciones a usuarios al ejecutar vistas ad hoc. Definirlo con un número superior puede evitar que los cálculos complejos provoquen que se supere el tiempo límite, pero dará lugar al uso de más conexiones de base de datos.

Para definir los valores de configuración ad hoc:

  1. Haga clic en Manage > Server Settings (Gestionar > Configuración del servidor) y seleccione Ad Hoc Settings (Configuración ad hoc).

  2. En Ad Hoc Filter List of Values Row Limit (Límite de filas de lista de valores de filtro ad hoc), especifique el número máximo de elementos que mostrar en el editor de condiciones cuando un usuario defina los filtros para un informe ad hoc basado en un dominio.

  3. En Ad Hoc Dataset Row Limit (Límite de filas de conjunto de datos ad hoc), especifique el número máximo de filas que puede devolver una vista ad hoc.

  4. En el campo Ad Hoc Query Timeout (seconds) (Tiempo límite de consulta ad hoc [segundos]), especifique el número de segundos que debe esperar el servidor antes de que se supere el tiempo límite de un informe ad hoc mientras se ejecuta su consulta.

  5. Haga clic en Change (Cambiar) para guardar los cambios.

Descripción de las directivas de datos

Las directivas de datos determinan cómo gestiona ZENworks Reporting la carga de datos y el procesamiento para determinados tipos de vistas ad hoc. Determinan cómo se almacenan en caché los datos y dónde se producen ciertos cálculos. Por ejemplo, puede especificar que los datos a los que se accede mediante informes basados en dominios estén agrupados, ordenados y agregados en la base de datos, en lugar de hacer que el servidor los procese en la memoria.

Las directivas de datos que puede definir son las siguientes:

  • Optimize Queries for JDBC-based Reports (Optimizar consultas para informes basados en JDBC): permite seleccionar el agrupamiento, la ordenación y la adición de consultas para informes basados en JDBC. De lo contrario, las consultas se ejecutan en la memoria sin alteraciones.

  • Optimize Queries for Domain-based Reports (Optimizar consultas para informes basados en dominios): permite seleccionar el agrupamiento, la ordenación y la adición de consultas para informes basados en dominios. De lo contrario, las consultas se ejecutan en la memoria sin alteraciones.

Para definir directivas de datos:

  1. Haga clic en Manage > Server Settings > Ad Hoc Settings (Gestionar > Configuración del servidor > Configuración ad hoc).

  2. Seleccione Optimize Queries for JDBC-based Reports (Optimizar consultas para informes basados en JDBC) para procesar consultas para informes basados en JDBC.

  3. Seleccione Optimize Queries for Domain-based Reports (Optimizar consultas para informes basados en dominios) para procesar consultas para informes basados en dominios.

  4. Haga clic en Change (Cambiar) para guardar los valores de configuración actuales.

NOTA:estos valores de directiva de datos no actualizan los informes existentes creados a partir de vistas ad hoc del repositorio. Para modificar la directiva de datos de un informe existente, seleccione el valor de directiva adecuado, abra la vista correspondiente en el editor ad hoc y vuelva a guardar el informe.

4.4.3 Gestión de los valores de configuración de caché ad hoc

ZENworks Reporting puede almacenar temporalmente en caché los conjuntos de resultados de las consultas ad hoc para reutilizarlas. El caché se completa con los datos resultantes de las consultas al crear o ejecutar vistas ad hoc. Los conjuntos de datos se identifican de forma única con una clave que hace referencia a la propia consulta, el URI del origen de datos y los parámetros utilizados al emitir la consulta.

El almacenamiento en caché reduce las cargas de base de datos y entrega rápidamente al usuario los conjuntos de datos utilizados con más frecuencia. El almacenamiento en caché se aplica cuando se crean los informes y también cuando se ejecutan. Puede configurar el caché ad hoc para optimizar el uso de la memoria y el tiempo de respuesta según sus patrones de uso.

Definición del caché

Por defecto, los conjuntos de datos de cada usuario se almacenan en caché por separado. Un parámetro de la clave de caché identifica al usuario. El almacenamiento en caché por usuario puede dar lugar a conjuntos de datos duplicados si varios usuarios diferentes ejecutan la misma consulta. Puede configurar ZENworks Reporting para que comparta conjuntos de datos en caché entre usuarios editando el archivo \WEB-INF\applicationContext-datarator.xml.

El siguiente código configura el elemento cacheKeyInterceptor para omitir las credenciales de los usuarios que han entrado a la sesión al crear las claves de caché:

<property name="ignoredParameters"> <list>

... <value>UsuarioQueIniciaSesión</value>

<value>NombreDeUsuarioQueIniciaSesión</value> </list>

</property>

Después de añadir el código, reinicie ZENworks Reporting.

Configuración del caché

El almacenamiento en caché mejora el rendimiento general de la recuperación y la ordenación de los datos, pero los conjuntos de datos no utilizados pueden consumir memoria. Para solucionar estos inconvenientes, debe configurar la frecuencia con la que se debe borrar el caché.

Para configurar la frecuencia con la que se debe borrar el caché automáticamente, edite el siguiente archivo de configuración:

Caducidad de caché ad hoc

Archivo de configuración

…\WEB-INF\adhoc-ehcache.xml

Propiedad

Valor por defecto

Descripción

maxEntriesLocalHeap

1

El número máximo de entradas de caché en la memoria de la pila local.

timeToIdleSeconds

300

El número de segundos que se debe esperar cuando se ha accedido a un conjunto de datos antes de eliminarlo del caché. El valor por defecto es de 30 minutos. Utilice 0 (cero) para que no haya límite.

timeToLiveSeconds

300

El tiempo máximo que debe almacenarse en caché un conjunto de datos, aunque se acceda a él a menudo. Esto garantiza que los datos obsoletos se sustituyan periódicamente. El valor por defecto es de 90 minutos. Utilice 0 (cero) para que no haya límite.

Después de editar el archivo de configuración, reinicie ZENworks Reporting.

Borrado manual del caché

Los administradores pueden ver la consulta, pero no el contenido del conjunto de datos en caché. La página de caché ad hoc también muestra datos de rendimiento acerca de cada consulta. Esta información resulta útil para intentar resolver problemas de rendimiento.

Los valores de consulta son los siguientes:

  • Query (msec) (Consulta [milésimas de segundos]): el tiempo consumido en milésimas de segundo, desde que se envía la consulta al origen de datos (base de datos) hasta que se recibe la primera fila.

  • Fetch (msec) (Recepción [milésimas de segundo]): el tiempo en milésimas de segundo, desde que se recibe la primera fila de la fuente de datos (base de datos) hasta que se recibe la última fila.

  • Memory used (MB) (Memoria utilizada [MB]): tamaño en megabytes del conjunto de datos resultante que se almacena en la entrada de caché.

    La página de caché ad hoc también permite que los administradores eliminen manualmente los conjuntos de datos si es necesario para obtener los datos recientes.

Para ver y borrar el caché ad hoc manualmente:

  1. Haga clic en Manage > Server Settings > Ad Hoc Cache (Gestionar > Configuración del servidor > Caché ad hoc).

    La página Ad Hoc Cache (Caché ad hoc) se muestra con todos los conjuntos de datos almacenados en caché ordenados por antigüedad.

  2. En la columna Query & Source (Consulta y origen), haga clic en una consulta cuyos detalles desee ver.

    La página Detail (Detalle) se muestra con información adicional para la consulta seleccionada, como el número de filas del conjunto de datos en caché.

  3. Haga clic en Clear (Borrar) para eliminar un conjunto de datos del caché.

  4. Haga clic en Clear All (Borrar todo) en la parte superior de la página Ad Hoc Cache (Caché ad hoc) para eliminar todos los conjuntos de datos.

4.4.4 Gestión de los valores de importación

Los valores de importación permiten simplificar el procedimiento de importación. La importación se realiza en un servidor en ejecución y todos los recursos importados aparecen como visibles de inmediato. Además, cualquier valor de configuración o de seguridad del catálogo importado tendrá efecto de inmediato, sin necesidad de reiniciar el servidor.

Solo debe llevar a cabo la importación a través del indicador de comandos.

Importación desde la línea de comandos

Uso: js-import [OPCIONES]

NOTA:recomendamos detener el servidor antes de usar la utilidad de línea de comandos de importación para evitar problemas con el almacenamiento en caché, la configuración y la seguridad.

Lee un catálogo de repositorios del sistema de archivos y crea el recurso con nombre en el repositorio de ZENworks Reporting. El catálogo del repositorio debe haber sido creado mediante la interfaz de exportación o el comando js-export, ya sea como archivo ZIP o como estructura de carpetas.

Tabla 4-2 Opciones del comando js-import

Opción

Explicación

--help

Muestra una breve información acerca de las opciones disponibles.

--input-dir

Vía para importar un catálogo desde un directorio.

--input-zip

Vía y nombre de archivo para importar un catálogo desde un archivo zip.

--update

Los recursos del catálogo sustituyen a los del repositorio si sus tipos y sus URI coinciden.

--skip-user-update

Si se utiliza con --update, los usuarios del catálogo no se importan ni se actualizan. Utilice esta opción para importar catálogos sin sobrescribir a los usuarios definidos actualmente.

--include-access-events

Restaura eventos de acceso (fecha, hora y nombre de usuario o modificación más reciente) de los recursos importados.

--include-audit-events

Solo en la edición profesional. Importa todos los datos de auditoría que existan en el catálogo.

--include-monitoring-events

Solo en la edición profesional. Importa todos los datos de supervisión que existan en el catálogo.

--include-server-settings

Determina si la configuración del sistema se actualiza desde el catálogo. Existen dos requisitos previos para que el catálogo contenga los valores de configuración:

Es necesario modificar los valores del servidor de origen a través de la interfaz de usuario (Log Settings [Configuración de registro], Ad Hoc Settings [Configuración ad hoc], Ad Hoc Cache Settings [Configuración de caché ad hoc]).

El catálogo se debe exportar con la opción “everything” (todo) de la interfaz de usuario o la utilidad de línea de comandos.

Después de importar los valores de configuración del servidor, surtirán efecto en cuanto se inicie el servidor.

Ejemplos:

  • Para importar el archivo de catálogo miExportación.zip:

    js-import --input-zip miExportación.zip

  • Para importar la carpeta de catálogo miDir y sustituir los recursos existentes si sus URI y tipos coinciden con los encontrados en el catálogo:

    js-import --input-dir miDir --update

  • Para importar el archivo de catálogo miExportación.zip pero omitir a los usuarios encontrados en el catálogo:

    js-import --input-zip miExportación.zip --update --skip-user-update

  • Para importar la carpeta de catálogo miDir con eventos de acceso:

    js-import --input-dir miDir --include-access-events

4.4.5 Gestión de los valores de exportación

Los valores de exportación permiten exportar usuarios y funciones además de contenidos del repositorio o en lugar de ellos, desde las páginas de configuración del servidor para los administradores del sistema.

  1. Haga clic en Manage > Server Settings > Export (Gestionar > Configuración del servidor > Exportar).

  2. Especifique el nombre del archivo zip de catálogo que desee exportar.

    La interfaz de usuario Web solo admite el formato de archivo zip.

  3. Utilice los siguientes recuadros para seleccionar el contenido del archivo de catálogo exportado:

    • Seleccione Export Everything (Exportar todo) para exportar todo el repositorio, incluidos los permisos y las tareas de informes, así como todas las organizaciones, los usuarios y las funciones.

      Seleccione Include access events (Incluir eventos de acceso) si desea incluir las horas de modificación de los recursos.

    • Desactive el recuadro Export Everything (Exportar todo) y seleccione solo los usuarios y las funciones que desee exportar.

      Seleccione Include users with selected roles (Incluir usuarios con funciones seleccionadas) si desea seleccionar solo funciones y usuarios.

    • En cualquier caso, puede seleccionar Include audit events (Incluir eventos de auditoría) e Include monitoring events (Incluir eventos de supervisión) por separado.

  4. Haga clic en Exportar.

    El servidor genera el archivo zip del catálogo y el navegador le pedirá que guarde el archivo, dependiendo del tamaño del catálogo y de las opciones que haya seleccionado.

Exportación desde la línea de comandos

Uso: js-export [OPCIONES]

NOTA:es recomendable detener el servidor antes de ejecutar la utilidad de exportación.

Especifique los recursos del repositorio (como informes, imágenes, carpetas y tareas programadas) que desee exportar al sistema de archivos. También puede exportar las definiciones internas para las tareas programadas, los usuarios, las funciones y los datos de auditoría existentes. La salida de exportación se conoce como catálogo de repositorio. Puede ser un archivo o un conjunto de archivos en una estructura de carpeta.

Tabla 4-3 Opciones del comando js-export

Opción

Explicación

--everything

Se exporta todo salvo los datos de supervisión y auditoría. Todos los recursos del repositorio, permisos, tareas de informes, usuarios y funciones. Si se ha modificado algún valor de configuración del servidor en la interfaz de usuario, también se incluirá. Esta opción es equivalente a:

--uris --repository-permissions --report-jobs --users --roles

--help

Muestra una breve información acerca de las opciones disponibles.

--include-access-events

Se exportan los eventos de acceso (fecha, hora y nombre de usuario de la última modificación).

--output-dir

Vía de un directorio en el que crear la carpeta del catálogo de salida.

--output-zip

Vía y nombre del archivo zip de catálogo de salida que se debe crear.

--report-jobs

Lista de valores separados por comas de la unidad de informes del repositorio y URI de las carpetas cuyas tareas de unidades de informes se deben exportar. Para un URI de carpeta, esta opción exporta las tareas programadas de todos los informes de la carpeta y de todas las subcarpetas recursivamente.

--repository-permissions

Si esta opción está presente, los permisos del repositorio se exportan junto con cada carpeta y recurso que se exporte.

Esta opción solo debe utilizarse en conjunto con --uris.

--funciones

Lista de funciones separadas por comas que exportar. Si no se especifica ninguna función con esta opción, se exportan todas las funciones.

--role-users

Si esta opción está presente, cada exportación de funciones activa la exportación de todos los usuarios que pertenecen a ella. Esta opción solo debe utilizarse en conjunto con --roles.

--uris

Lista separada por comas de URI de carpetas o recursos del repositorio.

--usuarios

Lista separada por comas de los usuarios que se van a exportar. Si no se especifica ningún usuario con estas opciones, se exportan todos los usuarios. Al exportar a un usuario se incluyen todos los atributos y, para mantener la coherencia, también exportan todas las funciones que tenga asignadas. Al especificar usuarios, debe indicar su ID de organización si procede. Por ejemplo:

--users usuario1, "usuario2|organización_1", ...

--include-audit-events

Se incluyen los datos de auditoría de todos los recursos y usuarios en la exportación.

--include-monitoring-events

Se incluyen los datos de supervisión de todos los recursos y usuarios en la exportación.

Ejemplos:

  • Se exporta todo el contenido del repositorio:

    js-export --everything --output-dir miExportación

  • Se exporta la unidad de informes /reports/samples/AllAccounts a una carpeta de catálogo:

    js-export --uris /organizations/organización_1/reports/samples/AllAccounts --output-dir miExportación

  • Se exportan las carpetas /images y /fonts:

    js-export --uris /organizations/organización_1/images,/organizations/organización_1/reports --output-dir miExportación

  • Se exportan todos los recursos (excepto los usuarios, las funciones y las programaciones de tareas) y sus permisos a un catálogo zip:

    js-export --uris / --repository-permissions --output-zip miExportación.zip

  • Se exportan todos los recursos y las tareas de informes:

    js-export --uris / --report-jobs / --output-dir miExportación

  • Se exportan las tareas de informes de la unidad de informes /reports/samples/AllAccounts:

    js-export --report-jobs /organizations/organización_1/reports/samples/AllAccounts --output-dir miExportación

    Se exportan todos los usuarios y las funciones:

    js-export --roles --users --output-dir miExportación

  • Se exportan las funciones ROLE_USER y ROLE_ADMINISTRATOR, así como todos los usuarios que pertenezcan a ellas:

    js-export --roles ROLE_USER, ROLE_ADMINISTRATOR --role-users --output-dir miExportación