Oracle® Enterprise Manager Cloud Controlアドバンスト・インストレーションおよび構成ガイド 12cリリース4 (12.1.0.4) B65085-14 |
|
![]() 前 |
![]() 次 |
この章では、Enterprise Manager Cloud Control環境でJVM診断(JVMD)を手動でインストールする方法について説明します。
この章の具体的な内容は次のとおりです。
JVM診断は、Oracle Enterprise Manager Cloud Controlに統合されています。これにより、管理者は本番環境でのJavaアプリケーションのパフォーマンスの問題を診断できます。問題を再現する必要性がなくなることにより、こうした問題解決に必要な時間が短縮されるため、アプリケーションの可用性とパフォーマンスが向上されます。JVMDを使用すると、管理者は、パフォーマンスの問題をテスト環境または開発環境で再現することなく、本番環境で問題の根本原因を特定できます。
次の図に、JVMDのアーキテクチャを示します。
JVMDエンジンは、JVMD監視システムのコア分析エンジンです。JVMDエンジンは、OMSからの要求に応じてJVMDエージェントからランタイム・データを収集し、そのデータをリポジトリに保存します。複数のJVMDエンジンを構成できます。
JVMDエージェントは、ターゲットJVMのデータ・コレクタです。JVMDエージェントは管理アプリケーション・サーバーにデプロイされ、JVMスレッド、スタック、ヒープおよびCPU使用率などに関するJVM監視データを最小限のオーバーヘッドでリアルタイムに収集します。
JVMDエンジンは、WebLogic ServerのEnterprise JavaBeans (EJB)テクノロジとして実行されます。JVMDエージェントは、ターゲットJVM (本番環境のWebLogic Serverを実行するJVM)にデプロイされます。リアルタイムのデータを収集し、JVM診断エンジンに転送します。このデータは管理リポジトリに保存され、収集された情報はEnterprise Manager Cloud Controlコンソールに監視情報として表示されます。JVMDエンジンとJVMDエージェント間の通信は、セキュア(SSL)または非セキュアのどちらかになります。
JVMDエンジンまたはJVMDエージェントをインストールする前に、『Oracle Enterprise Manager Cloud Control基本インストレーション・ガイド』の概要説明を確認してください。
JVMDエンジンまたはJVMDエージェントをインストールする前に、『Oracle Enterprise Manager Cloud Control基本インストレーション・ガイド』で説明されている前提条件を満たしていることを確認してください。
この項では、JVMDエンジンとJVMDエージェントを手動でデプロイする方法を説明します。内容は次のとおりです。
ApmEngineSetup.pl
スクリプトを使用して、JVMDエンジンを手動でデプロイできます。このスクリプトは次の方法で実行できます。
対話型モード: 対話形式で詳細を入力するようにプロンプト表示されます。
サイレント・モード: プロパティ・ファイルを使用してすべての入力の詳細を指定します。
重要: ApmEngineSetup.pl スクリプトを使用して、リモート・ホストではなく、OMSを実行しているホストにのみJVMDエンジンをデプロイできます。 |
ApmEngineSetup.pl
スクリプトを使用してJVMDエンジンを手動でデプロイするには、次の手順に従います。
OMSホスト上の次の場所に移動します。
$<MIDDLEWARE_HOME>/plugins/oracle.sysman.emas.oms.plugin_12.1.0.6.0/archives/jvmd/deployment_Scripts/engine/
README.txt
ファイルでApmEngineSetup.pl
スクリプトの使用についての情報を確認します。
ApmEngineSetup.pl
スクリプトを実行します。
ApmEngineSetup.pl
スクリプトを対話型モードで、プロンプト表示に従って詳細を入力するには、次のコマンドを使用します。
perl ApmEngineSetup.pl
必ず、操作をdeploy
とし、エンジン・タイプをJVMD
として指定します。
ApmEngineSetup.pl
スクリプトをサイレント・モードで実行するには、プロパティ・ファイルにすべての入力の詳細を指定し、次のコマンドを使用します。
perl ApmEngineSetup.pl -silent -file <properties_file_name> -password <password>
<properties_file_name>
は、JVMDエンジンおよび操作の詳細が記載されるプロパティ・ファイルの名前です。<password>
は、WebLogicコンソールのパスワードです。
入力の詳細をプロパティ・ファイルに指定する方法は、サンプルのプロパティ・ファイルSAMPLE_engine.properties
をご覧ください。
この項では、JVMDエージェントを手動でデプロイする方法について説明します。内容は次のとおりです。
JVMDエージェントを手動でデプロイするには、次の手順を実行します。
javadiagnosticagent.earまたはjamagent.warをダウンロードします。
Cloud Controlを使用したjavadiagnosticagent.earまたはjamagent.warのダウンロード
Cloud Controlを使用してjavadiagnosticagent.ear
またはjamagent.war
をダウンロードするには、次の手順に従います。
Cloud Controlの「設定」メニューから、ミドルウェア管理、「アプリケーション・パフォーマンス管理」の順に選択します。
「アプリケーション・パフォーマンス管理」ページで「JVM診断エンジン」を選択します。
「構成」をクリックします。「JVM診断の設定」ページが表示されます。
「JVM診断の設定」ページで「JVMおよびプール」をクリックし、「ダウンロード」をクリックします。「JVM診断コンポーネントのダウンロード」ダイアログ・ボックスが表示されます。
「JVMDコンポーネント」メニューから、javadiagnosticagent.ear
をダウンロードするために、「MDAを備えたJVMDエージェント(Weblogicのみ)」を選択し、「OK」をクリックします。jamagent.war
をダウンロードするには、「JVMDコンポーネント」メニューから「JVMDエージェント」を選択し、「OK」をクリックします。「JVM診断エージェントWeb xml
パラメータ」ダイアログ・ボックスが表示されます。
「使用可能なエンジン」メニューで、リストからオプションを選択し、「ダウンロード」をクリックします。
セキュアではない接続を使用して、JVMDエージェントがJVMDエンジンに接続するようにするには、HTTP URLを選択します。
セキュアな接続を使用して、JVMDエージェントがJVMDエンジンに接続するようにするには、HTTPS URLを選択します。
ロード・バランサを介して、JVMDエージェントがJVMDエンジンに接続するようにするには、「カスタム」を選択します。JVMDエージェントを接続する必要のあるホスト名およびポートを指定します。
次に例を示します。
HTTP: http://slc01.us.example.com:3800
HTTPS: https://slc01.us.example.com:3801 (セキュアな接続)
「ダウンロード」をクリックして、javadiagnosticagent.ear
またはjamagent.war
をダウンロードします。
javadiagnosticagent.earを使用したjamagent.warのダウンロード
javadiagnosticagent.ear
を使用してjamagent.war
をダウンロードするには、次の手順に従います。
次の場所にjavadiagnosticagent.ear
ファイルをダウンロードします。
<middleware_home>/oms/jvmd
javadiagnosticagent.ear
ファイルは次の場所からダウンロードできます。
<MIDDLEWARE_HOME>/plugins/oracle.sysman.emas.oms.plugin_12.1.0.6.0/archives/jvmd/javadiagnosticagent.ear
次のコマンドを実行して、javadiagnosticagent.ear
を抽出します。
jar -xvf javadiagnosticagent.ear
抽出されたjavadiagnosticagent.ear
ファイルには、jamagent.war
が含まれます。
次のコマンドを実行して、jamagent.war
を抽出します。
jar -xvf jamagent.war
WEB-INF/web.xml
に移動します。
jamconshostおよびjamconsport
パラメータの値を更新するようにweb.xml
ファイルを編集します(jamconshost
はJVMDエンジンがデプロイされるホストのIPで、jamconsport
は同じホストのポートを示しています)。
注意: 選択されたJVMDエンジンに対するセキュアな通信をできるようにするには、web.xml ファイルに次の変更を行います。
|
次に例を示します。
<init-param> <param-name>jamconshost</param-name> <param-value>slc01axn</param-value> <description>Jam console host - demolnx.auptyma.com</description> </init-param> <init-param> <param-name>jamconsport</param-name> <param-value>3800</param-value> <description>Jam console port</description> </init-param>
注意: JVMDエンジンがデプロイされると、IPとポートがJVMDデプロイメント・ページに<Machine Name:Port Number> のように表示されます。 |
次のコマンドを実行してjamagent.war
ファイルを再アセンブルします。
jar -cMvf jamagent.war META-INF WEB-INF jamagent oracle
これで、更新されたjamagent.war
ファイルのデプロイメントの準備ができました。
デプロイメント中にエラーが発生した場合は、第J.2項を参照してください。
JVMDエージェントの手動でのデプロイ
WebLogic ServerへのJVMDエージェントのデプロイ
JVMDエージェントをWebLogic管理対象サーバーに手動でデプロイするには、次の手順を実行します。
jvmd.zip
ファイルにあるデプロイメント・プロファイルsample_jvmdagent_deploy.properties
のコピーを作成します。javadiagnosticagent.ear
ファイルの場所、WebLogicドメイン名およびサーバー情報を更新します。プロファイルをjvmdagent_deploy.properties
として保存します。
パラメータの詳細は、jvmd.zip
ファイルのcustomprov
フォルダにあるREADME.txt
ファイルを参照してください。
jvmd.zip
ファイルのcustomprov
フォルダにあるperlのスクリプトを実行して、指定されたすべてのサーバーにJVMDエージェントをデプロイします。
JVMDエージェントをGlassFishサーバーに手動でデプロイするには、次の手順を実行します。
GlassFish管理コンソールにログインします。
「共通タスク」セクションで、「アプリケーション」をクリックします。
「デプロイ済みアプリケーション」セクションで、「デプロイ」をクリックします。
「場所」には、「サーバーにアップロードされるパッケージ・ファイル」を選択し、jamagent.war
のあるローカル・ホスト上の場所を指定します。
「選択したターゲット」に、jamagent.war
をデプロイするサーバーを追加します。
「OK」をクリックします。
JVMDエージェントをJBossに手動でデプロイするには、次の手順を実行します。
JBoss管理コンソールにログインします。
「アプリケーション」で「Webアプリケーション(WAR)」をクリックします。
「新しいリソースを追加」をクリックします。
ローカル・ホストにあるjamagent.war
への絶対パスを入力します。
「展開済をデプロイ」および「ファーム済をデプロイ」の両方に対して「いいえ」を選択します。
「続行」をクリックします。
JVMDエージェントをJBossに手動でデプロイするには、次の手順も可能です。
次の場所にjamagent.war
を転送します。
<JBOSS_HOME>/server/all/deploy
アプリケーション・サーバーを再起動します。
JVMDエージェントをTomcatに手動でデプロイするには、次の手順を実行します。
次の場所にjamagent.war
を転送します。
$CATALINA_BASE/webapps
アプリケーション・サーバーを再起動します。
Tomcatの最新版では、$CATALINA_BASE/conf/server.xml
においてautoDeploy
フラグがtrue
に設定されている場合、アプリケーション・サーバーを再起動する必要はありません。Tomcatは実行時にjamagent.war
を選択します。
JVMDエージェントをWebsphereに手動でデプロイするには、次の手順を実行します。
WebSphere管理コンソールにログインします。
「アプリケーション」を展開し、「新規アプリケーション」をクリックします。
新規エンタープライズ・アプリケーションをクリックします。
「新規アプリケーションへのパス」で「ローカル・ファイルシステム」を選択し、jamagent.war
があるローカル・ホスト上の場所を指定します。
jamagent.war
のコンテキスト・ルートを指定します。
構成を保存します。
アプリケーションを起動します。
JVMDエージェントをOC4Jに手動でデプロイするには、次の手順を実行します。
OC4J管理コンソールにログインします。
「アプリケーション」をクリックします。
「デプロイ」をクリックします。
「アーカイブはローカル・ホストに存在します」を選択します。「アーカイブの場所」で、jamagent.war
があるローカル・ホスト上の場所を指定します。「次へ」をクリックします。
「アプリケーション名」にjamagent
と入力します。「コンテキスト・ルート」には/jamagent
と入力します。
「デプロイ」をクリックします。
JVMDエージェントは、web.xml
から入力を読み取るか、コマンドラインから入力を指定することによって、スタンドアロンJVMにデプロイできます。
すべての入力がweb.xml
から読み取られるようにして、JVMDエージェントをスタンドアロンJVMにデプロイするには、コマンドラインから次のコマンドを実行します。
java -cp <absolute_path_to_jamagent.war> jamagent.jamrun <java_class_with_a_main_method>
すべての入力をコマンドラインで指定することによって、JVMDエージェントをスタンドアロンJVMにデプロイするには、コマンドラインから次のコマンドを実行します。
java -cp <absolute_path_to_jamagent.war> jamagent.jamrun <java_class_with_a_main_method> jamconshost=<jvmd_engine_host> jamconsport=<jvmd_engine_listen_port> jamjvmid=<unique_jvmd_identifier> jamtimeout=<timeout_period_in_seconds> jamloglevel=<jvmd_agent_log_level>
注意: jamagent.war がIBM Java Development Kit (JDK)を使用して実行する場合、ログに次の警告が表示されることがあります。
******can_tag_objects capability is not set.Copy library libjamcapability to another directory and restart Java with argument "-agentpath:<absolute_path_to_libjamcapability.so>" ****** この警告を解決するには、
|
deploy_jvmdagent.pl
スクリプトを使用して、JVMDエージェントを手動でデプロイできます。このスクリプトはサイレント・モードでのみ実行できます。つまり、プロパティ・ファイルを使用してすべての入力の詳細を指定する必要があります。
deploy_jvmdagent.pl
を使用してJVMDエージェントを手動でデプロイするには、次の手順を実行します。
最新バージョンのjavadiagnosticagent.ear
またはjamagent.war
がダウンロードされていることを確認します。
javadiagnosticagent.ear
またはjamagent.war
のダウンロード方法の詳細は、第13.4.2.1項の手順1を参照してください。
OMSホスト上の次の場所に移動します。
$<MIDDLEWARE_HOME>/plugins/oracle.sysman.emas.oms.plugin_12.1.0.6.0/archives/jvmd/deployment_Scripts/agent/jvmd/
README.txt
ファイルでdeploy_jvmdagent.pl
スクリプトの使用方法の情報を確認します。
すべての入力をプロパティ・ファイルに指定し、次のコマンドを使用します。
perl deploy_jvmdagent.pl [-appserver <server_type>] [-file <name_of_properties_file>]
例: perl deploy_jvmdagent.pl -appserver WLS -file wls_deploy.properties
deploy_jvmdagent.pl
を使用するJVMDエージェントは、WebLogic ServerおよびGlassFishのみでサポートされており、他のアプリケーション・サーバーではサポートされていません。-appserver
パラメータには、JVMDエージェントをデプロイするアプリケーション・サーバーを指定します。JVMDエージェントをWebLogic管理対象サーバーにデプロイしている場合は、-appserver
にWLS
を指定します。JVMDエージェントをGlassFishサーバーにデプロイしている場合は、-appserver
にGF
を指定します。-appserver
パラメータを指定しない場合は、デフォルトでWLS
が割り当てられます。
-file
パラメータは、デプロイメント入力を含むプロパティ・ファイルの名前を指定します。このパラメータを指定しない場合で、-appserver
にWLS
を指定済の場合は、deploy_jvmdagent.pl
によって、スクリプトが含まれるフォルダでweblogic_deploy.properties
というプロパティ・ファイルが検索されます。-file
パラメータを指定しない場合で、-appserver
にGF
を指定済の場合は、deploy_jvmdagent.pl
によって、スクリプトが含まれるフォルダでglassfish_deploy.properties
というプロパティ・ファイルが検索されます。入力の詳細をプロパティ・ファイルに指定する方法は、サンプルのプロパティ・ファイルsample_weblogic_deploy.properties
またはsample_glassfish_deploy.properties
をご覧ください。
セットアップで複数のJVMDエンジンをデプロイし、それらに対してロード・バランサを構成している場合、JVMDエージェントを個々のJVMDエンジンのいずれかではなくロード・バランサに接続するようにしてデプロイできます。こうすることでJVMDエージェントの可用性を高め、フェイルオーバー・メカニズムが作成されます。つまり、特定のJVMDエンジンがダウンしても、JVMDエージェントはアクティブを保持できます。
アプリケーション・パフォーマンス管理ページを使用するか手動で高可用性を実現するJVMDエージェントをデプロイできます。
アプリケーション・パフォーマンス管理ページを使用した高可用性を実現するJVMDエージェントのデプロイ
アプリケーション・パフォーマンス管理ページを使用して高可用性を実現するJVMDエージェントをデプロイするには、次の手順を実行します。
『Oracle Enterprise Manager Cloud Control基本インストレーション・ガイド』に記載の手順に従って、JVMDエージェントをデプロイします。
JVMDエージェント構成ページの「使用可能なJVMDエンジン」で、「その他」を選択します。ロード・バランサのホスト名とポートを指定します。
「次へ」をクリックします。
確認ページですべての情報を確認し、「デプロイ」をクリックします。
注意: デフォルトでは、JVMDエージェントはHTTPを使用してロード・バランサに接続します。HTTPSを使用してJVMDエージェントをロード・バランサに接続するには、第13.4.2.1項の手順2で説明するとおり、JVMDエージェントを手動でデプロイする必要があります。 |
高可用性を実現するJVMDエージェントの手動でのデプロイ
高可用性を実現するJVMDエージェントを手動でデプロイするには、次の手順を実行します。
第13.4.2.1項の手順1に記載の手順に従って、javadiagnosticagent.ear
またはjamagent.war
をダウンロードします。
JVM診断エージェントのweb.xml
パラメータ・ダイアログ・ボックスが表示された場合、「使用可能なエンジン」メニューから「カスタム」を選択します。ロード・バランサのホスト名とポートを指定します。
「ダウンロード」をクリックします。
第13.4.2.1項の手順2で説明したとおりJVMDエージェントをデプロイします。
注意: デフォルトでは、JVMDエージェントはHTTPを使用してロード・バランサに接続します。HTTPSを使用してJVMDエージェントをロード・バランサに接続するには、第13.4.2.5項で説明するとおり、証明書を使用する必要があります。使用する証明書の共通名は、ロード・バランサのホスト名と一致するようにしてください。 |
JVMDデータベース・エージェントをデプロイするには、Cloud ControlからJVMDエージェントをダウンロードします。JVMDエージェントはJVMDデータベース・エージェントとしても機能します。JVMDエージェントがダウンロードされ、Oracle Databaseと同じホストにデプロイされた場合、JVMDデータベース・エージェントは別途必要ありません。JVMDエージェント自体がデータベースとJVMDエンジンとを統合します。ただし、JVMDエージェントとデータベースが別のホストにある場合、データベース固有の情報を収集してJVMDエンジンに収集したデータを送信するJVMDデータベース・エージェントが必要です。
注意: JVMDデータベース・エージェントは、JVMDエージェントがサポートされるプラットフォーム(Windows以外)でサポートされます。JVMDデータベース・エージェントの実行には、Java 1.4.X以上が必要です。 |
JVMDデータベース・エージェントをダウンロードおよびデプロイするには、次の手順を実行します。
第13.4.2.1項の手順1に示された手順に従い、Cloud Controlを使用してjamagent.war
ファイルをダウンロードします。
JVMDデータベース・エージェントを起動するには、次のコマンドを実行します。
$JAVA_HOME/bin/java -Xms126M -Xmx512M -cp ./jamagent.war jamagent.Dbagent jamconshost=<Host on which engine is running> jamconsport=<Port of the server on which JVMD Engine is installed> For Example: /usr/local/packages/jdk14/bin/java -Xms126M -Xmx512M -cp ./jamagent.war jamagent.Dbagent jamconshost=adc2190661.us.example.com jamconsport=3900
注意: エラー・メッセージ「TIMEOUT from console JAM Agent: Error receiving data from console 」が表示される場合、オプションjamconsretr = 5 を使用してJVMDデータベース・エージェントを再起動します。 |
JVMDエンジンとのセキュアな通信を保証するためには、JVMDエージェントは、JVMDエンジンのデプロイ先の管理対象サーバーの証明書が追加されるキーストアにアクセスできる必要があります。Enterprise Manager Cloud Controlドメイン(JVMDエンジン管理対象サーバーが作成されるEMGCのドメイン)のキーストアは、同じように使用できます。
JVMDエンジンおよびJVMDエージェントを同じホストで実行している場合、JVMDエージェントはEMGCドメインおよびデフォルトのキーストアにアクセスできます。この場合、セキュアな通信を確実にするために次の手順に従ってください。
キーストアの場所を特定します。通常は、次の場所から入手できます。
<WEBLOGIC_HOME>/server/lib/DemoTrust.jks
WEBLOGIC_HOME
はWebLogic Serverソフトウェアのインストール・ディレクトリを参照しています。
WebLogic Server管理コンソールにログインします。
「環境」メニューから、「サーバー」を選択します。
JVMDエージェントをデプロイする管理対象サーバーを選択して、「サーバーの起動」タブを選択します。
「引数」に次の引数を指定します。
-Djavax.net.debug=ssl -Djavax.net.ssl.trustStore=<location_of_DemoTrust.jks>
-Djavax.net.ssl.trustStorePassword=<DemoTrust.jks_KeyStore_password>
管理対象サーバーを再起動します。
JVMDエンジンおよびJVMDエージェントを異なるホストで実行している場合(ほとんどの環境の場合)、SSL証明書をJVMDエンジン管理対象サーバーからダウンロードして、JVMDエージェントをデプロイするターゲットの管理対象サーバーの新規または既存のキーストアに追加する必要があります。これにより、JVMDエージェントは証明書にアクセスして、JVMDエンジンのセキュアなポートと通信できます。これを実行するには、次の手順に従います。
次の手順に従って、JVMDエンジンの管理対象サーバーの証明書をダウンロードします。
ブラウザを使用して、次のURLにアクセスします。
https://<jamconshost>:<jamconsport(secure)>
「ツール」メニューから、「オプション」を選択します。
「拡張」タブを選択して、「暗号化」タブを選択します。
「証明書の表示」をクリックします。
「サーバー」タブを選択して、<jamconshost>:<jamconsport(secure)>
証明書を検索し選択します。「エクスポート」をクリックします。
証明書をJVMDCert.crt
として保存します。
既存のキーストアに証明書を追加するか(例: DemoTrust.jk
)、新しいキーストアを作成して(例: keystore.jks
)証明書に追加します。これを行うには、次のコマンドを実行します。
keytool -import -trustcacerts -alias root -file JVMDCert.crt -keystore <name_of_existing_or_new_KeyStore>
-keystore
パラメータに既存のキーストア名を指定する場合、キーストアのパスワードの入力を求められます。-keystore
パラメータに新しいキーストアの名前を指定する場合、新しいキーストアが作成されデフォルトのパスワードはchangeit
になります。
WebLogic Server管理コンソールにログインします。
「環境」メニューから、「サーバー」を選択します。
JVMDエージェントをデプロイする管理対象サーバーを選択して、「サーバーの起動」タブを選択します。
「引数」に次の引数を指定します。
-Djavax.net.debug=ssl -Djavax.net.ssl.trustStore=<location_of_KeyStore>
-Djavax.net.ssl.trustStorePassword=<KeyStore_password>
注意: DemoTrust.jksキーストアのデフォルトのパスワードは、DemoTrustKeyStorePassPhrase です。 |
管理対象サーバーを再起動します。
注意: SunまたはJRockit Java仮想マシン(JVM)で実行されているWebLogic管理対象サーバーがHTTPSを使用して外部リソースに接続しようとすると、次の例外が発生する場合があります。
HTTP APIではSun実装を使用するかわりに基礎となるWebLogic実装を使用するため、この例外が発生します。この例外を回避するには、ランタイム引数を使用して次のフラグを設定します。
|