要使 Telegraf 代理收集某些应用服务的衡量指标,您必须在目标计算机中进行修改。进行这些修改后,代理将开始收集衡量指标。您必须使用 SSH 连接到部署了代理的虚拟机并修改配置文件。
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> 是在应用程序配置期间提供的“安装路径”。重新启动应用程序。
- 支持基于 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 作为 JVM 输入提供给 Cassandra 数据库应用程序。完成下列步骤:
修改 /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 的完整文件路径后,必须重新启动应用服务。
或者,您也可以通过修改 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 即时库并将其包含在路径中。
- 安装 Python 3.6 或更高版本。安装 cx_Oracle 模块。
python3 -m pip install cx_Oracle --upgrade
创建用户。
CREATE USER <UserName> IDENTIFIED BY <yourpassword>; GRANT select_catalog_role TO <UserName>; GRANT CREATE SESSION TO <UserName>;
- 对于 Windows 虚拟机:
- 将 Oracle 即时客户端库路径和 Python 路径附加到 PATH 环境变量。
- 安装 ARC Agent。
- 对于 Linux 虚拟机:
- 安装 ARC Agent。
- 从 /opt/vmware/ucp/ 中获取文件 exec_oracle_python.sh(wget --no-check-certificate https://<CP_IP>/downloads/salt/content-accessories/exec_oracle_python.sh)。
- 用 LD_LIBRARY_PATH、ORACLE_HOME、PYTHON_BIN 和 TNS_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。
- 激活 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