プライマリ・コンテンツに移動
Oracle® Enterprise Manager Cloud Controlアドバンスト・インストレーションおよび構成ガイド
13cリリース1
E70367-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

15 拡張インストール・オプションを使用したJVMDエージェントのインストール

この章では、Enterprise Manager Cloud Control環境でJVM診断(JVMD)エージェントを手動でインストールする方法について説明します。

この章の具体的な内容は次のとおりです。

15.1 JVMDアーキテクチャの概要

JVM診断は、Oracle Enterprise Manager Cloud Controlに統合されています。これにより、管理者は本番環境でのJavaアプリケーションのパフォーマンスの問題を診断できます。問題を再現する必要性がなくなることにより、こうした問題解決に必要な時間が短縮されるため、アプリケーションの可用性とパフォーマンスが向上されます。JVMDを使用すると、管理者は、パフォーマンスの問題をテスト環境または開発環境で再現することなく、本番環境で問題の根本原因を特定できます。

次の図に、JVMDのアーキテクチャを示します。

図15-1 JVMDアーキテクチャ

JVMDのアーキテクチャ

JVMDエンジンは、JVMD監視システムのコア分析エンジンです。リリース13cでは即時使用可能な状態に構成されています。JVMDエンジンは、OMSからの要求に応じてJVMDエージェントからランタイム・データを収集し、そのデータをリポジトリに保存します。複数のJVMDエンジンを構成できます。


注意:

Cloud Controlアプリケーションを再起動せずにJVMDエンジン(OMSホストにデプロイされた)を再起動するには、WebLogic管理コンソールを使用します。

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)または非セキュアのどちらかになります。

15.2 JVMDエージェントのインストールを開始する前に

JVMDエージェントをインストールする前に、『Oracle Enterprise Manager Cloud Control基本インストレーション・ガイド』の概要説明を確認してください。

15.3 JVMDエージェントをインストールするための前提条件

JVMDエージェントをインストールする前に、『Oracle Enterprise Manager Cloud Control基本インストレーション・ガイド』で説明されている前提条件を満たしていることを確認してください。

15.4 拡張インストール・オプションを使用したJVMDエージェントのデプロイ

この項では、JVMDエージェントを手動でデプロイする方法について説明します。


注意:

いったんエージェントを削除した後で再びデプロイする場合は、デプロイする前にJVMを再起動する必要があります。

この項の内容は次のとおりです。

15.4.1 jamagent.warのダウンロードとデプロイによる手動でのJVMDエージェントのデプロイ

JVMDエージェントを手動でデプロイするには、次の手順を実行します。

  1. jamagent.warをダウンロードします。

    Cloud Controlを使用してjamagent.warをダウンロードするには、次の手順に従います。

    1. Cloud Controlで、「設定」メニューから、「ミドルウェア管理」「設定」の順に選択します。

    2. 「設定」ページで「JVMDエージェントのダウンロード」をクリックします。「JVM診断コンポーネントのダウンロード」ダイアログ・ボックスが表示されます。

    3. 「JVMDコンポーネント」メニューから、jamagent.warをダウンロードするために「JVMDエージェント」を選択し、「OK」をクリックします。「JVM診断エージェントWeb xmlパラメータ」ダイアログ・ボックスが表示されます。

    4. 「使用可能なエンジン」メニューで、リストからオプションを選択します。

      セキュアではない接続を使用して、JVMDエージェントがJVMDエンジンに接続するようにするには、HTTP URLを選択します。

      セキュアな接続を使用して、JVMDエージェントがJVMDエンジンに接続するようにするには、HTTPS URLを選択します。

      ロード・バランサまたはファイアウォールを介して、JVMDエージェントがJVMDエンジンに接続するようにするには、「カスタム」を選択します。JVMDエージェントを接続する必要のあるホスト名およびポートを指定します。

      次に例を示します。

      HTTP: http://sl1.us.example.com:3800

      HTTPS: https://sl1.us.example.com:3801 (セキュアな通信)

      downloading_jvmd_agent.pngについては前後の文で説明しています。
    5. 「ダウンロード」をクリックしてjamagent.warをダウンロードします。

  2. JVMDエージェントの手動でのデプロイ

    次の関連する手順を参照してください。

    WebLogic ServerへのJVMDエージェントのデプロイ

    JVMDエージェントをWebLogic管理対象サーバーに手動でデプロイするには、次の手順を実行します。

    1. jvmd.zipファイルにあるデプロイメント・プロファイルsample_jvmdagent_deploy.propertiesのコピーを作成します。javadiagnosticagent.earファイルの場所、WebLogicドメイン名およびサーバー情報を更新します。プロファイルをjvmdagent_deploy.propertiesとして保存します。

      パラメータの詳細は、jvmd.zipファイルのcustomprovフォルダにあるREADME.txtファイルを参照してください。

    2. jvmd.zipファイルのcustomprovフォルダにあるperlのスクリプトを実行して、指定されたすべてのサーバーにJVMDエージェントをデプロイします。

      perl deploy_jvmdagent.pl


      注意:

      デプロイメント・プロファイルjvmdagent_deploy.propertiesとperlスクリプトが同じフォルダにあることを確認します。

    GlassFishへのJVMDエージェントのデプロイ

    JVMDエージェントをGlassFishサーバーに手動でデプロイするには、次の手順を実行します。

    1. GlassFish管理コンソールにログインします。

    2. 「共通タスク」セクションで、「アプリケーション」をクリックします。

    3. 「デプロイ済みアプリケーション」セクションで、「デプロイ」をクリックします。

    4. 「場所」には、「サーバーにアップロードされるパッケージ・ファイル」を選択し、jamagent.warのあるローカル・ホスト上の場所を指定します。

    5. 「選択したターゲット」に、jamagent.warをデプロイするサーバーを追加します。

    6. 「OK」をクリックします。

    JBossへのJVMDエージェントのデプロイ

    JVMDエージェントをJBossに手動でデプロイするには、次の手順を実行します。

    1. JBoss管理コンソールにログインします。

    2. 「アプリケーション」「Webアプリケーション(WAR)」をクリックします。

    3. 「新しいリソースを追加」をクリックします。

    4. ローカル・ホストにあるjamagent.warへの絶対パスを入力します。

    5. 「展開済をデプロイ」および「ファーム済をデプロイ」の両方に対して「いいえ」を選択します。

    6. 「続行」をクリックします。

    JVMDエージェントをJBossに手動でデプロイするには、次の手順も可能です。

    1. 次の場所にjamagent.warを転送します。

      <JBOSS_HOME>/server/all/deploy

    2. アプリケーション・サーバーを再起動します。

    TomcatへのJVMDエージェントのデプロイ

    JVMDエージェントをTomcatに手動でデプロイするには、次の手順を実行します。

    1. 次の場所にjamagent.warを転送します。

      $CATALINA_BASE/webapps

    2. アプリケーション・サーバーを再起動します。

      Tomcatの最新版では、$CATALINA_BASE/conf/server.xmlにおいてautoDeployフラグがtrueに設定されている場合、アプリケーション・サーバーを再起動する必要はありません。Tomcatは実行時にjamagent.warを選択します。

    WebsphereへのJVMDエージェントのデプロイ

    JVMDエージェントをWebsphereに手動でデプロイするには、次の手順を実行します。

    1. WebSphere管理コンソールにログインします。

    2. 「アプリケーション」を展開し、「新規アプリケーション」をクリックします。

    3. 新規エンタープライズ・アプリケーションをクリックします。

    4. 「新規アプリケーションへのパス」「ローカル・ファイルシステム」を選択し、jamagent.warがあるローカル・ホスト上の場所を指定します。

    5. jamagent.warのコンテキスト・ルートを指定します。

    6. 構成を保存します。

    7. アプリケーションを起動します。

    OC4JへのJVMDエージェントのデプロイ

    JVMDエージェントをOC4Jに手動でデプロイするには、次の手順を実行します。

    1. OC4J管理コンソールにログインします。

    2. 「アプリケーション」をクリックします。

    3. 「デプロイ」をクリックします。

    4. 「アーカイブはローカル・ホストに存在します」を選択します。「アーカイブの場所」で、jamagent.warがあるローカル・ホスト上の場所を指定します。「次へ」をクリックします。

    5. 「アプリケーション名」jamagentと入力します。「コンテキスト・ルート」には/jamagentと入力します。

    6. 「デプロイ」をクリックします。

    スタンドアロンJVMへのJVMDエージェントのデプロイ

    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>" ******
    

    この警告を解決するには、libjamcapability.soライブラリを含めて、IBM JVMを再起動します。

    /scratch/IBM/WebSphere/AppServer/java/bin/java -agentpath:/scratch/libjamcapability.so -cp /scratch/jamagent.war jamagent.jamrun MyFirstProgram


15.4.2 deploy_jvmdagent.plを使用したJVMDエージェントの手動でのデプロイ

deploy_jvmdagent.plスクリプトを使用して、JVMDエージェントを手動でデプロイできます。このスクリプトはサイレント・モードでのみ実行できます。つまり、プロパティ・ファイルを使用してすべての入力の詳細を指定する必要があります。

deploy_jvmdagent.plを使用してJVMDエージェントを手動でデプロイするには、次の手順を実行します。

  1. 最新バージョンのjamagent.warがダウンロードされていることを確認します。

    jamagent.warのダウンロード方法の詳細は、第15.4.1項の手順1を参照してください。

  2. OMSホスト上の次の場所に移動します。

    $<MIDDLEWARE_HOME>/plugins/oracle.sysman.emas.oms.plugin_13.1.1.0.0/archives/jvmd/deployment_Scripts/agent/jvmd/

  3. README.txtファイルでdeploy_jvmdagent.plスクリプトの使用方法の情報を確認します。

  4. すべての入力をプロパティ・ファイルに指定し、次のコマンドを使用します。

    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管理対象サーバーにデプロイしている場合は、-appserverWLSを指定します。JVMDエージェントをGlassFishサーバーにデプロイしている場合は、-appserverGFを指定します。-appserverパラメータを指定しない場合は、デフォルトでWLSが割り当てられます。

    -fileパラメータは、デプロイメント入力を含むプロパティ・ファイルの名前を定義します。このパラメータを指定しない場合で、-appserverWLSを指定済の場合は、deploy_jvmdagent.plによって、スクリプトが含まれるフォルダでweblogic_deploy.propertiesというプロパティ・ファイルが検索されます。-fileパラメータを指定しない場合で、-appserverGFを指定済の場合は、deploy_jvmdagent.plによって、スクリプトが含まれるフォルダでglassfish_deploy.propertiesというプロパティ・ファイルが検索されます。入力の詳細をプロパティ・ファイルに指定する方法は、サンプルのプロパティ・ファイルsample_weblogic_deploy.propertiesまたはsample_glassfish_deploy.propertiesをご覧ください。

15.4.3 高可用性を実現するJVMDエージェントのデプロイ

セットアップに複数のJVMDエンジンがあり、それらに対してロード・バランサを構成している場合、JVMDエージェントを個々のJVMDエンジンのいずれかではなくロード・バランサに接続するようにしてデプロイできます。こうすることでJVMDエージェントの可用性を高め、フェイルオーバー・メカニズムが作成されます。つまり、特定のJVMDエンジンがダウンしても、JVMDエージェントはアクティブを保持できます。

「設定」ページを使用するか手動で高可用性を実現するJVMDエージェントをデプロイできます。

「設定」ページを使用した高可用性を実現するJVMDエージェントのデプロイ

「設定」ページを使用して高可用性を実現するJVMDエージェントをデプロイするには、次の手順を実行します。

  1. 『Oracle Enterprise Manager Cloud Control基本インストレーション・ガイド』に記載の手順に従って、JVMDエージェントをデプロイします。


    注意:

    デフォルトでは、JVMDエージェントはHTTPを使用してロード・バランサに接続します。HTTPSを使用してJVMDエージェントをロード・バランサに接続するには、第15.4.1項の手順2で説明するとおり、JVMDエージェントを手動でデプロイする必要があります。

  2. JVMDエージェント構成ページの「使用可能なJVMDエンジン」で、「その他」を選択します。ロード・バランサのホスト名とポートを指定します。

    「次へ」をクリックします。

  3. 確認ページですべての情報を確認し、「デプロイ」をクリックします。

高可用性を実現するJVMDエージェントの手動でのデプロイ

高可用性を実現するJVMDエージェントを手動でデプロイするには、次の手順を実行します。

  1. 第15.4.1項の手順1に記載の手順に従って、jamagent.warをダウンロードします。

  2. 「JVM診断エージェントWeb xmlパラメータ」ダイアログ・ボックスが表示された場合、「使用可能なエンジン」メニューから「カスタム」を選択します。ロード・バランサのホスト名とポートを指定します。

    「ダウンロード」をクリックします。

  3. 第15.4.1項の手順2で説明したとおりJVMDエージェントをデプロイします。


注意:

デフォルトでは、JVMDエージェントはHTTPを使用してロード・バランサに接続します。HTTPSを使用してJVMDエージェントをロード・バランサに接続するには、第15.4.4項で説明するとおり、証明書を使用する必要があります。使用する証明書の共通名は、ロード・バランサのホスト名と一致するようにしてください。

15.4.4 JVMDエージェントをJVMDエンジン・セキュア・ポートに接続したセキュアな通信の確認

JVMDエンジンとのセキュアな通信を保証するためには、JVMDエージェントは、JVMDエンジンのデプロイ先の管理対象サーバーの証明書が追加されるキーストアにアクセスできる必要があります。Enterprise Manager Cloud Controlドメイン(JVMDエンジン管理対象サーバーが作成されるEMGCのドメイン)のキーストアは、同じように使用できます。

JVMDエンジンおよびJVMDエージェントを同じホストで実行している場合、JVMDエージェントはEMGCドメインおよびデフォルトのキーストアにアクセスできます。この場合、セキュアな通信を確実にするために次の手順に従ってください。

  1. キーストアの場所を特定します。通常は、次の場所から入手できます。

    <WEBLOGIC_HOME>/server/lib/DemoTrust.jks

    WEBLOGIC_HOMEはWebLogic Serverソフトウェアのインストール・ディレクトリを参照しています。

  2. WebLogic Server管理コンソールにログインします。

  3. 「環境」メニューから、「サーバー」を選択します。

  4. JVMDエージェントをデプロイする管理対象サーバーを選択して、「サーバーの起動」タブを選択します。

  5. 「引数」に次の引数を指定します。

    -Djavax.net.debug=ssl -Djavax.net.ssl.trustStore=<location_of_DemoTrust.jks> -Djavax.net.ssl.trustStorePassword=<DemoTrust.jks_KeyStore_password>


    注意:

    DemoTrust.jksキーストアのデフォルトのパスワードは、DemoTrustKeyStorePassPhraseです。

  6. 管理対象サーバーを再起動します。

JVMDエンジンおよびJVMDエージェントを異なるホストで実行している場合(ほとんどの環境の場合)、SSL証明書をJVMDエンジン管理対象サーバーからダウンロードして、JVMDエージェントをデプロイするターゲットの管理対象サーバーの新規または既存のキーストアに追加する必要があります。これにより、JVMDエージェントは証明書にアクセスして、JVMDエンジンのセキュアなポートと通信できます。これを実行するには、次の手順に従います。

  1. 次の手順に従って、JVMDエンジンの管理対象サーバーの証明書をダウンロードします。

    1. ブラウザを使用して、次のURLにアクセスします。

      https://<jamconshost>:<jamconsport(secure)>

    2. 「ツール」メニューから、「オプション」を選択します。

    3. 「拡張」タブを選択して、「暗号化」タブを選択します。

    4. 「証明書の表示」をクリックします。

    5. 「サーバー」タブを選択して、<jamconshost>:<jamconsport(secure)>証明書を検索し選択します。「エクスポート」をクリックします。

    6. 証明書をJVMDCert.crtとして保存します。

  2. 既存のキーストアに証明書を追加するか(例: DemoTrust.jk)、新しいキーストアを作成して(例: keystore.jks)証明書に追加します。これを行うには、次のコマンドを実行します。

    keytool -import -trustcacerts -alias root -file JVMDCert.crt -keystore <name_of_existing_or_new_KeyStore>

    -keystoreパラメータに既存のキーストア名を指定する場合、キーストアのパスワードの入力を求められます。-keystoreパラメータに新しいキーストアの名前を指定する場合、新しいキーストアが作成されデフォルトのパスワードはchangeitになります。

  3. WebLogic Server管理コンソールにログインします。

  4. 「環境」メニューから、「サーバー」を選択します。

  5. JVMDエージェントをデプロイする管理対象サーバーを選択して、「サーバーの起動」タブを選択します。

  6. 「引数」に次の引数を指定します。

    -Djavax.net.debug=ssl -Djavax.net.ssl.trustStore=<location_of_KeyStore> -Djavax.net.ssl.trustStorePassword=<KeyStore_password>


    注意:

    DemoTrust.jksキーストアのデフォルトのパスワードは、DemoTrustKeyStorePassPhraseです。

  7. 管理対象サーバーを再起動します。


注意:

SunまたはJRockit Java仮想マシン(JVM)で実行されているWebLogic管理対象サーバーがHTTPSを使用して外部リソースに接続しようとすると、次の例外が発生する場合があります。

java.lang.ClassCastException: weblogic.net.http.SOAPHttpsURLConnection

HTTP APIではSun実装を使用するかわりに基礎となるWebLogic実装を使用するため、この例外が発生します。この例外を回避するには、ランタイム引数を使用して次のフラグを設定します。

-DUseSunHttpHandler=true


15.5 JVMDエージェントのインストール後

JVMDエージェントをインストールした後、『Oracle Enterprise Manager Cloud Control基本インストレーション・ガイド』の概要説明の手順を実行します。