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 的活動。

    通用控制器

    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 和類型方面相符,則前者會取代後者。

--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