要使 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> 是在应用程序配置期间提供的“安装路径”。重新启动应用程序。

注: 要监控自定义的第三方 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 作为 JVM 输入提供给 Cassandra 数据库应用程序。完成下列步骤:

  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 即时库并将其包含在路径中。

  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)。