Monitoring IBM App Connect Enterprise (ACE)

安裝 Instana 主機代理程式之後,會自動安裝 IBM ACE 感應器,但您需要依照這個主題所概述來配置 IBM ACE 感應器。 然後,您可以在 Instana 使用者介面中檢視與 IBM ACE 相關的度量值。

支援的資訊

支援的作業系統

IBM ACE 感應器支援的作業系統與主機代理程式需求一致,您可以在每一個主機代理程式的 支援的作業系統 區段中檢查這些需求,例如 Unix 支援的作業系統

支援的 ACE 版本和平台

IBM ACE 感應器和 Instana ACE 追蹤具有不同的版本和平台需求。 如需相關資訊,請參閱 支援的 ACE 版本和平台

附註

  • 對於 IBM Integration Bus v10,請確保使用 10.0.0.24 或更新版本。 否則,「儲存區中的執行緒數目」不會根據 WLM 原則報告正確的值。
  • 在雲端原生環境中,僅支援 IBM App Connect Enterprise 認證儲存器映像檔。
    其他支援的資訊
  • IBM ACE 感應器支援本端監視及遠端監視。

配置

您可以在傳統或雲端原生環境中配置 IBM ACE 感應器。

必要條件

  • 如果伺服器是 IBM Integration Bus v10,請使用下列指令來檢查統計資料狀態。 必要時開啟或關閉統計資料收集。
    附註: 只有在統計資料收集及資源統計資料收集處於作用中狀態時,才會傳回度量值。

    • 請檢查資源統計資料狀態,必要的話,請開啟。 請參閱下列範例:
    # Check the collection state of resource statistics for specified server in specified integration node.
    mqsireportresourcestats integrationNode -e integrationServer
    # If the state is inactive, turn on the resource statistics collection for specified integration server in specified integration node.
    mqsichangeresourcestats integratorNode -e integrationServer -c active
    

    如需相關資訊,請參閱 mqsireportresourcesmqsichangeresourcestats

    • 請檢查統計資料狀態,並在必要時開啟。 請參閱下列範例:
    # Check the statistics gathering state for all message flows in sepcified integration server for specified integrator node. "-s" means snapshot type
    mqsireportflowstats integratorNode  -s -e integrationServer  -j
    # If the state is inactive, turn on the collection of snapshot statistics data for all message flows in specified integration server for specified integration node, and emit the data in JSON format.
    # Example-1 without setting thread data level:
    mqsichangeflowstats integrationNode -s -e integrationServer -j -c active -o json
    # Example-2 with setting thread data level:
    mqsichangeflowstats integrationNode -s -e integrationServer -j -t basic -c active -o json
     # Example-3 with setting both thread data level and node data level:
    mqsichangeflowstats integrationNode -s -e integrationServer -j -t basic -n basic -c active -o json
    

    如需相關資訊,請參閱 mqsireportflowstatsmqsichangeflowstats

    附註

    • 如果您要檢查每一個訊息流程的執行緒使用,當您使用 mqsichangeflowstats 指令時,需要使用選項 -t basic 來啟用執行緒資料。
    • 您可以要求兩種類型的資料收集: Snapshot 和保存。 如需相關資訊,請參閱 訊息流程結算及統計資料收集選項。 適用於 IBM ACE Sensor 的 Snapshot 類型。
  • 如果 IBM MQ 用於 ACE/IIB 傳統環境,請設定通道。 如果整合節點或伺服器與佇列管理程式相關聯,則必須設定伺服器連線通道。 此通道中整合伺服器、訊息流程及流程節點流程的效能度量資料。 此通道可由 configuration.yaml 檔案中指定的使用者名稱或密碼存取。 除了通道名稱、使用者名稱及密碼之外,您還需要在 configuration.yaml中指定佇列管理程式名稱及接聽埠。 如果您有通道配置的任何問題,請參閱 解決 CHLAUTH 存取問題

針對傳統 ACE 進行配置

對於傳統 ACE , Instana 支援監視遠端及本端 IBM ACE 實例。 您需要在代理程式配置 <agent_install_dir>/etc/instana/configuration.yaml 檔中配置下列欄位:

  • 若要使用遠端監視,請將目標 ACE 伺服器的 IP 位址設為主機的值。 否則,請註銷主機屬性,依預設會使用本端監視。

  • 若要監視不同主機上具有相同名稱的分配管理系統或整合伺服器,請使用 brokerName:xintegrationServer:x 作為分配管理系統或整合伺服器 (例如 BK1:1BK:2) 的金鑰。

若要取得如何取得這些欄位值的提示,請參閱 ACE 感應器配置的有用提示 部落格。

請參閱下列範例 configuration.yaml 檔案:

com.instana.plugin.ace:
  enabled: true
  poll_rate: 60                  # Default value is 60 seconds, and the minimum value is 20 seconds.
  flowNodesExcludedRegex: ''     # Global regex for filtering exclusive flow nodes from all integration nodes (optional)
  NodesOrServers:                # Multiple Integration node instances or multiple standalone Integration servers can be specified
    BK1:  # Example1: Integration Node with MQTT (required)
      ######################################################################################################
      # Following Parameters are used to access ACE server's rest api service to retrieve status data, configuration data, etc.
      # Optional parameters are commented out by default. Remove the ‘#’ when needed.
      ######################################################################################################
      # host: 'aceserver.com'  # Host of ACE server or hosts of HA with multi-instance/RDQM system for remote monitoring. For HA, seperate multiple hosts by comma. (optional)
      restApiPort: '4414'            # ACE server's rest api port (required)
      #aceUsername: 'viewer'         # ACE rest api service username if security is enabled (optional)
      #acePassword: 'viewerPassword' # ACE rest api service password if security is enabled (optional)
      #keystore: '/tmp/server_keystore.jks' # Keystore path for HTTPS connection (required only when HTTPS is enabled)
      #keystorePassword: 'password'  # Keystore password for HTTPS connection (required only when HTTPS is enabled)
      #excludedServers: '<INTEGRATION_SERVER_NAMES>' # Integration server name to be excluded from monitoring. You can separate multiple names by comma (optional)
      #flowNodesExcludedRegex: ''    # Regex for filtering exclusive flow nodes from the integration node. The regex that is set in this property has higher priority than the global regex. (optional)
      #availabilityZone: 'IBM ACE Custom Zone' # Broker name will be used by default (optional)
      #######################################################################################################
      # Following parameters are used to access ACE server's pub/sub service, to retrieve performance statistics data
      # Optional parameters are commented out by default. Remove the ‘#’ when needed.
      # Note: if MQTT is used, then keep mqport only and comment out other MQ parameters.
      #######################################################################################################
      #mqHost: 'mqserver.com'        # MQ host/IP address to access channel, which can be reached only by using the external IP address (optional)
      mqport: '11883'                # Set the port for the MQTT server or remote administration IBM MQ channel port (required)
      #queuemanagerName: 'QM1'       # Queue Manager name (required for IBM MQ)
      #channel: 'SYSTEM.DEF.SVRCONN' # Remote administration channel (required for IBM MQ)
      #mqUsername: 'mqUser'          # MQ channel authentication's username if security is enabled (optional for IBM MQ)
      #mqPassword: 'mqPassword'      # MQ channel authentication's password if security is enabled (optional for IBM MQ)
      #mqKeystore: '<MQ_KEYSTORE_PATH>'             # Keystore path for TLS connection (optional for IBM MQ. Required only when TLS is enabled for remote monitoring)
      #mqKeystorePassword: '<MQ_KEYSTORE_PASSWORD>' # Keystore password for TLS connection (optional for IBM MQ. Required only when TLS is enabled for remote monitoring)
      #mqCipherSuite: '<MQ_CIPHER_SUITE>'           # Cipher suite for TLS connection (optional for IBM MQ. Required only when TLS is enabled for remote monitoring)
    IS1:  # Example2: High Availability integration Node with MQ configured. (required)
      ######################################################################################################
      # Following Parameters are used to access ACE server's rest api service to retrieve status data, configuration data, etc.
      # Optional parameters are commented out by default. Remove the ‘#’ when needed.
      ######################################################################################################
      host: 'ha-instance1.com,ha-instance2.com'  # Host of ACE server or hosts of HA with multi-instance/RDQM system for remote monitoring. For HA, seperate multiple hosts by comma. (optional)
      restApiPort: '4414'            # ACE server's rest api port (required)
      #aceUsername: 'viewer'         # ACE rest api service username if security is enabled (optional)
      #acePassword: 'viewerPassword' # ACE rest api service password if security is enabled (optional)
      #keystore: '/tmp/server_keystore.jks' # Keystore path for HTTPS connection (required only when HTTPS is enabled)
      #keystorePassword: 'password'  # Keystore password for HTTPS connection (required only when HTTPS is enabled)
      #excludedServers: '<INTEGRATION_SERVER_NAMES>' # Integration server name to be excluded from monitoring. You can separate multiple names by comma (optional)
      #flowNodesExcludedRegex: ''    # Regex for filtering exclusive flow nodes from the integration node. The regex that is set in this property has higher priority than the global regex. (optional)
      #availabilityZone: 'IBM ACE Custom Zone' # Broker name will be used by default (optional)
      #######################################################################################################
      # Following parameters are used to access ACE server's pub/sub service, to retrieve performance statistics data
      # Optional parameters are commented out by default. Remove the ‘#’ when needed.
      #######################################################################################################
      #mqHost: 'mqserver.com'       # MQ host or IP address to access channel, which can be reached only by using the external IP address (optional)
      mqport: '1414'                # Set the port for the MQTT server or remote administration IBM MQ channel port (required)
      queuemanagerName: 'QM2'       # Queue Manager name (required for IBM MQ)
      channel: 'SYSTEM.DEF.SVRCONN' # Remote administration channel (required for IBM MQ)
      mqUsername: 'mqUser'          # MQ channel authentication's username if security is enabled (optional for IBM MQ)
      mqPassword: 'mqPassword'      # MQ channel authentication's password if security is enabled (optional for IBM MQ)
      #mqKeystore: '<MQ_KEYSTORE_PATH>'             # Keystore path for TLS connection (optional for IBM MQ. Required only when TLS is enabled for remote monitoring)
      #mqKeystorePassword: '<MQ_KEYSTORE_PASSWORD>' # Keystore password for TLS connection (optional for IBM MQ. Required only when TLS is enabled for remote monitoring)
      #mqCipherSuite: '<MQ_CIPHER_SUITE>'           # Cipher suite for TLS connection (optional for IBM MQ. Required only when TLS is enabled for remote monitoring)
    BK1:2:  # Example3: Same broker names on different hosts, such as BK1, BK1:1, BK1:2, BK1:n, etc.
      ######################################################################################################
      # Following Parameters are used to access ACE server's rest api service to retrieve status data, configuration data, etc.
      # Optional parameters are commented out by default. Remove the \u2018#\u2019 when needed.
      ######################################################################################################
      host: 'aceserver.com'  # Host of ACE server or hosts of HA with multi-instance/RDQM system for remote monitoring. For HA, seperate multiple hosts by comma. (optional)
      restApiPort: '4414'           # ACE server's rest api port (required)
      aceUsername: 'viewer'         # ACE rest api service username if security is enabled (optional)
      acePassword: 'viewerPassword' # ACE rest api service password if security is enabled (optional)
      # keystore: '/tmp/server_keystore.jks' # Keystore path for HTTPS connection (required only when HTTPS is enabled)
      # keystorePassword: 'password'  # Keystore password for HTTPS connection (required only when HTTPS is enabled)
      # excludedServers: '<INTEGRATION_SERVER_NAMES>' # Integration server name to be excluded from monitoring. You can separate multiple names by comma (optional)
      # flowNodesExcludedRegex: ''  # Regex for filtering exclusive flow nodes from the integration node. The regex that is set in this property has higher priority than the global regex. (optional)
      # availabilityZone: 'IBM ACE Custom Zone' # Broker name will be used by default (optional)
      #######################################################################################################
      # Following parameters are used to access ACE server's pub/sub service, to retrieve performance statistics data
      # Optional parameters are commented out by default. Remove the \u2018#\u2019 when needed.
      # Note: if MQTT is used, then keep mqport only and comment out other MQ parameters.
      #######################################################################################################
      mqHost: 'mqserver.com'        # MQ host/IP address to access channel, which can be reached only by using the external IP address (optional)
      mqport: '1414'                # Set the port for the MQTT server or remote administration IBM MQ channel port (required)
      queuemanagerName: 'QM1'       # Queue Manager name (required for IBM MQ)
      channel: 'SYSTEM.DEF.SVRCONN' # Remote administration channel (required for IBM MQ)
      mqUsername: 'mqUser'          # MQ channel authentication's username if security is enabled (optional for IBM MQ)
      mqPassword: 'mqPassword'      # MQ channel authentication's password if security is enabled (optional for IBM MQ)
      #mqKeystore: '<MQ_KEYSTORE_PATH>'             # Keystore path for TLS connection (optional for IBM MQ. Required only when TLS is enabled for remote monitoring)
      #mqKeystorePassword: '<MQ_KEYSTORE_PASSWORD>' # Keystore password for TLS connection (optional for IBM MQ. Required only when TLS is enabled for remote monitoring)
      #mqCipherSuite: '<MQ_CIPHER_SUITE>'           # Cipher suite for TLS connection (optional for IBM MQ. Required only when TLS is enabled for remote monitoring)

配置雲端原生 ACE

自動探索雲端原生環境中 ACE 感應器的配置。

檢視度量值

若要檢視度量值,請完成下列步驟:

  1. 在 Instana 使用者介面的資訊看板中,選取 基礎架構
  2. 按一下特定的受監視主機。

您可以查看包含所有已收集度量及受監視處理程序的主機儀表板。

配置資料

  • 預設佇列管理程式名稱
  • 產品名稱
  • 版本
  • 建置層次
  • 平台名稱
  • 平台架構
  • 平台版本
  • 應用程式名稱

效能度量

整合伺服器

度量 說明
起始資料堆記憶體 JVM 在啟動期間,從作業系統要求記憶體管理的起始記憶體數量。
已用資料堆記憶體 使用中的記憶體數量。
已確定的資料堆記憶體 作業系統配置給 JVM 的記憶體數量。
資料堆記憶體上限 可以用於記憶體管理的記憶體數量上限。
起始非資料堆記憶體 JVM 在啟動期間,從作業系統要求記憶體管理的起始記憶體數量。
已用非資料堆記憶體 使用中的記憶體數量。
已確定的非資料堆記憶體 作業系統配置給 JVM 的記憶體數量。
非資料堆記憶體上限 可以用於記憶體管理的記憶體數量上限。
累積 GC 時間 收集資料的時間 (以秒為單位)。
累積 GC 數 這個 JVM 實例發生的記憶體回收總數。

訊息流程

度量 資料類型 說明
經歷時間總計 數字 訊息流程處理輸入訊息所耗費的經歷時間總計 (微秒)。
最長經歷時間 數字 訊息流程處理輸入訊息所耗費的最長經歷時間 (微秒)。
最短經歷時間 數字 訊息流程處理輸入訊息所耗費的最短經歷時間 (微秒)。
CPU 時間總計 數字 訊息流程處理輸入訊息所耗費的 CPU 時間總計 (微秒)。
最長 CPU 時間 數字 訊息流程處理輸入訊息所耗費的 CPU 時間上限 (以微秒為單位)。
最短 CPU 時間 數字 訊息流程處理輸入訊息所耗費的最短 CPU 時間 (微秒)。
等待輸入訊息的 CPU 時間 數字 訊息流程等待輸入訊息所耗費的 CPU 時間總計 (微秒)。
等待輸入訊息的經歷時間 數字 等待輸入訊息所耗費的經歷時間總計(以微秒為單位)。
所有輸入訊息數 數字 輸入訊息總數。
輸入訊息大小總計 數字 輸入訊息的大小總計 (以位元組為單位)。
輸入訊息大小上限 數字 輸入訊息的大小上限(以位元組為單位)。
輸入訊息大小下限 數字 輸入訊息的大小下限 (以位元組為單位)。
儲存區中的執行緒數 數字 儲存區中的執行緒數目。
達到執行緒數目上限的次數 數字 達到執行緒數目上限的次數。
MQGET 錯誤數 數字 MQGET 錯誤數(MQInput 節點)或「Web 服務」錯誤數(HTTPInput 節點)。
有錯誤的訊息數 數字 包含錯誤的訊息數。
處理訊息時的錯誤數 數字 處理訊息時發生的錯誤數。
交易逾時數 數字 處理訊息時發生的交易逾時數 (僅適用於 AggregateReply 節點)。
交易確定數 數字 處理訊息時發生的交易確定數。
交易取消數 數字 處理訊息時發生的交易取消數。
執行緒使用率 數字 每一個訊息流程的執行緒使用率數目。

訊息流程節點

度量 資料類型 說明
經歷時間總計 數字 處理輸入訊息所耗費的經歷時間總計 (以微秒為單位)。
最長經歷時間 數字 處理輸入訊息所耗費的最長經歷時間 (微秒)。
最短經歷時間 數字 處理輸入訊息所耗費的最短經歷時間 (以微秒為單位)。
CPU 時間總計 數字 處理輸入訊息所耗費的 CPU 時間總計 (以微秒為單位)。
最長 CPU 時間 數字 處理輸入訊息所耗費的最長 CPU 時間(以微秒為單位)。
最短 CPU 時間 數字 處理輸入訊息所耗費的最短 CPU 時間 (微秒)。
呼叫數 數字 此流程節點已處理的訊息總數。
輸入類型終端機數目 數字 輸入類型終端機數目。
輸出類型終端機數目 數字 輸出類型終端機數目。

已知限制

  • 如果已對 REST API 介面啟用 HTTPS ,您需要在 <agent_install_dir>/etc/instana/configuration.yaml中指定金鑰儲存庫和 keystorePassword 參數。 對於金鑰儲存庫類型,僅支援 JKS 或 P12 。

性能簽章

每一個感應器都有一個經過策劃的性能簽章知識庫,可針對送入的度量值持續進行評估,並用來提出問題或發生事件,視使用者影響而定。

內建事件 會根據實體上失敗的性能簽章來觸發問題或突發事件,而 自訂事件 會根據任何實體的個別度量值臨界值來觸發問題或突發事件。

如需 IBM ACE 感應器之內建事件的相關資訊,請參閱 內建事件參照

疑難排解

  • 測試 IBM MQ 通道連線功能
    如果您想要測試 IBM MQ 通道連線功能,則必須先設定「 IBM MQ 探險家」。 然後,您可以使用 configuration.yaml 檔案中提供的認證,在「 IBM MQ 探險家」中測試通道連線功能。

  • 解決自動探索失敗的警告訊息
    如果自動探索失敗,您可能會在儀表板使用者介面上收到警告訊息。 這些警告訊息的說明及解決方案如下:

    • Auto-discovery: The OS Windows 10 is not supported for automatic discovery.
      如果您在主機上執行 OS Windows 10 ,則會顯示此訊息。 自動探索不支援 OS Windows 10。 若要解決此問題,您必須在 <agent_install_dir>/etc/instana/configuration.yaml 檔案中指定整合節點資訊,以繼續使用 REST API 進行監視。
    • Auto-discovery: The OS Windows 10 or the ACE/IIB v10 is not supported for automatic discovery currently.
      當主機執行 OS Windows 10 或 IBM Integration Bus v10 時,會顯示此訊息。 不支援這兩者。 若要解決此問題,請遵循前一則訊息中概述的相同解決方案。
    • Auto-discovery: Unix Domain Socket is unable to access as the mqsi work path is null.
      當 IBM ACE 感應器無法取得 WebSphere Message Broker 工作路徑時,或當 WebSphere Message Broker 路徑為空值時,會顯示此訊息。 若要解決此問題,請遵循第一個訊息中概述的相同解決方案。
    • Auto-discovery: MQTT is disabled. You can enable MQTT or specify MQ information in the configuration.yaml file.
      當 MQTT 處理程序非預期地停用或停止時,會顯示此訊息。 若要解決此問題,請啟用 MQTT 並啟動處理程序。 如果您不想啟用它,請參閱第一個訊息中概述的相同解決方案。
  • 修正連接至佇列管理程式時所顯示的錯誤碼 2058
    如果您無法從 Instana 使用者介面取得度量,而是從代理程式日誌取得錯誤碼 2058 ,請確保配置檔中所有 IBM MQ 相關資訊都正確。 執行 ps -ef | grep runmqlsr | grep '<QUEUEMGR NAME>' | grep '<LISTENER_PORT>' 指令,以列出詳細資訊。 如果接聽器具有含 -i的指定 IP ,則您必須移除此限制,或為 ACE 設定新的接聽器。
    請參閱下列具有正確設定的範例輸出:

    root@upstairs1:~# ps -ef | grep "runmqlsr" | grep QM1 | grep  1414
    mqm       9956  9872  0 Aug30 ?        00:00:05 /opt/mqm/bin/runmqlsr -r -m QM1 -t TCP -p 1414
    

    請參閱下列具有錯誤設定的範例輸出:

    root@upstairs1:~# ps -ef | grep "runmqlsr" | grep QM1 | grep  1417
    mqm       9957 9872  0 Aug30 ?        00:00:06 /opt/mqm/bin/runmqlsr -r -m QM1 -t TCP -p 1417 -i 10.17.59.113
    
  • 取得現行整合節點的 REST API 埠
    如果您想要取得現行整合節點正在使用的 REST API 埠,請執行下列指令:

    # If HTTP protocal is used, get the port with this command
    mqsireportproperties integrationNode -b webadmin -o HTTPConnector -a | grep port
    # If HTTPS protocal is used, get the port with this command
    mqsireportproperties integrationNode  -b webadmin -o HTTPSConnector -a | grep port
    
  • 收集 JSON 格式的有效負載
    如果您想要取得 JSON 格式的有效負載以進一步調查,可以使用下列指令:

    # CMD for IIBv10
    curl -u <USERNAME> --header "Accept: application/json" "http://<ACE_HOST>:<INTEGTATION_NODE_API_PORT>/apiv1?depth=6" >> payload.json
    # CMD for ACEv11
    curl -u <USERNAME> --header "Accept: application/json" "http://<ACE_HOST>:<INTEGTATION_NODE_API_PORT>/apiv2?depth=6" >> payload.json
    
  • 從整合伺服器儀表板中移除警告訊息 Monitoring issue: jvm_attach_generic
    當 Instana 代理程式無法正確地連接 DataFlowEngine 程序 (即 JVM 封套) 時,會顯示此訊息。

    • 如果您使用 IBM Integration Bus v10,則可以在 <agent_install_dir>/etc/instana/configuration.yaml 中忽略此處理程序,如下所示:
       com.instana.ignore:
         processes:
           - 'DataFlowEngine'
      

    如需相關資訊,請參閱 忽略程序
    附註: 忽略此處理程序的潛在影響如下:
    * 依預設,整合伺服器的主機處理程序設為 bipservice 。* 透過忽略這些處理程序來改善 CPU 負載或使用率,尤其是在大型環境中,該環境可能有許多與 DataFlowEngine 處理程序一起執行的整合伺服器。

    • 如果您是使用 IBM App Connect Enterprise v11 或 v12,則可以完成下列步驟,以說明的步驟來忽略此程序,或修正警告:

      1. 透過執行下列指令,設定 JAVA_HOME 環境變數,並將其指向 ACE 組合 JRE:
      export JAVA_HOME= <PATH to your ACE Bundled JRE>
      

      請參閱下列範例:

      export JAVA_HOME=/opt/ace-11.0.0.11/common/jdk/jre
      
      1. 停止並啟動 ACE 分配管理系統 (mqsistop/mqsistart)。
  • 還原自行管理環境的遺漏流程節點表格及相關度量
    自 release-217以來,流程節點度量引入了設計變更。 即會移除流程節點儀表板頁面,並顯示所有流程節點度量值以及可擴充的表格。 對於自行管理的環境,您需要選擇下列其中一個解決方案來再次查看流程節點度量值:

    • 將自行管理的版本升級至 release-217。 使用此解決方案,您可以取得 Instana 的所有新特性。
    • 如果您不想要升級後端以使用舊代理程式的特性,則可以將代理程式固定至 1.1.620版。 如需相關資訊,請參閱 版本固定
      附註: 如果您將代理程式固定至 1.1.620版,則所有感應器都將採用舊版本。
  • 在 Windows Instana 代理程式上解決錯誤訊息 Create WMQ connection for ACE sensor failed
    如果您未從 Instana 使用者介面取得 Windows 代理程式的度量值,但在代理程式使用者介面上取得錯誤訊息 Create WMQ connection for ACE sensor failed ,請確保已停用 IBM MQ 安全特性。 如果在停用 IBM MQ 安全之後仍收到錯誤訊息,請檢查 IBM MQ 使用者是否新增至 Windows 使用者群組 mqm

追蹤

平台

Instana ACE 追蹤使用者結束程式支援:

  • IBM App Connect Enterprise v11.0.0.8 或更新版本。
  • Linux x86_64、 Linux ppc64le、 Linux s390x、 AIX 7.2、 AIX 7.3、Windows 及 IBM Cloud Pak for Integration 中的儲存器 ACE (僅限amd64 )。

附註

必要條件

支援的節點類型

Instana ACE 追蹤使用者結束程式僅支援 HTTP 要求、 IBM MQ 要求及 Kafka 要求。 支援只包含 MQRFH2 標頭的 IBM MQ 訊息,因為追蹤資訊會寫入 IBM MQ 訊息的 MQRFH2 標頭中,以傳播追蹤環境定義。

IBM MQ 訊息需求

在部分 IBM MQ 消費者用戶端中, IBM MQ 訊息中存在其他標頭資料可能會導致訊息處理錯誤及訊息拒絕。

重要事項: 您必須先在 非正式作業環境 中測試 IBM MQ 消費者用戶端,然後在正式作業環境中啟用它。 如果在啟用追蹤相關性支援時導致 IBM MQ 用戶端應用程式中發生錯誤,請執行下列其中一個動作:

  • 如果它是可以變更的應用程式,請更新應用程式,以忽略 Instana 所新增的其他 IBM MQ 標頭資料。 如果需要協助進行 IBM MQ 用戶端變更,您可以聯絡 IBM MQ 支援中心。
  • 如果它是無法變更的應用程式, 請勿啟用 IBM ACE 追蹤相關性支援。

其他

Instana ACE 追蹤使用者結束程式僅支援以輸入節點作為進入點的訊息流程。

在安裝及配置此元件之前,必須先安裝及配置 IBM ACE。

在傳統 ACE 環境中啟用追蹤 v12.0.7 版之前的 ACE 版本

下載 IBM ACE 追蹤使用者結束程式

若要下載 IBM ACE 追蹤使用者結束程式,請完成下列步驟:

  1. artifactory下載 IBM ACE 追蹤使用者結束程式 .tgz 檔案。 若要下載檔案,請使用 _ 作為使用者名稱,並使用有效的代理程式金鑰作為密碼。

  2. 將下載的 .tgz 檔案解壓縮至暫存位置。 擷取之後,在目錄中尋找五個不同平台的使用者結束程式套件。

  3. 傳送特定於 IBM ACE 主機上的平台的使用者結束程式套件。

  4. 將使用者結束程式套件解壓縮至 ACE 主機上的下列目錄。

    • 在 Linux 和 AIX上: /var/mqsi/shared-classes
    • 在 Windows 上: C:\ProgramData\IBM\MQSI\shared-classes

    將下列檔案放在 shared classes 目錄中:

    • ACEOpenTracingUserExit.lel: 此檔案包含 Instana ACE 使用者結束程式,它會截取 HTTP 要求、 IBM MQ 要求及 Kafka 要求,並啟動已包裝的 OpenTelemetry C++ 用戶端程式庫以建立文字段。
    • tracelibrary.so: 此檔案指定已包裝的 OpenTelemetry C++ 用戶端,該用戶端提供用於管理跨距生命週期的函數,並將跨距傳送至目標追蹤系統。
    • acetracingexit.conf: 此配置檔指定連接至主機代理程式的記載層次及相關資訊。

    附註: 如果 ACE 伺服器未隨廣域安裝一起安裝,則 /var/mqsi/shared-classesC:\ProgramData\IBM\MQSI\shared-classes 目錄不存在於 IBM ACE 主機上。 在 IBM ACE 主機上手動建立目錄 /opt/acetracingexitC:\acetracingexit ,並將 Tar 檔解壓縮至該目錄。

配置使用者結束程式

若要啟用 IBM ACE 的追蹤,請完成下列步驟:

附註: 下列所有指令適用於 Linux 或 AIX 平台。 如果您在 Windows 平台上執行這些指令,只要將目錄路徑 /var/mqsi/shared-classes 取代為 C:\ProgramData\IBM\MQSI\shared-classes即可。

  1. 停止整合節點。

    mqsistop <integrationNodeName>
    
  2. 透過設定使用 mqsichangeflowuserexits 指令的 UserExitPath 內容,在整合節點上安裝使用者結束程式。

    mqsichangeflowuserexits <integrationNodeName> -o -x /var/mqsi/shared-classes
    

    附註: 如果您將 IBM ACE 追蹤 tar 檔案解壓縮至 /opt/acetracingexit 目錄,請將 /var/mqsi/shared-classes 取代為 /opt/acetracingexit

  3. 啟動使用者結束程式。

    使用者結束程式可以是作用中或非作用中,且依預設為非作用中。 您可以啟動整合節點、整合伺服器或特定訊息流程的使用者結束程式。

    1. 啟動整合節點的使用者結束程式。

      1. 啟動使用者結束程式:

        mqsichangeflowuserexits <integrationNodeName> -o -a ACEOpenTracingUserExit
        
      2. 驗證使用者結束程式:

        mqsireportflowuserexits <integrationNodeName> -o
        

        請參閱下列輸出範例:

        # mqsireportflowuserexits BK3 -o
        BIP8854I: User Exits active for integration server 'BK3': ACEOpenTracingUserExit.
        BIP8855I: User Exits inactive for integration server 'BK3': .
        BIP8741I: User Exit path for integration server 'BK3': /var/mqsi/shared-classes.
        BIP8071I: Successful command completion.
        
      3. 啟動整合節點:

        mqsistart <integrationNodeName>
        
    2. 啟動整合伺服器的使用者結束程式。

      1. 啟動整合節點:

        mqsistart <integrationNodeName>
        
      2. 啟動使用者結束程式:

        mqsichangeflowuserexits <integrationNodeName> -e <integrationServerName> -a ACEOpenTracingUserExit
        
    3. 啟動訊息流程的使用者結束程式。

      1. 啟動整合節點:

        mqsistart <integrationNodeName>
        
      2. 啟動訊息流程的使用者結束程式:

        mqsichangeflowuserexits <integrationNodeName> -e <integrationServerName> -k <applicationName> -f <messageFlow> -a ACEOpenTracingUserExit
        
    4. 針對您要啟動使用者結束程式的其他整合節點、整合伺服器或訊息流程,重複這些步驟。

如需相關資訊,請參閱下列鏈結:

配置 Instana ACE 追蹤

  1. 移至 /var/mqsi/shared-classes 目錄。

  2. 編輯 acetracingexit.conf 檔案:

    # configuration for ace tracing exit
    LOG_LEVEL="info" #Log level: info, warn, error, debug
    SPAN_FORMAT="instana"
    MONITOR_LEVEL="verbose" #ACE tracing level: off, normal, verbose
    INSTANA_AGENT_HOST="localhost" #(optional)
    INSTANA_AGENT_PROTO="http" #(optional)
    HOST_ALIAS="<YOUR-HOST-NAME>" #(optional)
    
    

    其中:

    • LOG_LEVEL
      指定記載層次,可以是下列其中一種類型: infowarnerrordebug。 日誌檔位於 /tmp/trace 目錄。
    • SPAN_FORMAT
      指定跨距資料的傳送目的地。 將此變數設為 instana。 依預設,「Instana ACE 追蹤」使用者結束程式會將跨距資料傳送至主機代理程式端點 http://localhost:42699 。 如果您要將跨距資料傳送至使用 HTTP 通訊協定的遠端主機代理程式,請更新配置欄位 INSTANA_AGENT_HOSTINSTANA_AGENT_PROTO 。 您需要對所有 IBM ACE 實例具有相同的 SPAN_FORMAT 設定。
    • MONITOR_LEVEL
      指定 IBM ACE 的追蹤層次,它可以是下列其中一種類型: offnormalverbose。 如果 MONITOR_LEVEL 設為 off,則不會將任何追蹤環境定義附加至送出要求。 如果 MONITOR_LEVEL 設為 normal,則只有在 IBM MQ 訊息包含 RFH2 標頭時,才會附加追蹤環境定義。 如果 MONITOR_LEVEL 設為 verbose,則會將追蹤環境定義附加至所有送出的 HTTP/MQ 要求。
    • INSTANA_AGENT_HOST
      指定 Instana 格式跨距資料傳送至其中的代理程式主機。 依預設,會使用 localhost 。 如果您指定遠端代理程式主機,則也必須先在 <instana-agent-dir>/etc/instana/com.instana.agent.main.config.Agent.cfg 中為遠端主機代理程式新增一行 http.listen=* ,因為依預設無法從其他主機呼叫到主機代理程式。
    • INSTANA_AGENT_PROTO
      指定 IBM ACE 追蹤使用者結束程式與主機代理程式之間的連線類型。 依預設,會使用 http 。 不過,也支援 https 。 如果您想要將它變更為 https,則需要遵循 設定代理程式端點的 TLS 加密 ,以先保護 Instana 代理程式端點的安全。
    • HOST_ALIAS
      指定「Instana ACE 追蹤」使用者結束程式所收集之跨距資料的主機別名。 因此,如果整合節點或整合伺服器也受到 IBM ACE 感應器監視,則對 IBM ACE 的呼叫可以鏈結至基礎架構實體。 依預設會使用 IBM ACE 主機的 FQDN。 主機別名值需要符合主機代理程式配置 yaml 中指定的 IBM ACE 感應器主機。 只有在主機代理程式不在本端 IBM ACE 主機上時,在 Instana ACE 感應器配置中未使用 IBM ACE 主機的 FQDN 時,才需要指定主機別名。 IBM ACE 感應器可以探索本端整合節點或整合伺服器的 FQDN。
  3. 儲存檔案並重新啟動整合節點或整合伺服器。

在您要啟用追蹤的其他 IBM ACE 主機上,重複這些安裝與配置步驟。

您可以在 Instana 使用者介面中檢視 Instana ACE 追蹤資料。

取消配置 Instana ACE 追蹤使用者結束程式

  1. 取消配置使用者結束程式。

    1. 取消配置整合節點的使用者結束程式:

      1. 停止整合節點:

        mqsistop <integrationNodeName>
        
      2. 取消啟動使用者結束程式:

        mqsichangeflowuserexits <integrationNodeName> -o -a ""
        
      3. 重新啟動整合節點。

    2. 取消啟動整合伺服器的使用者結束程式:

      mqsichangeflowuserexits <integrationNodeName> -e <integrationServerName> -a ""
      
    3. 取消啟動訊息流程的使用者結束程式:

      mqsichangeflowuserexits <integrationNodeName> -e <integrationServerName> -k <applicationName> -f <messageFlow> -a ""
      
  2. 在其他整合節點上重複步驟。

在傳統 ACE 環境中的 ACE 版本等於或大於 v12.0.7 時啟用追蹤

從 App Connect Enterprise 12.0.7.0,會新增以 OpenTelemetry 為基礎的原生追蹤支援,且 Instana 代理程式的 OpenTelemetry 汲取可以接受追蹤呼叫。 您不需要為 ACE 安裝其他 Instana ACE 追蹤使用者結束程式。 如果 ACE 版本大於或等於 12.0.7.0,則必須使用 ACE 原生追蹤。 請勿 同時啟用 Instana ACE 追蹤使用者結束程式和 ACE 原生追蹤,因為追蹤呼叫會與上游或下游追蹤呼叫混合。

配置 ACE 原生追蹤

若要啟用 IBM ACE 的原生追蹤,請遵循下列步驟:

  1. 配置 Instana 的 OpenTelemetry 資料吸收。 如需相關資訊,請參閱 配置 OpenTelemetry 資料吸收

  2. 啟用 ACE 原生追蹤。 如需相關資訊,請參閱 配置整合伺服器的 OpenTelemetry 追蹤

如需考量及限制的相關資訊,請參閱 OpenTelemetry 考量及限制

在 IBM Cloud Pak for Integration 環境中啟用追蹤

您可以使用 Instana AutoTrace WebHook ,在 IBM Cloud Pak for Integration (僅限amd64 ) 中啟用 ACE 整合伺服器的追蹤。 根據下列 ACE 版本, Instana AutoTrace WebHook 會在 ACE 整合伺服器實例中部署不同的追蹤技術:

  • 對於 ACE 12.0.8之前的版本, ACE 追蹤的 Instana 使用者結束程式會自動部署至 ACE 整合伺服器實例。
  • 對於 ACE 12.0.8 或更新版本, ACE 整合伺服器實例會自動啟用 ACE 的原生 OpenTelemetry 追蹤。

啟用 ACE 追蹤之後,若要檢查追蹤呼叫詳細資料,請按一下 Instana 儀表板中的 應用程式 > 服務 。 透過這些選項啟用 ACE 追蹤的服務名稱如下:

  • Instana ACE 使用者結束程式: 服務名稱包括 Pod IP 及 ACE 的整合伺服器名稱,格式為 <ACE_Pod_IP>-<IntegrationServer_Name>:<IntegrationServer_Name>,例如 10.254.17.125-is-01-1206:is-01-1206
  • ACE 原生 OpenTelemetry: 服務名稱包含整合伺服器名稱,格式為 IBM App Connect Enterprise-<IntegrationServer_Name>,例如 IBM App Connect Enterprise-is-01-customer

如需如何對在 IBM Cloud Pak for Integration中執行的儲存器 ACE 啟用追蹤的相關資訊,請參閱 Instana AutoTrace WebHook: IBM MQ 及 ACE

Instana ACE 追蹤疑難排解

  • 檢查 Instana ACE 追蹤是否已啟用
    若要驗證 Instana ACE 追蹤是否已啟用,請遵循下列步驟:

    1. 檢查整合伺服器的 stdout 檔案,例如 /var/mqsi/components/BK1/servers/EG1/stdout。 如果順利啟用 Instana ACE 追蹤,您會看到下列訊息:
      Load Tracing Agent in shared mode, 0x7f322822bbbe, (nil)
      /var/mqsi/shared-classes/tracelibrary.so
      Found agent library!
      
    2. 檢查是否已產生 /tmp/trace 目錄。 如果順利啟用 Instana ACE 追蹤,使用者結束程式會在 /tmp/trace 目錄中建立類似 aceExit.13312.log 的日誌檔。 數字 13312 是 DataFlowEngine 或 Integration Server 處理程序 ID。 請參閱下列範例:
      [root@hastened1 trace]# ps -ef | grep 13312
      root     13312 13260 13 18:37 ?        00:00:29 DataFlowEngine v12_BK1 00000000-0000-0000-0000-000000000000 BK1-EG1
      
    3. 如果無法啟用 Instana ACE 追蹤,請收集系統日誌 /var/log/message、整合節點的 stdoutstderr 檔案,以及整合伺服器的 stdoutstderr 檔案。 將所有檔案傳送給 Instana 支援團隊。
  • 在 Instana 使用者介面中遺漏 ACE 追蹤呼叫如果您在 Instana 使用者介面中看不到 ACE 追蹤呼叫,或追蹤呼叫未如預期顯示,請遵循下列步驟:

    1. 啟用 Instana ACE 追蹤的除錯。
    2. 重新啟動整合伺服器,並收集 /tmp/trace 目錄中的所有檔案。 在 Instana 使用者介面上收集追蹤呼叫的畫面擷取。 將除錯檔案和畫面擷取傳送給 Instana 支援團隊。

ACE 中的自動探索

ACE 感應器中的自動探索功能會探索在主機上執行的所有整合伺服器,並在沒有任何配置的情況下自動開始監視它們。

支援的版本

  • 支援 Linux 和 AIX 。 不支援 Windows。
  • 支援 IBM App Connect Enterprise v11 或更新版本。 不支援 IBM Integration Bus v10 。

必要條件

請確定 ACE 中的自動探索特性符合下列需求:

  • 已啟用 ACE 感應器,但未在 <agent_install_dir>/etc/instana/configuration.yaml 檔案中配置整合節點或伺服器。
  • Curl 已安裝在主機上。 若要檢查 curl 安裝,請執行 which curl 指令。
  • 可以使用許可權來存取 WebSphere Message Broker 工作路徑 (例如, /var/mqsi/) ,以啟動代理程式。
  • 相關整合節點的 MQTT 處理程序正在適當地執行。 若要檢查,請執行 ps -ef | grep -E 'bipMQTT.*<INTEGRATION_NODE>’ 指令。

附註: 使用自動探索,您可以看到 Instana 使用者介面主機儀表板上列出的所有執行中整合伺服器,即使未符合所有必要條件也一樣。