設定及部署監控資產

若要使用 Oracle Database 19c 和 Apache Tomcat 上架 Linux ARM 主機,您必須完成下列任務:
  1. 在 Apache Tomcat 上部署 APM Java 代理程式。
  2. 設定合成監控以監控應用程式端點。
  3. 部署管理代理程式。
  4. 探索堆疊監控上的基礎架構。

設定 Application Performance Monitoring

首先,設定應用程式效能監督。

從 Web 瀏覽器登入您的 OCI 租用戶。您將從 Cloud Shell 輸入下列大部分命令。若您不清楚,請參閱相關文件。如果您沒有 O&M 資源 (例如 APM 網域) 的區間,請立即建立:
  1. 依序選取身分識別與安全區間頁面,然後按一下建立區間
  2. 提供有意義的名稱與描述,例如:
    • 名稱 = om-demo
    • 說明 = Compartment for Observability & Management resources
    等待一分鐘的時間佈建區間。完成之後,請注意區間的 OCID。

現在,請執行下列作業:

  1. 開啟 Cloud Shell 並執行下列作業,以建立新的 APM 免費層網域:
    1. 輸入以下內容來選擇 O&M 資源的區間:
      export COMPARTMENT_OCID=YOUR_COMPARTMENT_OCID
    2. 輸入以下內容來選擇 APM 網域名稱:
      export APM_DISPLAY_NAME=demoapm01 
      
      oci apm-control-plane apm-domain create --compartment-id $COMPARTMENT_OCID --display-name $APM_DISPLAY_NAME --is-free-tier TRUE --wait-for-state SUCCEEDED --wait-interval-seconds 15 
  2. 依序選取可觀察性與管理 (Observability & Management) Application Performance Monitoring管理 (Administration) 以顯示建立狀態 (請確定選取正確的區間)。
    等待要建立的網域,大約需要 5 分鐘。您也可以使用 Cloud Shell,透過下列命令查看進度:
    export COMPARTMENT_OCID=YOUR_COMPARTMENT_OCID 
    
    oci apm-control-plane apm-domain list --compartment-id $COMPARTMENT_OCID --all --query "data[].{\"display-name\":\"display-name\",\"lifecycle-state\":\"lifecycle-state\",\"id\":\"id\"}" --output table 
    您應該會看到類似以下的回應:
    +--------------+-----------------------------+-----------------+
    | display-name | id                          | lifecycle-state |
    +--------------+-----------------------------+-----------------+
    | demoapm01    | ocid1.apmdomain.oc1.***.*** | ACTIVE          |
    +--------------+-----------------------------+-----------------+
  3. APM 網域 OCID 的注意事項,並輸入下列命令以產生 data-upload-endpointdatakeys (您稍後將用來安裝 Java APM 代理程式):
    export APM_OCID=YOUR_APM_DOMAIN_OCID
    
    oci apm-control-plane apm-domain get --apm-domain-id $APM_OCID --query "data.{\"data-upload-endpoint\":\"data-upload-endpoint\"}" --output table
    
    oci apm-control-plane data-key list --apm-domain-id $APM_OCID --all --query "data[].{\"name\":\"name\",\"type\":\"type\",\"value\":\"value\"}" --output table
    
    您應該會看到類似以下的回應:
    +-----------------------------------------------------------------------------+
    | data-upload-endpoint                                                        |
    +-----------------------------------------------------------------------------+
    | https://***.apm-agt.***.oci.oraclecloud.com                                 |
    +-----------------------------------------------------------------------------+ 
    
    +--------------------------------+---------+----------------------------------+
    | name                           | type    | value                            |
    +--------------------------------+---------+----------------------------------+
    | auto_generated_private_datakey | PRIVATE | ******************************** |
    | auto_generated_public_datakey  | PUBLIC  | ******************************** |
    +--------------------------------+---------+----------------------------------+
  4. 依序選取可觀察性與管理 (Observability & Management) Application Performance Monitoring管理 (Administration) ,然後從「下載 APM 代理程式」頁面下載 Java 代理程式。
  5. 將 JAR 檔案複製到每個 Apache Tomcat 主機:
    [tomcat@stvociapp021 ~]$ pwd
    /home/tomcat
    [tomcat@stvociapp021 ~]$ ls -l apm-java-agent-installer-1.10.1.3.jar
    -rwxrwxr-x. 1 tomcat tomcat 11741769 Jul 26 07:39 apm-java-agent-installer-1.10.1.3.jar
    [tomcat@stvociapp021 ~]$
    
  6. 使用下列命令安裝 Tomcat 使用者的 Java 代理程式 (根據您自己的環境設定 VARIABLES):
    1. 設定 Apache Tomcat 安裝本位目錄路徑:
      export APM_INSTALL_DESTINATION=/opt/tomcat 
    2. 設定 APM 安裝 JAR 完整路徑:
      export APM_INSTALLER=/home/tomcat/apm-java-agent-installer-1.10.1.3.jar 
    3. 選擇要用於 APM 網域匯出的服務名稱:
      APM_SERVICE_NAME=apex_tomcat_service
    4. 新增 APM 網域資訊:
      export APM_PRIVATE_KEY=YOUR_PRIVATE_KEY 
      export APM_ENDPOINT=YOUR_APM_ENDPOINT 
      export APM_PUBLIC_KEY=YOUR_PUBLIC_KEY
    5. 如有需要,請新增其他 APM 選項;例如,繫線快照或啟用 APM 瀏覽器代理程式插入:
      export APM_ADDITIONAL_OPTIONS="-property=com.oracle.apm.agent.deepdive.trace.snapshots.collection.enable=true" 
    6. 設定 JAVA_HOMEPATH 變數:
      export JAVA_HOME=PATH_TO_JAVA_HOME 
      export PATH=$JAVA_HOME/bin:$PATH
    7. 安裝 APM Java 代理程式:
      java -jar ${APM_INSTALLER} provision-agent -service-name=${APM_SERVICE_NAME} -destination=${APM_INSTALL_DESTINATION} -private-data-key=${APM_PRIVATE_KEY} -data-upload-endpoint=${APM_ENDPOINT} ${APM_ADDITIONAL_OPTIONS} -public-data-key=${APM_PUBLIC_KEY}
  7. 新增 javaagent 特性來修改 Apache Tomcat JAVA_OPTS;例如:
    export JAVA_OPTS="-Dconfig.url=${ORDS_CONFIG} -Xms1024M -Xmx4096M -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true -javaagent:${TOMCAT_HOME}/oracle-apm-agent/bootstrap/ApmAgent.jar "
  8. 重新啟動 Apache Tomcat。
  9. 驗證 Java 代理程式日誌檔 (將 TOMCAT_HOME 變更為 Tomcat 安裝本位目錄路徑):
    ls -l ${TOMCAT_HOME}/oracle-apm-agent/log/*/Agent* 
  10. 最後,依序選取 Observability & ManagementApplication Performance MonitoringTrace Explorer ,並驗證是否已正確收集追蹤。

設定合成監控

在 Apache Tomcat 上設定 APM Java 代理程式之後,您可以建立監視器來模擬應用程式中的使用者活動。您可以使用 OCI 主控台或 OCI Cloud Shell,以程式設計方式建立 OCI 資源。

瀏覽至「合成監控」頁面 ( 可觀察性與管理 > Application Performance Monitoring > 合成監控 ),以建立持續測試應用程式端點的監控器。

開啟雲端 Shell,即可為應用程式快速建立 BROWSER 監督器。然後,請執行下列步驟:

  1. 取得可用的觀察點清單:
    export APM_OCID=YOUR_APM_DOMAIN_OCID 
    
    oci apm-synthetics public-vantage-point-collection list-public-vantage-points --apm-domain-id $APM_OCID 
  2. 測試應用程式端點 (此範例使用阿什本區域測試這些端點):
    echo "[\"OraclePublic-us-ashburn-1\"]" > $HOME/vantage_points.json
  3. 建立可用性組態的 JSON 檔案:
    echo {\"maxAllowedFailuresPerInterval\": 0, \"minAllowedRunsPerInterval\": 1} >  availability_configuration.json
  4. 建立用於網路測量的 JSON 檔案:
    echo {\"probeMode\": \"SACK\",  \"probePerHop\": 3,  \"protocol\": \"TCP\" } > network_measurements.json
  5. 最後,建立監督器:
    1. 識別您的 APM 網域:
      export APM_OCID=YOUR_APM_DOMAIN_OCID
    2. 提供監督器名稱:
      export MONITOR_DISPLAY_NAME=demo-monitor-01 
    3. 提供您的應用程式端點 URL:
      export MONITOR_TARGET=http://LOAD_BALANCER_PUBLIC_IP/APPLICATION_TEST_URL
    4. 提供監督間隔 (秒):
       export MONITOR_REPEAT_INTERVAL=360 oci apm-synthetics monitor create-browser-monitor --apm-domain-id $APM_OCID --display-name $MONITOR_DISPLAY_NAME --monitor-type BROWSER --repeat-interval-in-seconds $MONITOR_REPEAT_INTERVAL --vantage-points file://$HOME/vantage_points.json --is-certificate-validation-enabled FALSE --is-failure-retried true --target $MONITOR_TARGET --availability-configuration file://$HOME/availability_configuration.json --network-configuration file://$HOME/network_measurements.json
您可以在「合成監控」頁面中查看剛才建立的監控器狀態。在此範例中,提供的 URL 每六分鐘會受到監督 (若要檢視測試結果的詳細資訊,請按一下監督器名稱,然後從「資源」功能表中選取歷史記錄 )。

部署管理代理程式

設定「堆疊監督」之前,您必須在要監督的每個主機安裝 Oracle Management Agent。此示範會使用 RPM 安裝來進行管理代理程式 (如果您的 Linux ARM 主機是在內部部署或在不同的雲端提供者上執行,則您可以使用此方法)。

注意:

如果您不知道如何安裝 Oracle Management Agent,請參閱 OCI 文件中的「安裝管理代理程式」,您可以從本手冊結尾的「瀏覽更多」主題存取。
開始之前,請從「下載與金鑰」頁面下載「管理代理程式」軟體:
  1. 依序選取管理代理程式下載和金鑰
  2. 選取套裝軟體類型為 RPM 的 Agent for LINUX (AARCH64)
  3. 從同一個頁面建立新的安裝金鑰,以設定代理程式。提供必要的參數:
    • 金鑰名稱 = demo-key-01
    • 區間 = om-demo
    • 最大安裝數 = default

注意:

如果您不知道如何建立安裝金鑰,請參閱 OCI 文件中的「建立安裝金鑰」,您可以從此手冊結尾的「探索更多」主題存取。
現在,請部署管理代理程式:
  1. 使用 SSH 連線至 Linux 執行處理,如果還沒有,請安裝 JDK8:
    # dnf install -y java-1.8.0-openjdk 
  2. 安裝 Management Agent:
    # rpm -ivh oracle.mgmt_agent.230622.2155.Linux-Aarch64.rpm
  3. 設定「管理代理程式」,如下範例所示:
    1. 開啟 vi 編輯器:
      # vi /usr/share/mgmt_agent/input.rsp 
      
    2. 新增下列內容:
      ManagementAgentInstallKey = <COPY_YOUR_KEY_HERE>
      CredentialWalletPassword = <CHOOSE_YOUR_WALLET_PASSWORD>
    3. 變更管理代理程式的擁有者:
      # chown mgmt_agent. /usr/share/mgmt_agent/input.rsp 
  4. 執行下列命令以完成管理代理程式組態:
    # sudo /opt/oracle/mgmt_agent/agent_inst/bin/setup.sh opts=/usr/share/mgmt_agent/input.rsp  
在幾分鐘後,您將從「管理代理程式」到「代理程式」頁面看到代理程式。您不需要啟用「堆疊監督」Plug-in;「堆疊監督」會自動為您啟用它。

啟用完整主機監督

啟用「堆疊監督」服務時,您接著想要啟用應用程式所需之主機的完整監督。堆疊監督會自動準備作業,以啟用 OCI 運算執行處理的監督功能。若要啟用完整監督,請選取升級為完整監督。從可用主機清單中找出 Tomcat 和 Oracle Database 主機,以升級並選取升級。這將會呼叫滑出式;從此滑出式確認資源名稱與主機的完整網域名稱相符。接著,按一下升級。堆疊監控會在幾分鐘內建立新首頁,並開始收集新的度量。

設定堆疊監控功能

最後,您需要設定「堆疊監督」。

在實際設定服務之前,您必須先滿足下列先決條件:
  1. 啟用「堆疊監控」服務。
  2. 啟用 JMX 監督。
  3. 建立 Oracle Database 監督使用者。
然後完成下列步驟以設定「堆疊監督」:
  1. 啟用主機的完整監督。
  2. 尋找 Oracle Database。
  3. 探索 Apache Tomcat。
以下步驟說明這些處理程序。
  1. 啟用「堆疊監督」服務:
    依序瀏覽至可觀察性與管理 (Observability & Management) Application Performance Monitoring堆疊監控,然後按一下啟用堆疊監控 (Enable Stack Monitoring)
  2. 在 Apache Tomcat 上啟用 JMX:
    堆疊監督需要先啟用 JMX,才能進行尋找。若要在 Apache Tomcat 上啟用 JMX,請執行下列動作:
    1. 將下列各行加入 setenv.bat
      set CATALINA_OPTS=-Dcom.sun.management.jmxremote 
      -Dcom.sun.management.jmxremote.port=9012 
      -Dcom.sun.management.jmxremote.ssl=false 
      -Dcom.sun.management.jmxremote.authenticate=false
    2. 建立組態資料夾以儲存 jmxremote.accessjmxremote.password 檔案:
      mkdir -p /opt/tomcat/conf
    3. jmxremote.access 建立為 Tomcat 使用者:
      cd /opt/tomcat/conf 
      echo "monitorRole readonly 
      controlRole readwrite" > jmxremote.access 
    4. 將以下各項新增至 jmxremote.password 檔案。請注意,密碼檔應為唯讀,且只有作業系統使用者 Tomcat 才可存取。以 Tomcat 使用者身分:
      cd /opt/tomcat/conf 
      echo "monitorRole tomcat 
      controlRole tomcat" > jmxremote.password 
    5. 重新啟動 Apache Tomcat。
  3. 建立資料庫監督使用者:
    在「堆疊監督」內尋找資料庫之前,請先確定您具備監督使用者的存取權。您可以使用 Oracle Database 內建的 DBSNMP 使用者,並具備監督資料庫所需的權限,或是建立僅具備必要權限的自訂使用者。您可以在 MOS 注意事項:2857604.1 中找到建立資料庫監控使用者的步驟,您可以從本播放手冊結尾的「探索更多」存取此步驟。
  4. 啟用完整主機監督:
    啟用「堆疊監督」服務時,第一步是啟用應用程式所需之主機的完整監督。堆疊監控會自動準備作業,以便監控 OCI 運算執行處理。若要啟用完整監督:
    1. 按一下升級為完整監督
    2. 從要升級的可用主機清單中找出 Tomcat 和 Oracle Database 主機,然後按一下升級。這將會呼叫投影片。
    3. 從此投影片中確認「資源名稱」與主機的完整網域名稱相符,然後按一下「升級」。

    堆疊監控會在幾分鐘內建立新首頁,並開始收集新的度量。

  5. 尋找應用程式依賴的 Oracle 資料庫:
    透過堆疊監控簡單且空白的探索 UI,輕鬆探索資源。開始使用:
    1. 瀏覽至「資源尋找」頁面,然後按一下尋找新資源。選取之後,將會出現滑動視窗。
    2. 從下拉式功能表中選取 Oracle Database
    3. 完成資源名稱DNS 主機名稱服務名稱等欄位,然後按一下尋找新資源

    工作完成時,「堆疊監督」會立即開始收集度量並建立首頁。

  6. 探索 Apache Tomcat 伺服器
    尋找 Apache Tomcat:
    1. 瀏覽至「尋找資源」,然後按一下尋找新資源
    2. 從下拉式清單中選取 Apache Tomcat
    3. 完成填空的欄位,例如 JMX 連接埠,以及監督使用者名稱和密碼,然後按一下尋找新資源

    工作完成之後,請瀏覽至「堆疊監督」的「企業摘要」。此儀表板會顯示 Oracle Database、Apache Tomcat 以及 Tomcat 所依賴之主機的效能和狀態。

    接下來,請與資源建立關聯,讓應用程式堆疊上下輕鬆瀏覽。如需有關資源的詳細資訊,請參閱「更新應用程式拓樸」(您可以從本手冊結尾的「探索更多」主題存取)。

    最後,設定資源的警示。警示範例:
    • 主機
      • 檔案系統使用量
      • CPU 和記憶體使用率
      • 監督狀態
    • Oracle Database
      • 監督狀態
      • CPU 和記憶體
      • 等待時間
      • 依表格空間區分的儲存使用率
    • Apache Tomcat
      • 監督狀態
      • JVM 記憶體使用量 (堆集和非堆集)
      • CPU 使用率