第30章 一般的なタスク
30.1. 検出用のカスタム JVM の設定
Generic JMX プラグインは Java プロセスを検出します。これは非常に簡単なプラグインです。一部のタイプの JVM を除外する機能以外に、プラグインは 適切 に設定された Java プロセスを検出し、JMX サーバーとしてインポートします。汎用 JMX サーバーでは、ロギング、スレッド、メモリーなどのサブシステムも JMX サーバーの子としてインポートされます。
この背景情報はすべて、 『Resource Reference: Monitoring, Operation, and Configuration Options』の JMX リソースドキュメントで 説明されています。カスタムプラグインの作成については、「カスタムプラグイン」 『で説明されています』。
JBoss ON では、リソースを検出してインベントリーに追加できるように JVM リソース自体を設定する必要があります。
30.1.1. Discovery に必要な JVM 設定
エージェントは、特定のパラメーターを基にしてリソースを特定し、検出された設定に基づいてエージェントに接続してリソースを検出し、管理します。汎用 JMX プラグインを使用して Java プロセスを検出するには、以下のいずれかの方法で接続するように設定する必要があります。
- Sun JMX リモーティングが有効になり、コマンドラインでポートシステムプロパティーが指定されます。
-Dcom.sun.management.jmxremote.port=12345 com.xyz.MyAppMain
- Sun/Oracle 互換の Java プロセスには、
com.sun.tools.attach
API およびリソースキーはコマンドラインでシステムプロパティーとして指定されます。-Dorg.rhq.resourceKey=KEY com.xyz.MyAppMain
30.1.2. 検出からの Java プロセスの除外
Generic JMX プラグインは、カスタムプラグインをベースにして特定のタイプの Java プロセスを検出し、管理できるように拡張するように設計されています。たとえば、Java プロセスとして JBoss ON エージェントは通常 Generic JMX プラグインによって検出されますが、Generic JMX プラグインを停止する Agent プラグインによって検出されます。同様に、JBoss EAP サーバーおよび Tomcat サーバーは、一般的なプラグインではなく、サーバー固有のプラグインによっても検出されます。
別のプラグインが検出できるリソースは、Generic JMX Server 検出から除外する必要があります。または、エージェントログに誤った競合エラーが記録されている可能性があります。
検出スキャンから除外する Java プロセスは、JBoss ON エージェント設定で定義されます。エージェントには Java オプションがあります。これは rhq.jmxplugin.process-filters、Generic JMX Plug-in 検出スキャンで特に無視する文字列を一覧表示します。Java プロセスにフィルターに文字列が含まれる場合は、JMX サーバーとして検出から除外されます。 [6].
デフォルトのエージェント設定は、エージェント、JBoss ON サーバー、および Tomcat サーバーのクラスをフィルターします。
RHQ_AGENT_ADDITIONAL_JAVA_OPTS="-Drhq.jmxplugin.process-filters=org.rhq.enterprise.agent.AgentMain,org.jboss.Main,catalina.startup.Bootstrap"
除外フィルターを追加するには、以下を指定します。
- エージェントの設定ファイルを開きます。
[jbosson-agent@server ~]$ vim agentRoot/rhq-agent/conf/agent-configuration.xml
- RHQ_AGENT_ADDITIONAL_JAVA_OPTS リンクで、除外する文字列を rhq.jmxplugin.process-filters オプションに追加します。これは、指定のプロセスのコマンドラインにあるクラス名またはその他の識別文字列になります。例:
RHQ_AGENT_ADDITIONAL_JAVA_OPTS="-Drhq.jmxplugin.process-filters=org.rhq.enterprise.agent.AgentMain,org.jboss.Main,catalina.startup.Bootstrap
,com.abc.OtherAppMain
"rhq.jmxplugin.process-filters 値は文字列のコンマ区切りリストです。 - --config オプションを指定してエージェントを再起動して、新しい設定を読み込む。
[jbosson-agent@server ~]$ agentRoot/rhq-agent/bin/rhq-agent.sh --config
30.1.3. JVM リソースの手動インポート
前述 「Discovery に必要な JVM 設定」 のように、エージェントによって自動的に検出される Java プロセスに使用する接続設定が 2 つだけあります。特に、これらの 2 つの接続設定はいずれも、リモーティングまたはアタッチに Sun 管理 API を使用します。
Java プロセスは、サポートされる形式で JMX リモーティング(Sun または IBM リモーティングを意味する)を有効にする限り、自動検出に想定される設定を使用していない場合でも、手動でインベントリーにインポートできます。
注記
リソースの検出およびインポートを実行するには、JVM インスタンスを実行する必要があります。
- トップメニューの Inventory タブをクリックします。
- platform リソースを選択します。
- プラットフォームの Inventory タブをクリックします。
- Inventory タブ下部の Import ボタンをクリックして JMX サーバーリソースタイプを選択します。
- JVM のタイプを選択し、選択した JVM のタイプに応じて、すべての接続プロパティーを正しく設定します。
- JVM の接続情報を入力します。これは JVM タイプによって異なりますが、URL やポートなどのオプション、クライアントライブラリーのディレクトリーパス、クラス用のディレクトリーパス、ログイン認証情報が含まれます。
- をクリック Finish し、インスタンスのインポートを行います。