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> は、アプリケーションの構成中に指定された「インストール パス」です。アプリケーションを再起動します。
- 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 入力としてデータを格納する必要があります。次の手順を実行します。
/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 の完全なファイル パスを含めた後にアプリケーション サービスを再起動する必要があります。
または、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 に含める必要があります。
- 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 エージェントをインストールします。
- [Linux 仮想マシンの場合:]
- ARC エージェントをインストールします。
- /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