操作儀表板 operations-dashboard
簡介 introduction
AEM 6中的Operations Dashboard可協助系統運算子監控AEM系統運作狀況。 它還提供有關AEM相關方面的自動生成診斷資訊,並允許配置和運行獨立的維護自動化,以顯著減少項目操作和支援案例。 Operations Dashboard可以使用自訂的運行狀況檢查和維護任務進行擴展。 此外,Operations Dashboard資料可通過JMX從外部監控工具訪問。
操作控制面板:
- 是一鍵式系統狀態,可幫助運營部門提高效率
- 在單個集中位置提供系統運行狀況概觀
- 減少查找、分析和修復問題的時間
- 提供獨立的維護自動化,幫助顯著降低項目操作成本
您可以前往 工具 - 操作 從AEM歡迎畫面。
健全狀態報表 health-reports
Health Report系統可透過Sling Health Check提供AEM例項健康狀況的相關資訊。 您可以透過OSGI、JMX、HTTP要求(透過JSON)或透過觸控式UI來完成此作業。 它提供某些可設定計數器的測量值和臨界值,在某些情況下,將提供如何解決問題的資訊。
它有幾項功能,如下所述。
健康狀態檢查 health-checks
此 運行狀況報告 是一種卡片系統,它指明特定產品區域的健康狀況良好或不良。 這些卡片是Sling健康狀態檢查的視覺效果,可匯總來自JMX和其他來源的資料,並再次以MBean形式公開處理的資訊。 這些MBean也可以在 JMX Web控制台,在 org.apache.sling.healthcheck 網域。
健康狀態報告介面可透過 工具 - 操作 - 運行狀況報告 ,或直接透過下列URL:
https://<serveraddress>:port/libs/granite/operations/content/healthreports/healthreportlist.html
卡系統顯示三種可能狀態: 確定, 警告 和 關鍵. 狀態是規則和臨界值的結果,您可將滑鼠游標暫留在卡片上,然後按一下動作列中的齒輪圖示來設定:
運行狀況檢查類型 health-check-types
AEM 6中有兩種健康狀況檢查:
- 個別健康狀況檢查
- 複合運行狀況檢查
安 個別健康狀況檢查 是與狀態卡對應的單一健康狀況檢查。 可以使用規則或閾值配置單個運行狀況檢查,它們可以提供一個或多個提示和連結,以解決已識別的運行狀況問題。 以「記錄錯誤」檢查為例:如果執行個體記錄中有「錯誤」項目,您會在健康狀況檢查的詳細資訊頁面上找到這些項目。 在頁面頂端,您會在「診斷工具」區段中看到「記錄訊息」分析器的連結,這可讓您更詳細地分析這些錯誤並重新設定記錄器。
A 複合運行狀況檢查 是一項檢查,會從數個個別檢查中匯總資訊。
複合運行狀況檢查是使用 篩選標籤. 本質上,所有具有相同篩選標籤的單一檢查都會分組為複合健康狀態檢查。 只有當聚合的所有單次檢查也具有OK狀態時,複合運行狀況檢查才會具有OK狀態。
如何建立運行狀況檢查 how-to-create-health-checks
在「操作控制面板」中,您可以直觀地顯示單個和複合運行狀況檢查的結果。
建立個別健康狀況檢查 creating-an-individual-health-check
建立個別健康檢查涉及兩個步驟:實作Sling健康狀況檢查,並在控制面板的設定節點中新增健康狀況檢查項目。
-
若要建立Sling健康狀況檢查,您需要建立實作Sling HealthCheck介面的OSGI元件。 您會將此元件新增至套件中。 元件的屬性將完全標識運行狀況檢查。 安裝元件後,將自動為運行狀況檢查建立JMX MBean。 請參閱 Sling健康狀況檢查檔案 以取得更多資訊。
以OSGI服務元件註解撰寫的Sling健康狀態檢查元件範例:
code language-java @Component(service = HealthCheck.class, property = { HealthCheck.NAME + "=Example Check", HealthCheck.TAGS + "=example", HealthCheck.TAGS + "=test", HealthCheck.MBEAN_NAME + "=exampleHealthCheckMBean" }) public class ExampleHealthCheck implements HealthCheck { @Override public Result execute() { // health check code } }
note note NOTE 此 MBEAN_NAME
屬性定義將為此運行狀況檢查生成的mbean的名稱。 -
建立運行狀況檢查後,需要建立新的配置節點,以便在Operations Dashboard介面中訪問該節點。 在此步驟中,必須知道運行狀況檢查的JMX Mbean名稱(
MBEAN_NAME
屬性)。 要建立健康檢查的配置,請開啟CRXDE並添加新節點(類型 nt:非結構化)下方:/apps/settings/granite/operations/hc
新節點上應設定下列屬性:
-
名稱:
sling:resourceType
- 類型:
String
- 值:
granite/operations/components/mbean
- 類型:
-
名稱:
resource
- 類型:
String
- 值:
/system/sling/monitoring/mbeans/org/apache/sling/healthcheck/HealthCheck/exampleHealthCheck
- 類型:
note note NOTE 以上資源路徑的建立方式如下:如果運行狀況檢查的mbean名稱為「test」,請將「test」添加到路徑的結尾 /system/sling/monitoring/mbeans/org/apache/sling/healthcheck/HealthCheck
因此,最終的路徑將是: /system/sling/monitoring/mbeans/org/apache/sling/healthcheck/HealthCheck/test
note note NOTE 請確定 /apps/settings/granite/operations/hc
路徑的下列屬性已設為true:sling:configCollectionInherit
sling:configPropertyInherit
這會告訴配置管理器,將新配置與現有配置合併,其來源為 /libs
. -
建立複合運行狀況檢查 creating-a-composite-health-check
複合運行狀況檢查的角色是聚合多個共用一組公共功能的單個運行狀況檢查。 例如,安全複合運行狀況檢查將執行安全相關驗證的所有單個運行狀況檢查組合在一起。 建立複合檢查的第一步是新增OSGI設定。 若要在「操作控制面板」中顯示該節點,需要新增一個新的設定節點,就像進行簡單檢查時一樣。
-
前往OSGI主控台中的Web設定管理器。 您可以存取
https://serveraddress:port/system/console/configMgr
-
搜尋名為 Apache Sling Composite Health Check. 找到後,請注意已有兩種設定可用:一個用於系統檢查,另一個用於安全檢查。
-
按配置右側的「+」按鈕建立新配置。 隨即出現新視窗,如下所示:
-
建立設定並儲存。 將使用新配置建立Mbean。
每個設定屬性的用途如下:
- 名稱(hc.name): 複合運行狀況檢查的名稱。 建議使用有意義的名稱。
- 標籤(hc.tags): 此運行狀況檢查的標籤。 如果此複合運行狀況檢查打算成為另一個複合運行狀況檢查的一部分(例如,在運行狀況檢查的層次結構中),請添加與此複合相關的標籤。
- MBean名稱(hc.mbean.name): 將分配給此複合運行狀況檢查的JMX MBean的Mbean的名稱。
- 篩選標籤(filter.tags): 這是複合運行狀況檢查的特有屬性。 這些是複合應匯總的標籤。 複合運行狀況檢查將聚合到其組下的所有運行狀況檢查,這些檢查包含任何標籤,這些標籤與此複合的任何過濾器標籤匹配。 例如,具有篩選標籤的複合運行狀況檢查 測試 和 check 將匯總包含任何 測試 和 check 其標籤屬性中的標籤(
hc.tags
)。
note note NOTE 系統會為Apache Sling Composite Health Check的每個新設定建立新的JMX Mbean。** -
最後,剛建立的複合運行狀況檢查條目需要添加到操作儀表板配置節點中。 此程式與個別健康狀況檢查的程式相同:類型的節點 nt:非結構化 需要在下建立
/apps/settings/granite/operations/hc
. 節點的資源屬性將由 hc.mean.name (在OSGI設定中)。例如,如果您已建立設定,並設定 hc.mbean.name 值 磁碟使用情況,設定節點如下所示:
-
名稱:
Composite Health Check
- 類型:
nt:unstructured
- 類型:
具有下列屬性:
-
名稱:
sling:resourceType
- 類型:
String
- 值:
granite/operations/components/mbean
- 類型:
-
名稱:
resource
- 類型:
String
- 值:
/system/sling/monitoring/mbeans/org/apache/sling/healthcheck/HealthCheck/diskusage
- 類型:
note note NOTE 如果您建立邏輯上屬於預設已存在於控制面板中的複合檢查下的個別健康狀況檢查,則會在相應的複合檢查下自動捕獲和分組這些檢查。 因此,不需要為這些檢查建立新的配置節點。 例如,如果您建立個別安全狀況檢查,您只需將「安全"標籤,並且已安裝,它將自動顯示在Operations Dashboard的Security Checks複合檢查下。 -
隨AEM提供的運行狀況檢查 health-checks-provided-with-aem
使用Nagios進行監控 monitoring-with-nagios
健康狀況檢查控制面板可以透過Granite JMX Mbeans與Nagios整合。 以下範例說明如何新增檢查,以顯示執行AEM之伺服器上已使用的記憶體。
-
在監控伺服器上安裝和安裝Nagios。
-
接下來,安裝Nagios Remote Plugin Executor(NRPE)。
note note NOTE 有關如何在您的系統上安裝Nagios和NRPE的更多資訊,請參閱 Nagios檔案. -
為AEM伺服器新增主機定義。 這可透過Nagios XI Web介面,使用Configuration Manager完成:
- 開啟瀏覽器並指向Nagios伺服器。
- 按下 設定 按鈕。
- 在左窗格中,按 核心設定管理員 在 進階設定.
- 按下 主機 連結 監控 區段。
- 添加主機定義:
以下是主機設定檔案的範例,若您使用Nagios Core:
code language-xml define host { address 192.168.0.5 max_check_attempts 3 check_period 24x7 check-command check-host-alive contacts admin notification_interval 60 notification_period 24x7 }
-
在AEM伺服器上安裝Nagios和NRPE。
-
安裝 check_http_json 外掛程式。
-
在兩台伺服器上定義一般JSON檢查命令:
code language-xml define command{ command_name check_http_json-int command_line /usr/lib/nagios/plugins/check_http_json --user "$ARG1$" --pass "$ARG2$" -u 'https://$HOSTNAME$:$ARG3$/$ARG4$' -e '$ARG5$' -w '$ARG6$' -c '$ARG7$' }
-
為AEM伺服器上的已用記憶體新增服務:
code language-xml define service { use generic-service host_name my.remote.host service_description AEM Author Used Memory check_command check_http_json-int!<cq-user>!<cq-password>!<cq-port>!system/sling/monitoring/mbeans/java/lang/Memory.infinity.json!{noname}.mbean:attributes.HeapMemoryUsage.mbean:attributes.used.mbean:value!<warn-threshold-in-bytes>!<critical-threshold-in-bytes> }
-
檢查Nagios控制面板,以取得新建立的服務:
診斷工具 diagnosis-tools
操作儀表板還提供對診斷工具的訪問,這些工具可幫助查找和排除來自運行狀況檢查儀表板的警告的根本原因,並為系統操作員提供重要的調試資訊。
其最重要的功能包括:
- 日誌消息分析器
- 訪問堆和線程轉儲的功能
- 請求和查詢效能分析器
前往「 工具 — 操作 — 診斷 從AEM歡迎畫面。 您也可以直接存取下列URL來存取畫面: https://serveraddress:port/libs/granite/operations/content/diagnosis.html
記錄訊息 log-messages
預設情況下,日誌消息用戶介面將顯示所有ERROR消息。 如果要顯示更多日誌消息,則需要使用相應的日誌級別配置記錄器。
記錄訊息會使用記憶體記錄中的附加程式,因此與記錄檔無關。 另一個結果是,更改此UI中的日誌級別將不會更改傳統日誌檔案中記錄的資訊。 在此UI中新增和移除記錄器只會影響記憶體記錄器中的。 另外,請注意,更改記錄器配置將反映在記憶體記錄器的將來 — 已記錄且不再相關的條目不會刪除,但類似的條目將來不會記錄。
您可以從UI的左上角齒輪按鈕提供記錄器設定,以設定記錄內容。 您可以在此添加、刪除或更新記錄器配置。 記錄器配置由 記錄層級 (警告/資訊/除錯)和 篩選器名稱. 此 篩選器名稱 具有篩選日誌消息源的角色。 或者,如果記錄器應捕獲指定級別的所有日誌消息,則篩選器名稱應為「根」。 設定記錄器的級別將觸發所有級別等於或高於指定級別的消息的捕獲。
範例:
-
如果您打算擷取 錯誤 messages — 不需要設定。 預設會擷取所有ERROR訊息。
-
如果您打算擷取 錯誤, 警告 和 資訊 messages — 記錄器名稱應設為:"根「」,並將記錄器級別設定為: 資訊.
-
如果您打算擷取來自特定套件(例如com.adobe.granite)的所有訊息,記錄器名稱應設為:"com.adobe.granite"和記錄器層級為: 除錯 (這會擷取 錯誤, 警告, 資訊 和 除錯 訊息),如下圖所示。
Log level: INFO
DATE+TIME [MaintanceLogger] Name=<MT_NAME>, Status=<MT_STATUS>, Time=<MT_TIME>, Error=<MT_ERROR>, Details=<MT_DETAILS>
請求效能 request-performance
「請求效能」頁面可讓您分析處理的最慢頁面請求。 本頁面僅註冊內容要求。 更具體來說,將會擷取下列要求:
- 請求訪問
/content
- 請求訪問
/etc/design
- 請求具有
".html"
擴充功能
頁面隨即顯示:
- 提出請求的時間
- URL和要求方法
- 持續時間(毫秒)
依預設,系統會擷取最慢的20個頁面請求,但您可以在Configuration Manager中修改限制。
查詢效能 query-performance
「查詢效能」頁允許分析系統執行的最慢查詢。 此資訊由JMX Mbean中的儲存庫提供。 在傑克拉布比, com.adobe.granite.QueryStat
JMX Mbean提供此資訊,而在Oak存放庫中則提供 org.apache.jackrabbit.oak.QueryStats.
頁面隨即顯示:
- 進行查詢的時間
- 查詢的語言
- 發出查詢的次數
- 查詢的語句
- 持續時間(毫秒)
說明查詢 explain-query
針對任何指定查詢,Oak會根據存放庫底下的Oak索引,嘗試找出執行的最佳方式 oak:index 節點。 Oak可能會根據查詢選擇不同的索引。 了解Oak如何執行查詢,是最佳化查詢的第一步。
Explain Query是說明Oak如何執行查詢的工具。 您可以前往 工具 — 操作 — 診斷 從「 AEM歡迎畫面」,然後按一下 查詢效能 並切換到 說明查詢 標籤。
功能
- 支援Xpath、JCR-SQL和JCR-SQL2查詢語言
- 報告提供的查詢的實際執行時間
- 檢測慢速查詢並警告可能慢速的查詢
- 報告用來執行查詢的Oak索引
- 顯示實際Oak查詢引擎說明
- 提供「慢速」和「熱門」查詢的點按載入清單
進入「說明查詢」UI後,您只需要輸入查詢,然後按 說明 按鈕:
「查詢說明」部分中的第一個條目是實際說明。 說明將顯示用於執行查詢的索引類型。
第二項是執行計畫。
滴答聲 包括執行時間 框,運行查詢時還將顯示在中執行查詢的時間量,以獲取可用於優化應用程式或部署的索引的詳細資訊。
索引管理器 the-index-manager
「索引管理器」的目的是促進索引管理,例如維護索引或查看其狀態。
可從歡迎螢幕前 Tools - Operations - Diagnosis 訪問它,然後按一下 索引管理器 按鈕。
您也可以直接透過此URL存取: https://serveraddress:port/libs/granite/operations/content/diagnosistools/indexManager.html
UI可用來篩選表格中的索引,方法是在螢幕左上角的搜尋方塊中輸入篩選條件。
下載狀態ZIP download-status-zip
這會觸發下載包含系統狀態和設定之實用資訊的zip。 封存包含執行個體設定、套件組合清單、OSGI、Sling量度和統計資料,因此可能會產生大型檔案。 您可以使用 Download Status ZIP 視窗,來減少大型狀態檔案的影響。 該窗口可從以下位置訪問: AEM >工具>操作>診斷>下載狀態ZIP。
在此窗口中,您可以選擇要導出的內容(日誌檔案和線程轉儲)以及下載中包含的相對於當前日期的日誌天數。
下載線程轉儲 download-thread-dump
這將觸發下載包含系統中存在之執行緒相關資訊的zip。 提供了有關每個線程的資訊,如其狀態、類載入器和堆棧跟蹤。
下載堆轉儲 download-heap-dump
您還可以下載堆的快照,以便稍後分析該快照。 請注意,這會觸發以數百兆位元組為單位的大型檔案下載。
自動維護任務 automated-maintenance-tasks
「自動維護任務」頁是一個位置,您可以在其中查看和跟蹤計畫定期執行的建議維護任務。 這些任務與運行狀況檢查系統整合。 也可以從介面手動執行任務。
若要前往「操作控制面板」中的「維護」頁面,您必須前往 工具 — 操作 — 儀表板 — 維護 從「 AEM歡迎」畫面,或直接遵循此連結:
https://serveraddress:port/libs/granite/operations/content/maintenance.html
操作儀表板中提供以下任務:
-
Revision Clean Up 任務位於 每日維護窗口 功能表。
-
位於 ** 每日維護窗口 功能表。
-
工作流清除 任務位於 每週維護窗口 功能表。
-
此 資料儲存垃圾收集 任務,位於 每週維護窗口 功能表。
-
此 審核日誌維護 任務,位於 每週維護窗口 功能表。
-
此 版本清除維護 任務,位於 每週維護窗口 功能表。
每日維護時段的預設時間為2 AM到5 AM。 週六的上午1:00至2:00之間,將執行在每週維護窗口中運行的任務。
您也可以按兩張維護卡上的齒輪圖示來設定計時:
修訂清理 revision-clean-up
有關執行AEM 6.4修訂清除的詳細資訊, 請參閱這篇專屬文章.
Lucene 二進位清理 lucene-binaries-cleanup
使用Lucene二進位檔清除任務,可以清除lucene二進位檔,並降低執行中的資料存放區大小需求。 這是因為lucene的二進位流失率將會每天重新申請,而非先前依賴成功 資料儲存垃圾收集 執行。
雖然維護任務是為了減少Lucene相關修訂垃圾,但在運行任務時,總體效率有所提高:
- 每週執行資料儲存垃圾收集任務將更快完成
- 也可能會略微改善整體AEM效能
您可以從以下位置訪問Lucene二進位檔清除任務: 「AEM >工具>操作>維護>每日維護視窗> Lucene二進位檔清除」.
資料存放庫廢棄項目收集 data-store-garbage-collection
有關資料儲存垃圾收集的詳細資訊,請參閱 檔案頁面.
工作流清除 workflow-purge
您也可以從維護控制面板清除工作流程。 要運行「工作流清除」任務,您需要:
- 按一下 每週維護窗口 頁面。
- 在下一頁中,按一下 播放 按鈕 工作流清除 卡片。
審核日誌維護 audit-log-maintenance
如需稽核記錄維護,請參閱 獨立的檔案頁面。
版本清除 version-purge
您可以安排「版本清除」維護任務以自動刪除舊版本。 因此,這將手動使用 版本清除工具. 您可以通過訪問 「工具」>「操作」>「維護」>「每週維護」窗口 並遵循下列步驟:
-
按一下 新增 按鈕。
-
選擇 版本清除 從下拉式功能表。
-
要配置「版本清除」任務,請按一下 齒輪 表徵圖。
使用AEM 6.4,您可以按如下方式停止「版本清除」維護任務:
- 自動 — 如果計畫維護窗口在任務完成之前關閉,則任務會自動停止。 下次維護視窗開啟時,就會繼續。
- 手動 — 要手動停止任務,請在「版本清除」維護卡上按一下 停止 表徵圖。 在下次執行時,該任務將安全地恢復。
自定義維護任務 custom-maintenance-tasks
自訂維護任務可以作為OSGi服務實施。 由於維護任務基礎架構以Apache Sling的作業處理為基礎,因此維護任務必須實作java介面 [org.apache.sling.event.jobs.consumer.JobExecutor](https://sling.apache.org/apidocs/sling7/org/apache/sling/event/jobs/consumer/JobExecutor.html)
. 此外,它必須聲明要檢測為維護任務的多個服務註冊屬性,如下所示:
除上述服務屬性外, process()
方法 JobConsumer
介面需要透過新增應為維護任務執行的程式碼來實作。 提供的 JobExecutionContext
可用於輸出狀態資訊、檢查用戶是否停止了作業並建立結果(成功或失敗)。
對於維護任務不應在所有安裝上運行的情況(例如,僅在發佈實例上運行),您可以通過添加使服務需要配置才能處於活動狀態 @Component(policy=ConfigurationPolicy.REQUIRE)
. 然後,您可以根據儲存庫中的設定,將標示為執行模式。 如需詳細資訊,請參閱 配置OSGi.
以下是自定義維護任務的示例,該任務從過去24小時內修改的可配置臨時目錄中刪除檔案:
src/main/java/com/adobe/granite/samples/maintenance/impl/DeleteTempFilesTask.java
experiencemanager-java-maintenancetask-sample- src/main/java/com/adobe/granite/samples/maintenance/impl/DeleteTempFilesTask.java
部署服務後,它將會公開給Operations Dashboard UI,並可新增至其中一個可用的維護排程:
這會在/apps/granite/operations/config/maintenance/新增對應的資源schedule
/taskname
. 如果任務與運行模式相關,則需要在該節點上設定granite.operations.conditions.runmode屬性,其中運行模式的值需要為此維護任務處於活動狀態。
系統綜覽 system-overview
此 系統概述控制面板 顯示AEM例項的設定、硬體和運作狀況的概觀。 這表示系統健康狀態是透明的,所有資訊都會匯總到單一控制面板中。
如何存取 how-to-access
若要存取「系統概述控制面板」,請導覽至 「工具」>「操作」>「系統概述」.
系統概述儀表板說明 system-overview-dashboard-explained
下表說明了「系統概述控制面板」中顯示的所有資訊。 請記住,當沒有要顯示的相關資訊時(例如,備份未進行,沒有關鍵的運行狀況檢查),相應的部分將顯示「無條目」消息。
您也可以下載 JSON
檔案,按一下 下載 按鈕。 JSON
端點為 /libs/granite/operations/content/systemoverview/export.json
它可用於 curl
外部監視的指令碼。