要让 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 应用程序,您可以以 .WAR 文件或 .JAR 文件方式部署 Jolokia 插件。如果部署 .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 作为 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
- 或者,您也可以通过修改 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 即时库并将其包含在路径中。
- 创建用户。
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 的路径。
例如,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 服务。
MS SQL
用户帐户必须具有以下权限才能使用 Telegraf 监控 MS SQL 应用程序。
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