若要讓 Telegraf 代理程式收集某些應用程式服務的度量,您必須在目標機器中進行修改。進行這些修改之後,代理程式會開始收集度量。您必須 SSH 至您已部署 Agent (代理程式) 及修改組態檔的所在虛擬機器。

Apache HTTPD

若要讓代理程式收集度量,請修改 /etc/httpd/conf.modules.d/status.conf 中的組態檔,並對 HTTPD 外掛程式啟用 mod_status。

<IfModule mod_status.c>

<Location /server-status>

    SetHandler server-status

</Location>

ExtendedStatus On

</IfModule>

如果沒有組態檔,您必須建立一個組態檔。在您修改組態檔之後,使用下列命令重新啟動 HTTPD 服務:

systemctl restart httpd

Java 應用程式

目前,對 Java 應用程式監控的支援僅限於支援以 jolokia 為基礎的 JMX 監控的應用程式。目前,作為 Java 外掛程式啟用的一部分,jolokia.jar 和 jolokia.war 檔案都放置在「安裝路徑」中。如果要監控的 Java 應用程式是 servlet 容器,則 jolokia.war 檔案將自動部署到在 VMware Aria Operations 中設定 Java 應用程式時提供的「安裝路徑」。如果自動部署不受支援或未啟用,請在啟用外掛程式後重新啟動應用程式,或參閱應用程式的產品說明文件,瞭解手動 .war 部署。

對於所有其他 java 應用程式,請先啟用外掛程式,然後在 "-javaagent:" JVM flag as a command line parameter 中包含 jolokia.jar 檔案的路徑。例如,"-javaagent:/<path_to_jolokia>/jolokia.jar"<path_to_jolokia> 是在應用程式設定期間提供的「安裝路徑」。重新啟動應用程式。

備註: 若要監控自訂的第三方 Java 應用程式,請確保:
  • 支援以 jolokia 為基礎的 JMX 監控。
  • (如果關閉自動部署) servlet 容器應用程式支援手動 .war 部署。
  • "-javaagent:" JVM flag 作為命令列參數 (JVM_OPTS) 的一部分新增

Nginx

將以下幾行新增至 /etc/nginx/nginx.conf 中的組態檔:

http {
    server {
        location /status {
            stub_status on;
   access_log off;
   allow all;
  }
    }
}

使用下列命令重新啟動 Nginx 服務:

systemctl restart nginx

Postgres

/var/lib/pgsql/data/pg_hba.conf 的組態檔中,將 local all postgres peer 的值變更為 local all postgres md5 並使用下列命令重新啟動服務:

sudo service postgresql restart

Cassandra

若要監控 Cassandra 資料庫應用程式,必須納入 Jolokia jar 作為 Cassandra 資料庫應用程式的 JVM 輸入。完成下列步驟:

  1. 修改 /etc/default/cassandra

    echo "export JVM_EXTRA_OPTS=\"-javaagent:/usr/share/java/jolokia-jvm-1.6.0-agent.jar=port=8778,host=localhost\"" | sudo tee -a /etc/default/cassandra
    備註:

    可以從 https://jolokia.org/download.html 下載最新版本的 Jolokia 代理程式。若部署 .JAR 檔案,則須在監控之 Java 程序的 JMX 引數中包含 JAR 完整檔案路徑,然後重新啟動該應用程式服務。

  2. 或者,您也可以修改 cassandra-env.sh 以啟用代理程式。在 cassandra-env.sh 的尾端納入下列行:

    JVM_OPTS="$JVM_OPTS -javaagent:/usr/share/java/jolokia-jvm-1.6.0-agent.jar=port=8778,host=localhost"

    查看 JVM 輸入後,重新啟動 Cassandra 服務。

Oracle 資料庫

若要監控 Oracle 資料庫,請完成下列步驟:

  1. 從下列位置下載執行個體用戶端程式庫:https://www.oracle.com/database/technologies/instant-client/downloads.html

    您必須下載 Oracle 執行個體程式庫並納入 PATH 之中。

  2. 安裝 Python 3.6 或更新版本。安裝 cx_Oracle 模組。
    python3 -m pip install cx_Oracle --upgrade
  3. 建立使用者。

    CREATE USER <UserName> IDENTIFIED BY <yourpassword>;
     GRANT select_catalog_role TO <UserName>;
     GRANT CREATE SESSION TO <UserName>;
  4. 若為 Windows 虛擬機器:
    1. 將 Oracle 即時用戶端程式庫路徑和 Python 路徑附加到 PATH 環境變數。
    2. 安裝 ARC Agent。
  5. 若為 Linux 虛擬機器:
    1. 安裝 ARC Agent。
    2. /opt/vmware/ucp/ 中取得檔案 exec_oracle_python.sh(wget --no-check-certificate https://<CP_IP>/downloads/salt/content-accessories/exec_oracle_python.sh)
    3. LD_LIBRARY_PATH、ORACLE_HOME、PYTHON_BINTNS_ADMIN 的絕對值填寫 /opt/vmware/ucp/exec_oracle_python.sh

      LD_LIBRARY_PATH:Oracle 即時用戶端程式庫的路徑。例如,/opt/vmware/ucp/instantclient_21_4

      ORACLE_HOME:安裝 Oracle 軟體的檔案系統中的目錄。例如,/u01/app/oracle/product/19.3.0/dbhome_1/

      PYTHON_BIN:Python 可執行檔的路徑。例如,/usr/bin/python

      TNS_ADMIN:指向 SQL*Net 組態檔所在目錄的環境變數。例如,/u01/app/oracle/product/19.3.0/dbhome_1/network/admin

    4. 啟用 Oracle DB 外掛程式。

Active MQ 5.16 及更高版本

若要啟用 Active MQ 5.16 及更高版本,請完成下列步驟:

  • 導覽至 /opt/activemq/apache-activemq-5.16.0/webapps/api/WEB-INF/classes/jolokia-access.xml

  • 移除或註解下列幾行:

    <cors>
      <strict-checking/>
    </cors>
  • 重新啟動 Active MQ 服務。

Microsoft SQL Server

使用者帳戶必須具有下列權限,才能使用 Telegraf 監控 Microsoft SQL Server 應用程式服務。

USE master;
GO
CREATE LOGIN [telegraf] WITH PASSWORD = N'mystrongpassword';
GO
GRANT VIEW SERVER STATE TO [telegraf];
GO
GRANT VIEW ANY DEFINITION TO [telegraf];
GO
備註: 如果要監控 Microsoft SQL Server 應用程式服務的具名執行個體,則外掛程式啟用輸入不應設定連接埠欄位。僅當伺服器中沒有執行個體時才使用連接埠 (預設值為 1433)。