IBM Performance Management (SaaS)

Ruby エージェントの構成

Monitoring Agent for Rubyは複数インスタンス・エージェントです。最初のインスタンスを作成し、エージェントを手動で開始する必要があります。Ruby エージェントによってサポートされる Web サーバーは WEBrick、Thin、Puma、Unicorn、および Passenger です。

デフォルト設定を使用した Ruby エージェントの構成

システムのすべての Ruby on Rails アプリケーションを自動的にモニターする標準的な環境では、新規インスタンス名以外の追加構成情報を入力する必要はありません。標準的な環境では、デフォルト設定を使用してエージェントを構成してください。

手順

  1. エージェントを構成するには、以下を入力します。
    install_dir/bin/ruby-agent.sh config instance_name install_dir/samples/ruby_silent_config.txt
    ここで、instance_name はインスタンスに指定する名前であり、install_dirRuby エージェントのインストール・ディレクトリーです。 デフォルトのインストール・ディレクトリーは、/opt/ibm/apm/agent です。

    config コマンドを実行する前に、ruby_silent_config.txt ファイル (特に KKM_RUBY_RUNTIME_BIN_LOCATION パラメーター) が正しく構成されていることを確認してください。

    KKM_AUTO_DETECT_RUBY_APPLICATIONS パラメーターの値を Y に設定できるエージェント・インスタンスは 1 つだけです。 他のインスタンスでは、この値を N に設定してください。

  2. エージェントを開始するには、以下を入力します。
    install_dir/bin/ruby-agent.sh start instance_name

カスタム設定を使用した Ruby エージェントの構成

システムに複数の Ruby ランタイムがインストールされている場合は、Ruby アプリケーションからデータを収集するために使用するランタイムを指定する必要があります。選択する Ruby ランタイムは、アプリケーションで使用されている Ruby on Rails のバージョンと互換性のあるものでなければなりません。使用するランタイムを指定するには、カスタマイズした設定を使用してエージェントを構成します。

このタスクについて

管理対象システム名には、指定するインスタンス名が含まれます (例: instance_name:host_name:pc)。ここで pc は、ご使用の製品の 2 文字の製品コードです。管理対象システム名は 32 文字に制限されています。指定するインスタンス名は 28 文字 (ホスト名の字数は除く) までに制限されています。例えば、インスタンス名に Ruby2 を指定すると、管理対象システム名は Ruby2:hostname:KM になります。
重要: 長いインスタンス名を指定した場合、管理対象システム名は切り捨てられ、エージェント・コードが正しく表示されません。

手順

  1. エージェントを構成するには、以下を入力します。
    install_dir/bin/ruby-agent.sh config instance_name
    ここで、instance_name はインスタンスに指定する名前であり、install_dirRuby エージェントのインストール・ディレクトリーです。 デフォルトのインストール・ディレクトリーは、/opt/ibm/apm/agent です。
  2. Monitoring Agent for Ruby の設定 (Edit Monitoring Agent for Ruby settings)というプロンプトが出されたら、1 を入力して続行します。
  3. Ruby ランタイム bin のロケーション (Ruby Runtime Bin Location)」というプロンプトが出されたら、バイナリー・ディレクトリーを指定します。例えば Ruby Version Manager (RVM) を使用している場合は /usr/local/rvm/rubies/ruby-2.0.0-p247/bin です。
  4. 「現在実行中のすべての Ruby on Rails アプリケーションの自動検出を Ruby エージェントに許可する (Allow the Ruby agent to auto-detect all current running Ruby on Rails applications)」というプロンプトが表示されたら、Y または N を入力して続行します。
    注: この機能を有効化できるエージェント・インスタンスは 1 つだけです。 他のインスタンスを構成するときには N を入力し、 この機能を無効にして続行してください。
  5. 「Rails アプリケーション・サーバー (Rails Application Server)」というプロンプトが出されたら、Enter キーを押してデフォルトの ruby を受け入れるか、以下のリストに従って使用するサーバーの値を指定します。
    • Webrick サーバーの場合、デフォルトを受け入れるか、ruby と指定します。Rails が Ruby スタックによってインストールされている場合は、.ruby.bin と指定します。
    • Passenger サーバーの場合は passenger と指定します。
    • Unicorn サーバーの場合は unicorn と指定します。
    • Puma サーバーの場合は puma と指定します。
    • Thin サーバーの場合、コマンド thin start を実行してアプリケーションを始動する場合はデフォルトを受け入れて ruby を使用します。コマンド thin start -d を実行してアプリケーションを始動する場合は thin と指定します。Rails が Ruby スタックによってインストールされており、コマンド thin start を実行してアプリケーションを始動する場合は .ruby.bin と指定します。
  6. ソケット・データ・ソース (Socket Data Source)」というプロンプトが出されたら、Enter キーを押してデフォルトの 0 を受け入れて一時ポートを使用します。
  7. 「「Ruby アプリケーション」設定の編集 (Edit 'Ruby_Application' settings)」 というプロンプトが表示されたら、5 を入力して終了します。
  8. エージェントを開始するには、以下を入力します。
    install_dir/bin/ruby-agent.sh start instance_name

モニターする各 Ruby アプリケーションの個別編集

Ruby アプリケーションのサブセットをモニターする場合は、モニターする各 Ruby アプリケーションに対して、以下の編集を個別に行います。

手順

  1. エージェントを構成するには、以下を入力します。
    install_dir/bin/ruby-agent.sh config instance_name
    ここで、instance_name はインスタンスに指定する名前であり、install_dirRuby エージェントのインストール・ディレクトリーです。 デフォルトのインストール・ディレクトリーは、/opt/ibm/apm/agent です。
  2. Monitoring Agent for Ruby の設定 (Edit Monitoring Agent for Ruby settings)というプロンプトが出されたら、1 を入力して続行します。
  3. Ruby ランタイム bin のロケーション (Ruby Runtime Bin Location)」というプロンプトが出されたら、Enter キーを押して続行します。
  4. 「現在実行中のすべての Ruby on Rails アプリケーションの自動検出を Ruby エージェントに許可する (Allow the Ruby agent to auto-detect all current running Ruby on Rails applications)」というプロンプトが表示されたら、Y または N を入力して続行します。
    注: この機能を有効化できるエージェント・インスタンスは 1 つだけです。 他のインスタンスを構成するときには N を入力し、 この機能を無効にして続行してください。
  5. 「Rails アプリケーション・サーバー (Rails Application Server)」というプロンプトが出されたら、Enter キーを押してデフォルトの ruby を受け入れるか、以下のリストに従って使用するサーバーの値を指定します。
    • Webrick サーバーの場合、デフォルトを受け入れるか、ruby と指定します。Rails が Ruby スタックによってインストールされている場合は、.ruby.bin と指定します。
    • Passenger サーバーの場合は passenger と指定します。
    • Unicorn サーバーの場合は unicorn と指定します。
    • Puma サーバーの場合は puma と指定します。
    • Thin サーバーの場合、コマンド thin start を実行してアプリケーションを始動する場合はデフォルトを受け入れて ruby を使用します。コマンド thin start -d を実行してアプリケーションを始動する場合は thin と指定します。Rails が Ruby スタックによってインストールされており、コマンド thin start を実行してアプリケーションを始動する場合は .ruby.bin と指定します。
  6. ソケット・データ・ソース (Socket Data Source)」というプロンプトが出されたら、Enter キーを押してデフォルトの 0 を受け入れて一時ポートを使用します。
  7. 「「Ruby アプリケーション」設定の編集 (Edit 'Ruby_Application' settings)」 というプロンプトが表示されたら、1 を入力してアプリケーションを指定します。
  8. プロンプトが出されたら、Ruby アプリケーション名を入力します。
  9. プロンプトが出されたら、Ruby アプリケーションのホーム・ディレクトリー (例: /root/Ruby/myApp) を入力します。
  10. 最後のプロンプト「拡張 (値をオーバーライドするセクションの選択) (Advanced (select a section to override values))」が出されたら、q と入力して終了できます。
  11. エージェントを開始するには、以下を入力します。
    install_dir/bin/ruby-agent.sh start instance_name
    注: 複数の Ruby ランタイムをインストールしており、特定の Ruby アプリケーションをモニターする場合は、Ruby アプリケーションまたはサブノードにランタイム・オーバーライドを設定することができます。例えば、2 つのランタイムがインストールされており、4 つのアプリケーションがあり、そのうちの 3 つのアプリケーションが 1 つのランタイムを使用し、残り 1 つのアプリケーションがもう 1 つのランタイムを使用するとします。この場合、エージェント・レベルで最もよく使用されるランタイムを設定し、別のランタイムを使用するアプリケーションではランタイム・オーバーライドを設定します。

タスクの結果

1 つ以上の Ruby on Rails アプリケーション用の Ruby エージェント・インスタンスを作成し、モニター・エージェントを開始して、リソース・モニター用のデータ・サンプルの収集を開始しました。

次のタスク

  • Application Diagnostics のユーザーでない場合でも、Ruby エージェントを正常に機能させるために、 データ・コレクターをインストールする必要があります。インストール手順について詳しくは、データ・コレクターのインストールを参照してください。
  • ログインしていない場合は、Performance Management consoleの始動の手順に従ってください。 「パフォーマンス」 > Application Performance ダッシュボードをクリックして「すべてのマイ・アプリケーション」ダッシュボードを開き、Ruby アプリケーション・リソース・モニター・ダッシュボードにドリルダウンして、状況要約から要求およびリソースの詳細に至るまで、Ruby on Rails アプリケーションを監視します。