若要讓 telegraf Agent (代理程式) 收集某些應用程式服務的度量,您必須在端點虛擬機器中進行修改。進行這些修改之後,Agent (代理程式) 將會開始收集度量。您必須 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 外掛程式部署為 .WAR 檔案或 .JAR 檔案。若部署 .WAR 檔案,無須重新啟動服務。
若部署 .JAR 檔案,則須在監控之 Java 程序的 JMX 引數中包含 JAR 完整檔案路徑,然後重新啟動該應用程式服務。
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 輸入。完成下列步驟:
- 修改 /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
- 或者,您也可以修改 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 資料庫,請完成下列步驟:
- 從下列位置下載執行個體用戶端程式庫:https://www.oracle.com/database/technologies/instant-client/downloads.html。
您必須下載 Oracle 執行個體程式庫並納入 PATH 之中。
- 建立使用者。
CREATE USER <UserName> IDENTIFIED BY <yourpassword>; GRANT select_catalog_role TO <UserName>; GRANT CREATE SESSION TO <UserName>;
- 安裝 Python 3.6 或更新版本。
python3 -m pip install cx_Oracle --upgrade
- 設定 TNS_ADMIN 的 PATH。
例如,TNS_ADMIN 的路徑類似 c:\app\product\<version>\dbhome_1\NETWORK\ADMIN”。
備註: 無法在 Linux 平台上啟動 Oracle 資料庫。
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 服務。