Telegraf エージェントが一部のアプリケーション サービスのメトリックを収集するためには、ターゲット マシンで変更を行う必要があります。これらの変更を行った後に、エージェントはメトリックの収集を開始します。エージェントをデプロイした、構成ファイルを変更する仮想マシンに SSH で接続する必要があります。

Apache HTTPD

エージェントがメトリックを収集するには、/etc/httpd/conf.modules.d/status.conf にある conf ファイルを変更し、HTTPD プラグインに対して mod_status を有効にします。

<IfModule mod_status.c>

<Location /server-status>

    SetHandler server-status

</Location>

ExtendedStatus On

</IfModule>

conf ファイルがない場合は、ファイルを作成する必要があります。次のコマンドで conf ファイルを変更した後に HTTPD サービスを再起動します。

systemctl restart httpd

Java アプリケーション

Java アプリケーションの監視のサポートは現在、jolokia ベースの JMX 監視をサポートするアプリケーションに限定されています。現在は、Java プラグインのアクティベーションで jolokia.jar ファイルと jolokia.war ファイルは両方とも「インストール パス」に配置されます。監視対象の Java アプリケーションがサーブレット コンテナの場合、jolokia.war ファイルは、 VMware Aria Operations で Java アプリケーションを構成した際に指定した「インストール パス」に自動的にデプロイされます。自動デプロイがサポートされていない場合、または有効になっていない場合は、プラグインを有効にした後でアプリケーションを再起動するか、アプリケーションの製品ドキュメントを参照して手動で .war をデプロイします。

他のすべての java アプリケーションの場合は、まずプラグインを有効にしてから、コマンド ライン パラメータとして "-javaagent:" JVM フラグに jolokia.jar ファイルのパスを含めます。たとえば、"-javaagent:/<path_to_jolokia>/jolokia.jar"<path_to_jolokia> は、アプリケーションの構成中に指定された「インストール パス」です。アプリケーションを再起動します。

注: カスタマイズされたサードパーティの java アプリケーションを監視するには、次の点を確認します。
  • jolokia ベースの JMX 監視がサポートされている。
  • 自動展開がオフの場合、サーブレット コンテナ アプリケーションで手動の .war デプロイがサポートされている。
  • "-javaagent:" JVM flag がコマンド ライン パラメータ (JVM_OPTS) の一部として追加されている

Nginx

/etc/nginx/nginx.conf にある 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 データベース アプリケーションを監視するには、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
    注:

    Jolokia エージェントの最新バージョンは、https://jolokia.org/download.htmlからダウンロードできます。.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 エージェントをインストールします。
  5. [Linux 仮想マシンの場合:]
    1. ARC エージェントをインストールします。
    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_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

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