在 Passenger Enterprise 5.0.4 上启用 JMX bean
Enable JMX beans on Passenger Enterprise 5.0.4
您好 Whosebug 的仁慈社区,
我有一个在 Red hat、Nginx、Jruby with sinatra 和 Passenger Enterprise 上运行的 Web 服务堆栈。我的最终目标是启用可以推送到我的 App Dynamics 控制器(由 SaaS 托管)的 JMX 指标。
App Dynamics 安装相对容易配置,但指标未通过。我估计 JMX 没有启用,我正在尝试找到初始化 JVM 的脚本以供客运企业启动 java。我未能准确追踪到输入附加参数以启用 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
我感兴趣的是从机架中获取 JMX 指标-loader.rb。
这是我追溯 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 服务器中的配置...
找到我自己的解决方案。
由于 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
重新启动您的终端,它应该将其加载为环境变量。指标很好。
您好 Whosebug 的仁慈社区, 我有一个在 Red hat、Nginx、Jruby with sinatra 和 Passenger Enterprise 上运行的 Web 服务堆栈。我的最终目标是启用可以推送到我的 App Dynamics 控制器(由 SaaS 托管)的 JMX 指标。
App Dynamics 安装相对容易配置,但指标未通过。我估计 JMX 没有启用,我正在尝试找到初始化 JVM 的脚本以供客运企业启动 java。我未能准确追踪到输入附加参数以启用 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
我感兴趣的是从机架中获取 JMX 指标-loader.rb。
这是我追溯 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 服务器中的配置...
找到我自己的解决方案。
由于 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
重新启动您的终端,它应该将其加载为环境变量。指标很好。