0

こんにちは、友好的な Stackoverflow コミュニティです。Red Hat、Nginx、Jruby with sinatra、および Passenger Enterprise で動作する Web サービス スタックがあります。私の最終的な目標は、App Dynamics コントローラー (SaaS によってホストされている) にプッシュできる JMX メトリックを有効にすることです。

App Dynamics のインストールは比較的簡単に構成できますが、メトリックは得られません。私はJMXが有効になっていないと考えており、旅客企業がJavaを起動するためにJVMを初期化するスクリプトを見つけようとしています. JMX を有効にする追加パラメータをどこに入力すればよいかを正確に追跡できませんでした。

これが私の現在のすべてのJavaアプリケーションです

root     19260     1  0 Mar20 ?        00:05:12 /usr/lib/jvm/jre/bin/java -Xmx500m -Xss2048k -Djffi.boot.library.path=/opt/jruby-1.7.12/lib/jni -Xbootclasspath/a:/opt/jruby-1.7.12/lib/jruby.jar -classpath : -Djruby.home=/opt/jruby-1.7.12 -Djruby.lib=/opt/jruby-1.7.12/lib -Djruby.script=jruby -Djruby.shell=/bin/sh org.jruby.Main mojo_copytruncate.rb
nobody   20996 20861  4 17:02 ?        00:02:42 java -Xmx500m -Xss2048k -Djffi.boot.library.path=/opt/jruby-1.7.12/lib/jni -Xbootclasspath/a:/opt/jruby-1.7.12/lib/jruby.jar -classpath : -Djruby.home=/opt/jruby-1.7.12 -Djruby.lib=/opt/jruby-1.7.12/lib -Djruby.script=jruby -Djruby.shell=/bin/sh org.jruby.Main /opt/passenger/passenger-enterprise-server-5.0.4/helper-scripts/rack-loader.rb

私が興味を持っているのは、rack-loader.rb から JMX メトリックを取得することです。

PPID 20861 をトレースバックすると、プロセスは次のようになります。

root     20861 20858  0 17:02 ?        00:00:09 PassengerAgent server
nobody   20996 20861  4 17:02 ?        00:02:42 java -Xmx500m -Xss2048k -Djffi.boot.library.path=/opt/jruby-1.7.12/lib/jni -Xbootclasspath/a:/opt/jruby-1.7.12/lib/jruby.jar -classpath : -Djruby.home=/opt/jruby-1.7.12 -Djruby.lib=/opt/jruby-1.7.12/lib -Djruby.script=jruby -Djruby.shell=/bin/sh org.jruby.Main /opt/passenger/passenger-enterprise-server-5.0.4/helper-scripts/rack-loader.rb

PassengerAgent サーバーで構成を探す場所がわかりません...

4

1 に答える 1

0

私自身の解決策を見つけました。

PassengerAgent は Rack-loader.rb という ruby​​ スクリプトを使用して起動するため、RVM を使用する場合は常に Java エージェントをアタッチする必要があります。私たちのスタックは完全に Ruby ベースであり、RVM を実行するものは他にないため、このソリューションは私のシナリオに適合します。Java エージェントを渡すために、/etc/profile.d/ フォルダーに appdynamics.sh というスクリプトを作成しました。

中に書いた

export AGENT_HOME=YOUR_AGENT_FILE_PATH.jar
export JRUBY_OPTS=-J-javaagent:$AGENT_HOME

ターミナルを再起動すると、これが環境変数として読み込まれます。メトリクスはうまくいきました。

于 2015-03-28T20:38:01.720 に答える