Metric Server によるアドバイスの取得

Metric Server はシステム固有のメトリックの形式でサーバー・ロード情報を Load Balancer に提供し、サーバーの状態について報告します。

始める前に

Metric Server エージェントは、ロード・バランシング対象のサーバーすべてにインストールされていて、実行中でなければなりません。

マシンで IPv6 プロトコルを使用していて、Metric Server を使用しようとする 場合は、protocol 58 が protocol ファイルに ICMPv6 として 定義されているかどうかを確認する必要があります。

IPv6 プロトコルを使用するとき: ご使用のマシンで IPv6 プロトコルを使用し、advisor を使用しようとする場合は、プロトコル・ファイルを変更する必要があります。 IPv6 を使用可能にするには、プロトコル・ファイルに以下の行を挿入します。
ipv6-icmp 58 IPv6-ICMP # IPv6 interface control message protocol
プロトコル・ファイルは以下のディレクトリーにあります。
  • [AIX][HP-UX][Linux][Solaris] /etc/protocols
  • [Windows] C:¥windows¥system32¥drivers¥etc¥

Metric Server の制約事項: Metric Server エージェントのように、WLM エージェントは、個々のプロトコル特有のサーバー・デーモンではなく、サーバー・システム全体について報告します。Metric Server および WLM は、結果を manager 報告書の system 列に入れます。そのため、WLM advisor および Metric Server の両方を同時に実行することはできません。

このタスクについて

Load Balancer manager は、各サーバーに常駐している Metric Server エージェントに照会し、エージェントから収集したメトリックを使用してロード・バランシング処理に重みを割り当てます。 その結果も manager 報告書に入れられます。
注: 複数のメトリックが収集されて、サーバーごとに 1 つのシステム負荷値に正規化されるとき、丸め誤差が起こることがあります。

手順

  1. Load Balancer マシンで Metric Server を構成します。
    ヒント: 同様の手順を使用して、Load Balancer の他のコンポーネント用の Metric Server を構成できます。
    1. dsserver を開始します。executor を開始し、 ご使用の構成にクラスター、ポート、およびサーバーを追加します。
    2. manager を開始します。 以下のコマンドを発行する。
      dscontrol manager start manager.log port
      ここで、port は、すべての Metric Server エージェントを実行するために選択する RMI ポートです。metricserver.cmd ファイル中で設定されているデフォルト RMI ポートは 10004 です。
    3. システム・メトリック・スクリプトをクラスターに追加します。 以下のコマンドを発行する。
      dscontrol metric add cluster@systemMetric
      systemMetric は、指定されたクラスターの下の構成の各サーバーで実行される (バックエンド・サーバーに存在している) スクリプトの名前です。 2 つのスクリプト cpuload および memload がお客様に提供されます。または、カスタム・システム・メトリック・スクリプトを作成することができます。
      ヒント: Site Selector の場合は、cpuload および memload は自動的に実行されます。
      スクリプトには、0 から 100 までの範囲の数値または値 -1 (サーバーがダウンしている場合) を返すコマンドが含まれています。 この数値は、可用性の値ではなく、負荷測定値を表すようにしてください。
      [Windows] Avoid trouble Avoid trouble: システム・メトリック・スクリプトの名前の拡張子が「.exe」以外になっているときには、ファイルのフルネーム (例えば、「mysystemscript.bat」) を指定しなければなりません。これは Java の制限によるものです。gotcha
    4. 構成には、metricserver.cmd ファイル中に指定されているポートで実行中の Metric Server エージェントが含まれているサーバーだけを追加します。 ポートは manager start コマンドに指定されたポート値と一致している必要があります。
      注: セキュリティーを確認するには、以下のようにします。
      • Load Balancer マシンで、鍵ファイルを作成 (lbkeys create コマンドを使用) します。
      • バックエンドのサーバー・マシンで、ご使用のコンポーネント用に、得られる鍵ファイルを install_root/admin/keys ディレクトリーにコピーします。鍵ファイルの許可によって、root がそのファイルを読み取ることができるかどうかを検査します。
  2. サーバー・マシンで Metric Server を構成します。
    1. Load Balancer インストール・ファイルから、Metric Server パッケージをインストールします。
    2. install_root/ms/bin ディレクトリー内の Metric Server スクリプトを調べて、必要な RMI ポートが使用中であることを確認します。デフォルトの RMI ポートは 10004 です。
      注: 指定された RMI ポート値は、Step 1b の manager start コマンドで指定した RMI ポート値と同じ値でなければなりません。
    3. オプション: Metric Server がサーバー・マシンで出すコマンドを定義する、独自のカスタマイズ済みメトリック・スクリプト・ファイルを作成できます。すべてのカスタム・スクリプトが実行可能であること、および install_root/ms/script ディレクトリーにあることを確認してください。カスタム・スクリプトは、0 から 100 の範囲に属する数値の負荷値を返す必要があります。
      注: カスタム・メトリック・スクリプトは、拡張子が「.bat」または「.cmd」になっている有効なプログラムまたはスクリプトでなければなりません。

      [AIX][HP-UX][Linux][Solaris] 特に、Linux およびその他の UNIX ベース・システムの場合、スクリプトはシェル宣言で始まっていなければ なりません。そうでないと、正しく実行されない可能性があります。

      以下の 2 つのスクリプトがお客様に対して提供され、install_root/ms/script ディレクトリーにあります。
      • cpuload: 使用中の cpu のパーセンテージを 0 から 100 の範囲で返します。
      • memload: 使用中のメモリーのパーセンテージを 0 から 100 の範囲で返します。
    4. Metric Server エージェントを開始します。 Metric Server が常駐する各サーバー・マシンのコマンド行に、以下を入力します。
      metricserver start

      [Windows]スタート」>「コントロール パネル」>「管理ツール」>「サービス」とクリックします。 「IBM Metric Server (ULB)」を右クリックして、「開始」を選択します。

    5. オプション: Metric Server エージェントを停止します。
      [Linux][AIX HP-UX Solaris] Metric Server エージェントを停止するには、Metric Server が常駐するすべてのサーバー・マシンで以下のコマンドを発行します。
      metricserver stop

      [Windows]スタート」>「コントロール パネル」>「管理ツール」>「サービス」とクリックします。 「IBM Metric Server (ULB)」を右クリックして、「停止」を選択します。

  3. オプション: Metric Server 始動スクリプトのログ・レベルを変更します。 Load Balancer ログのログ・レベル範囲と同様に、0 から 5 のログ・レベル範囲を指定することができます。 これにより、install_root/ms/logs ディレクトリーにエージェント・ログが生成されます。
  4. オプション: Metric Server をローカル・ホスト以外のアドレスで実行させるには、ロード・バランシング対象のサーバー・マシン上の metricserver ファイルを編集する必要があります。
    注: さまざまなドメイン間でメトリックを収集するときは、サーバー・スクリプト (dsserver 等) で java.rmi.server.hostname を、メトリックを 要求するマシンの完全修飾ドメイン名 (FQDN) に明示的に設定しなければなりません。 これが必要なのは、InetAddress.getLocalHost.getHostName() が FQDN を戻さない 可能性があるためです。
    1. metricserver ファイル中の「java」のオカレンスの後に、以下を挿入します。
      -Djava.rmi.server.hostname=OTHER_ADDRESS
    2. metricserver ファイル中の「if」ステートメントの前に、次の行を追加します。
      hostname OTHER_ADDRESS
    3. [Windows] Metric Server マシンの Microsoft スタックで、OTHER_ADDRESS に別名を割り当てることも必要です。 例えば、以下のようになります。
      call netsh interface ip add address "Local Area Connection"
        addr=9.37.51.28 mask=255.255.240.0
  5. オプション: IPv4 専用または IPv6 専用に Metric Server を構成します。 IPv4 クラスターと IPv6 クラスターの両方をサポートする Load Balancer 構成では、Metric Server 機能を実行するサーバーは、IPv4 専用または IPv6 専用 (両方は不可) として構成することができます。 Metric Server が特定の IP プロトコルを強制的に使用するようにするには、metricserver スクリプトで、Java プロパティー java.rmi.server.hostname を指定します。
    注: Java プロパティーで指定されるホスト名は、Metric Server の物理 IP アドレスでなければなりません。
    • [AIX][Linux][Solaris][AIX HP-UX Solaris] Metric Server が IPv6 アドレス 2002:92a:8f7a:162:9:42:92:67 を介して通信するには、以下のように、install_root/bin ディレクトリー内の metricserver 起動スクリプトで $LB_CLASSPATH の後に Java プロパティーを指定します。
       install_root/java/jre/bin/java ..... $ULB_CLASSPATH 
      -Djava.rmi.server.hostname=2002:92a:8f7a:162:9:42:92:67
      com.ibm.internet.nd.sma.SMA_Agent $LB_RMIPORT $LOG_LEVEL $LOG_SIZE $LOG_DIRECTORY $KEYS_DIRECTORY 
      $SCRIPT_DIRECTORY &
    • [Windows] Metric Server が IPv6 アドレス 2002:92a:8f7a:162:9:42:92:67 を介して通信するには、以下のように install_root/bin ディレクトリー内の metricserver.cmd ファイルを編集する必要があります。
      start 
      /min /wait %IBMULBPATH%¥java¥jre¥bin¥java 
      -Djava.rmi.server.hostname=2002:92a:8f7a:162:9:42:92:67 
      -Djava.net.preferIPv4Stack=false 
      -Djava.net.preferIPv6Stack=true -Xrs -cp 
      %LB_CLASSPATH% com.ibm.internet.nd.sma.SMA_Agent 
      %RMI_PORT% %LOG_LEVEL% %LOG_SIZE% %LOG_DIRECTORY% %KEYS_DIRECTORY% 
      %SCRIPT_DIRECTORY% 
      goto done 
      
      :stop 
      %IBMLBPATH%¥java¥jre¥bin¥java 
      -Djava.rmi.server.hostname=2002:92a:8f7a:162:9:42:92:67 
      -Djava.net.preferIPv4Stack=false 
      -Djava.net.preferIPv6Stack=true -cp %LB_CLASSPATH% com.ibm.internet.nd.sma.SMA_AgentStop %RMI_PORT% 
      :done
Task topic    

Terms and conditions for information centers | Feedback

Last updated: May 28, 2013 08:30 AM EDT
File name: tprf_metricserv.html