4.4 管理 ZENworks Reporting 设置

4.4.1 管理日志设置

jasperserver.log 文件位于以下路径:

  • 对于 Windows 系统: %ZRS_HOME%\js\apache-tomcat\webapps\jasperserver-pro\WEB-INF\logs

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

要管理日志设置,请执行以下操作:

  1. 单击管理 > 服务器设置 > 日志设置

  2. 日志设置页面中,使用下拉列表更改所记录的每个类别的日志级别。

    四个日志记录级别指出记录器所记录的事件类型。

    设置

    信息级别

    错误

    将描述严重程序错误的精简信息写入日志。

    警告

    将错误和警告讯息写入日志。警告讯息包含警示性的信息,以帮助您判断是否需要关注所记录的事件。

    信息

    将错误、警告和信息性讯息写入日志。信息性讯息描述重大事件,例如会影响应用程序性能的事件。

    调试

    将错误、警告和信息性和其他讯息写入日志。调试讯息非常详细。此设置仅用于诊断问题。“调试”可能会影响系统性能,因此不应在生产环境中使用。

    下表列出了“日志设置”页面中显示的每个记录器(用于在日志文件中查找特定日志)名称以及记录器的说明。

    记录器名称

    日志中的标识符

    说明

    SQL 查询执行器

    JRJdbcQueryExe cuter

    记录 SQL 查询执行器运行的查询的 SQL 文本和参数值。

    输入控件值查询

    valueQueryLog

    记录与输入控件关联的查询的 SQL 文本和参数值。

    级联输入控件参数解析

    FilterCore

    记录与级联输入控件关联的活动。如果一个查询的参数值来自另一个输入控件,查询驱动的输入控件便可级联。如果参数值发生更改,查询将自动重新运行,这可能会更改其输入控件的值列表。

    级联输入控件查询结果超速缓存

    TokenControlLogic

    记录级联输入控件查询结果超速缓存的使用情况。

    休眠 SQL

    SQL

    记录休眠层为访问 ZENworks Reporting 储存库数据库而运行的 SQL。此记录器会生成大量的日志记录,可能会影响性能。

    专用数据策略日志记录

    CommonDomainDataStrategy

    SubFilterInputControlGenerator

    其他

    记录专用数据策略实施的各种活动,这些活动使用 SQL 查询或内存中操作来获取专用视图的数据集。

    为域查询生成的 SQL

    JdbcBaseDataSet

    记录从使用域的查询生成的 SQL 查询。

    域的连接处理

    DataSourceResolverImpl

    记录域用来运行 SQL 查询的 JDBC 连接的使用情况。

    表达式到 JSON 转换器

    ExpressionJSON 转换器

    记录专用过滤器所用的 DomEL 与 JSON 之间的转换的相关信息。

    基于域的安全性测试

    SemanticLayerSecurityResolver Impl

    记录与域的列级和行级安全性相关的活动。

    域的级联输入控件解析

    DomainFilterResolver

    记录与上述 FilterCore 记录器相同的活动(级联输入控件参数解析),但会添加特定于域查询的信息。

    专用超速缓存活动

    CachedData

    记录访问专用视图时在内存中超速缓存的数据集生命周期的相关信息。

    为报告运行的 SQL 查询的计时

    JsControlledJdbcQueryExecuter

    记录 SQL 查询执行器为了向报告返回数据而运行某个查询所花费的时间。

    专用 WorkingDataSet

    WorkingDataSet

    记录 WorkingDataSet 的活动,专用编辑器会使用 WorkingDataSet 对查询结果执行内存中数据集转换。

    通用控制器

    AdhocAjaxController

    记录专用编辑器的活动。

    交叉表控制器

    AdhocCrosstabAjaxController

    记录专用编辑器特定于交叉表报告的其他活动。

    内存数据集的 Groovy 代码生成

    GroovyGenerator

    记录基于专用编辑器为过滤器和计算字段使用的 DomEL 表达式生成的 Groovy 类。

    专用 AJAX 请求

    adhocAjaxRequests

    记录专用编辑器和仪表板设计器执行的 AJAX 请求的信息,包括报告参数和响应时间。当专用编辑器和仪表板设计器遇到错误或响应缓慢时,请启用此设置。

    专用超速缓存活动

    com.jaspersoft.commonsdatarator.CachedData

    当专用超速缓存管理的数据集变换状态时,跟踪这些数据集的生命周期。此日志输出包括专用超速缓存中的信息,这些信息所用的格式有助于查错。使用此设置可以了解查询响应时间对专用编辑器性能与响应能力的影响。由于此设置不会记录查询本身,因此请将它与 SQL 查询执行器日志设置结合使用。

  3. 要添加记录器,请滚动到页面底部。

  4. 使用下拉列表设置日志记录级别。

4.4.2 管理专用设置

设计和运行专用视图时,专用设置会限制可供查询的资源。可设置的查询包括:

  • 专用过滤器值列表的行限制:当用户为基于域的专用视图定义过滤器时,应在条件编辑器中显示的最大项目数。如果用户定义过滤器时超过了此限制,ZENworks Reporting 将显示一条讯息。为其设置较小的值可以提高性能。

  • 专用数据集的行限制:专用视图可返回的最大行数。达到该限制时,ZENworks Reporting 会截断数据。为其设置较小的数字可以提高性能,但您的报告可能不会反映完整数据集。

  • 专用查询超时:运行专用视图的查询时,服务器使专用视图超时之前应该等待的秒数。为其设置较小的数字可以防止在用户运行专用视图时向其显示异常。为其设置较大的数字可以防止复杂计算超时,但会导致使用更多的数据库连接。

要设置专用设置,请执行以下操作:

  1. 单击管理 > 服务器设置,然后选择专用设置

  2. 专用过滤器值列表的行限制中,指定当用户为基于域的专用报告定义过滤器时,可在条件编辑器中显示的最大项目数。

  3. 专用数据集的行限制中,指定专用视图可返回的最大行数。

  4. 专用查询超时(秒)字段中,指定运行专用报告的查询时,服务器使专用报告超时之前应该等待的秒数。

  5. 单击更改保存您的更改。

了解数据策略

数据策略确定 ZENworks Reporting 如何应对特定类型的专用视图的数据装载和处理。这些策略将会确定如何超速缓存数据,以及在何处进行特定的计算。例如,您可以指定在数据库中分组、排序和聚合基于域的报告所访问的数据,而不是让服务器在内存中处理此数据。

可设置的数据策略包括:

  • 优化基于 JDBC 的报告的查询:为基于 JDBC 的报告选择查询的分组、排序和聚合。否则,查询会按原样在内存中运行。

  • 优化基于域的报告的查询:为基于域的报告选择查询的分组、排序和聚合。否则,查询会按原样在内存中运行。

要设置数据策略,请执行以下操作:

  1. 单击管理 > 服务器设置,然后选择“专用设置”。

  2. 选择优化基于 JDBC 的报告的查询,以处理基于 JDBC 的报告的查询。

  3. 选择优化基于域的报告的查询,以处理基于域的报告的查询。

  4. 单击更改保存当前设置。

注:这些数据策略设置不会更新从储存库中专用视图创建的现有报告。要更改现有报告的数据策略,请选择相应的策略设置,在专用编辑器中打开相应的视图,然后再次保存报告。

4.4.3 管理专用超速缓存设置

ZENworks Reporting 可以暂时超速缓存专用查询结果集以供重复使用。创建或运行专用视图时,从查询生成的数据将会填入超速缓存。数据集通过参照查询本身、数据来源 URI 以及发出查询时所用参数的键唯一标识。

超速缓存可以降低数据库负载,以及快速向用户提供常用的数据集。创建和运行报告时,将应用超速缓存。您可以根据使用模式,将专用超速缓存配置为优化内存用量和响应时间。

设置超速缓存

默认情况下,每个用户的数据集会分开超速缓存;超速缓存键中的参数可标识用户。当不同的用户运行同一个查询时,这种基于用户的超速缓存可能会导致数据集重复。您可以通过编辑 \WEB-INF\applicationContext-datarator.xml 文件,将 ZENworks Reporting 配置为在用户之间共享超速缓存的数据集。

下面的代码会将 cacheKeyInterceptor 配置为在创建超速缓存键时忽略已登录用户的身份凭证:

<property name="ignoredParameters"> <list>

... <value>LoggedInUser</value>

<value>LoggedInUsername</value> </list>

</property>

添加代码后,请重启动 ZENworks Reporting。

配置超速缓存

超速缓存可以提高数据检索与排序的总体性能,但未使用的数据集可能会占用内存。要解决这些问题,您必须配置清除超速缓存的频率。

要配置自动清除超速缓存的频率,请编辑下面的配置文件:

专用超速缓存失效

配置文件

…\WEB-INF\adhoc-ehcache.xml

属性

默认值

说明

maxEntriesLocalHeap

1

本地堆内存中的最大超速缓存项数。

timeToIdleSeconds

300

访问某个数据集之后将它从超速缓存中去除之前需等待的秒数。默认值为 30 分钟。使用 0(零)表示无限制。

timeToLiveSeconds

300

数据集储存在超速缓存中的最长时间(即使它被重复访问)。确保定期替换陈旧的数据。默认值为 90 分钟。使用 0(零)表示无限制。

编辑该配置文件后,请重启动 ZENworks Reporting。

手动清除超速缓存

管理员可以查看查询,但不能查看超速缓存中数据集的内容。专用超速缓存页面还会显示有关每个查询的性能数据。在尝试解决性能问题时,这些信息将十分有用。

下面是查询的值:

  • 查询(毫秒)– 查询发送到数据来源(数据库)到收到第一行所用的时间,以毫秒为单位。

  • 提取(毫秒)– 从数据来源(数据库)接收第一行到收到最后一行所用的时间,以毫秒为单位。

  • 已用内存 (MB) – 储存在超速缓存项中的生成数据集的大小,以 MB 为单位。

    专用超速缓存页面还允许管理员根据需要手动去除数据集,以提取最新的数据。

要手动查看和清除专用超速缓存,请执行以下操作:

  1. 单击管理 > 服务器设置 > 专用超速缓存

    “专用超速缓存”页面即会显示,其中会列出超速缓存中的所有数据集,并按保留期排序。

  2. 查询与来源列中,单击要查看其细节的查询。

    “细节”页面即会显示,其中会列出选定查询的其他信息,例如,超速缓存数据集中的行数。

  3. 单击清除可从超速缓存中去除某个数据集。

  4. 单击“专用超速缓存”页面顶部的全部清除可去除所有数据集。

4.4.4 管理导入设置

使用导入设置可以简化导入过程。导入过程在运行的服务器上执行,所有导入的资源将立即可见。此外,无需重启动服务器,所导入编目中的任何配置或安全性设置将立即生效。

只能通过命令提示导入。

从命令行导入

用法:js-import [选项]

注:建议您在使用导入命令行实用程序之前停止服务器,以免超速缓存、配置和安全性出现问题。

从文件系统中读取储存库编目,并在 ZENworks Reporting 储存库中创建指定的资源。事先必须已通过导出界面或 js-export 命令创建储存库编目,其结构可以为 ZIP 存档文件或文件夹结构。

表 4-2 js-import 命令中的选项

选项

说明

--help

显示有关可用选项的简要信息。

--input-dir

从目录中导入编目时所用的路径。

--input-zip

从 zip 文件中导入编目时所用的路径和文件名。

--update

如果编目中资源的 URI 和类型与储存库中资源的 URI 和类型匹配,则编目中的资源会替换储存库中的资源。

--skip-user-update

与 --update 结合使用时,系统不会导入或更新编目中的用户。使用此选项可以在不重写当前定义的用户的情况下导入编目。

--include-access-events

在导入的资源中恢复访问事件(上次修改日期、时间和用户名)。

--include-audit-events

仅适用于专业版。导入编目中存在的任何审计数据。

--include-monitoring-events

仅适用于专业版。导入编目中存在的任何监视数据。

--include-server-settings

确定是否已更新编目中的系统配置。要使编目包含配置设置,必须满足两个先决条件:

必须通过 UI 修改来源服务器设置(“日志设置”、“专用设置”和“专用超速缓存设置”)。

必须在用户界面或命令行实用程序中使用“所有内容”(everything) 选项导出编目。

导入服务器设置后,服务器一旦启动,这些设置就会立即生效。

示例:

  • 导入 myExport.zip 编目存档文件:

    js-import --input-zip myExport.zip

  • 导入 myDir 编目文件夹,并替换现有资源(如果其 URI 和类型与编目中发现的资源匹配):

    js-import --input-dir myDir --update

  • 导入 myExport.zip 编目存档文件,但忽略编目发现中的任何用户:

    js-import --input-zip myExport.zip --update --skip-user-update

  • 导入包含访问事件的 myDir 编目文件夹:

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

4.4.5 管理导出设置

导出设置可用于导出用户和角色,导出或者免于导出储存库内容,以及使用系统管理员的服务器设置页面。

  1. 单击管理 > 服务器设置 > 导出

  2. 指定要导出的编目 zip 文件的名称。

    Web UI 仅支持 zip 存档格式

  3. 使用以下复选框来选择所导出编目文件的内容:

    • 选中导出所有内容可以导出整个储存库,包括许可权限和报告作业,以及所有组织、用户和角色。

      如果希望包括资源修改时间,请选中包括访问事件

    • 清除导出所有内容复选框,然后只选择要导出的用户和角色。

      如果您只想选择角色和用户,请选中包括具有选定角色的用户

    • 在任一情况下,都可以单独选择包括审计事件包括监视事件

  4. 单击导出

    根据编目大小和您选择的选项,服务器将生成编目 zip 文件,并且浏览器会提示您保存文件。

从命令行导出

用法:js-export [选项]

注:建议您在运行导出实用程序之前停止服务器实例。

指定要导出到文件系统中的储存库资源,例如报告、图像、文件夹和安排的作业。您还可以导出安排的作业、用户、角色以及现有审计数据的内部定义。导出输出称为储存库编目;它要么是一个存档文件,要么是以文件夹结构组织的文件集。

表 4-3 js-export 命令中的选项

选项

说明

--everything

导出除审计数据与监视数据以外的其他所有内容:所有储存库资源、许可权限、报告作业、用户和角色。如果在 UI 中修改了任何服务器设置,这些设置也会导出。此选项等效于:

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

--help

显示有关可用选项的简要信息。

--include-access-events

导出访问事件(上次修改日期、时间和用户名)。

--output-dir

要在其中创建输出编目文件夹的目录路径。

--output-zip

要创建的输出编目 zip 文件的路径和文件名。

--report-jobs

应导出其报告单位作业的储存库报告单位 URI 与文件夹 URI 的逗号分隔列表。对于文件夹 URI,此选项将导出该文件夹及其所有子文件夹(以递归方式)中所有报告的已安排作业。

--repository-permissions

如果提供此选项,储存库许可权限会连同每个导出的文件夹和资源一起导出。

此选项只能与 --uris 结合使用。

--roles

要导出的角色的逗号分隔列表;如果未使用此选项指定任何角色,则会导出所有角色。

--role-users

如果提供此选项,则每次导出角色时,还会导出属于该角色的所有用户。此选项只能与 --roles 结合使用。

--uris

储存库中文件夹 URI 或资源 URI 的逗号分隔列表。

--users

要导出的用户的逗号分隔列表;如果未使用此选项指定任何用户,则会导出所有用户。导出用户时会包括所有用户属性,此外,还会导出指派给用户的所有角色,以保持一致性。指定用户时,必须指定用户的组织 ID(如果适用),例如:

--users user1, "user2|organization_1", ...

--include-audit-events

在导出中包括所有资源和用户的审计数据。

--include-monitoring-events

在导出中包括所有资源和用户的监视数据。

示例:

  • 导出储存库中的所有内容:

    js-export --everything --output-dir myExport

  • 将 /reports/samples/AllAccounts 报告单位导出到编目文件夹:

    js-export --uris /organizations/organization_1/reports/samples/AllAccounts --output-dir myExport

  • 导出 /images 和 /fonts 文件夹:

    js-export --uris /organizations/organization_1/images,/organizations/organization_1/reports --output-dir myExport

  • 将所有资源(用户、角色和作业日程安排除外)及其许可权限导出到 zip 编目:

    js-export --uris / --repository-permissions --output-zip myExport.zip

  • 导出所有资源和报告作业:

    js-export --uris / --report-jobs / --output-dir myExport

  • 导出 /reports/samples/AllAccounts 报告单位的报告作业:

    js-export --report-jobs /organizations/organization_1/reports/samples/AllAccounts --output-dir myExport

    导出所有角色和用户:

    js-export --roles --users --output-dir myExport

  • 导出 ROLE_USER 和 ROLE_ADMINISTRATOR 角色以及属于其中任一角色的所有用户:

    js-export --roles ROLE_USER, ROLE_ADMINISTRATOR --role-users --output-dir myExport