手动安装说明
前提条件
- 在安装探针前,请先安装好Agent Collector。
- 在安装探针前,需要先确保本地浏览器时间与服务器时区、时间都一致。若有多个服务器,则要保证本地浏览器、多个服务器的时区、时间都一致。否则,可能会影响数据的准确性,例如拓扑不正确等。
修改配置
在以下所有的应用服务器上安装探针前,请先修改探针配置。用户可以采用以下两种方式修改配置。
方式一:修改配置文件
在服务器解压的tingyun目录下tingyun.properties文件中,修改license_key、app_name和collector.addresses配置项,否则探针无法进行数据采集也无法启动探针。对于其他配置项,请根据实际需要进行配置。
- license_key:与您的基调听云账号关联。探针采集到的数据,会上传到该LicenseKey绑定的账号下。将鼠标悬浮在左下角的账号名称位置,在悬浮菜单中选择账户管理,在账号信息页签中查看LicenseKey。
- app_name:缺省应用名称,建议配置为应用的业务名称。
- collector.addresses:Agent Collector服务器的地址和端口号,例如:tingyun.server.com:8080。Agent Collector在高可用部署模式下,请务必将同一机房内所有的Agent Collector服务器地址和端口号都配置进来,以英文逗号分隔。
配置示例如下:
方式二:添加JVM参数
配置catalina.sh中的 JAVA_OPTS,在-javaagent
后加以下三个参数,中间以空格分隔:
-Dtingyun.app_name=${APP_NAME} -Dtingyun.license_key=${LICENSE_KEY} -Dtingyun.coll
ector.addresses=${COLLECTOR_ADDRESSES}
- -Dtingyun.app_name:应用名称,建议配置为应用的业务名称。
- -Dtingyun.license_key:与您的基调听云账号关联。探针采集到的数据,会上传到该LicenseKey绑定的账号下。将鼠标悬浮在左下角的账号名称位置,在悬浮菜单中选择账户管理,在账号信息页签中查看LicenseKey。
- -Dtingyun.collector.addresses:Agent Collector服务器的地址和端口号,例如:tingyun.server.com:8080。Agent Collector在高可用部署模式下,请务必将同一机房内所有的Agent Collector服务器地址和端口号都配置进来,以英文逗号分隔。
在Tomcat上安装Java探针
Tomcat for Linux
修改catalina.sh,配置 JAVA_OPTS 。
export JAVA_OPTS="$JAVA_OPTS -javaagent:/${路径}/tingyun-agent-java.jar"
重启Tomcat。
Tomcat for Windows
大多数Windows用户都把Tomcat作为服务来运行,Tomcat提供了一个配置程序来指定该服务的JVM参数。
单击Start > Apache Tomcat (Version) > Configure Tomcat。
选择: Java。
在 Java Options 文本框中的行末增加:
-javaagent:/${路径}/tingyun-agent-java.jar
单击Apply按钮。
重启Tomcat服务。
设置-javaagent
参数时,请使用正斜杠作为路径分隔符,例如:
-javaagent:C:/tingyun/tingyun-agent-java.jar
对于Tomcat 6版本,在-javaagent
参数之后需要有回车符。并且路径分隔符可以使用正斜杠和反斜杠。
如果您使用catalina.bat来启动Tomcat,请在该批处理文件的顶部增加以下内容:
SET JAVA_OPTS=%JAVA_OPTS% -javaagent:/${路径}/tingyun-agent-java.jar
Apache Commons Daemon(jsvc)
Tomcat 6中自带的Apache Commons Daemon(jsvc)不支持-javaagent
参数。关于该问题的描述请见:[daemon] JSVC does not support all the standard java 5.0 launcher options
在Apache Commons源代码仓库中已经包含了该问题的修复版本。参见:
您也可以直接下载编译好的jsvc版本。该版本的jsvc支持通过-X
前缀来设置-javaagent
参数。
在Glassfish上安装Java探针
在Glassfish上安装Java探针的步骤如下:
- 访问Glassfish配置界面。
- 从左侧菜单依次选择: Configurations -> server-config -> JVM Settings -> JVM Options。
- 在 JVM Options 页面,选择 Add JVM Option。
- 添加一个条目,配置
-javaagent
参数。-javaagent:/${路径}/tingyun-agent-java.jar
- 保存设置。
- 重启应用服务器。
说明:如果Glassfish不能够正常启动,可能是-javaagent参数没有设置正确。可以通过编辑domain.xml正确配置-javaagent参数。
domain.xml参考地址:GLASSFISH_HOME/glassfish/domains/{domain}/config/domain.xml。
在JBoss上安装Java探针
在JBoss上安装Java探针 说明:从8.0 以后的版本,JBoss 更名为WildFly。如果是正在使用WildFly,请参见本文中在WildFly上安装Java探针小节。
Domain mode
Domain mode 使用在JBoss 6.X EAP 或 7.0.X 及以后的版本。 每个服务器组的JVM 配置信息可以在domain/configuration/domain.xml文件配置。
<server-group name="main-server-group" profile="full">
<jvm name="default">
<jvm-options>
<option value="-javaagent:/${路径}/tingyun-agent-java.jar"/>
</jvm-options>
</jvm>
</server-group>
请确认 -javaagent
指定路径是tingyun-agent-java.jar的完整路径。
如果你在Windows使用,路径使用的是斜杠'/'。例如: d:/newlens/tingyun-agent-java.jar
注意:JBoss 存在一个Bug, 详见:JBoss bug in 7.0.2.Final and 7.1.0.Alpha1不允许在domain.xml中配置jvm-options。如果你使用的是存在这个bug的JBoss,请升级JBoss 应用服务器。
Standalone mode
注意: 请确认
-javaagent
指定路径是tingyun-agent-java.jar的完整路径。
平台 | 用法 |
---|---|
Unix / Mac OS 使用 6.x EAP 或 7.0.x AS 及更高版本 | 在bin/standalone.conf文件的底部, 添加:JAVA_OPTS="$JAVA_OPTS -javaagent:/${路径}/tingyun-agent-java.jar" |
Windows 使用 6.x EAP 或 7.0.x AS 及更高版本 | 在bin/standalone.bat文件的set JBOSS_ENDORSED_DIRS=%JBOSS_HOME%\lib\endorsed 行之前添加:set "JAVA_OPTS=-javaagent:C:/${路径}/tingyun-agent-java.jar %JAVA_OPTS%" 使用斜线: C:/newlens/tingyun-agent-java.jar |
Unix / Mac OS 使用 6.x 及更低版本 | 在bin/run.conf文件的底部,添加:JAVA_OPTS="$JAVA_OPTS -javaagent:/${路径}/tingyun-agent-java.jar" |
Windows 使用 6.x 及更低版本 | 在bin/run.bat文件中set JBOSS_CLASSPATH=%RUN_CLASSPATH% 行之前添加:set "JAVA_OPTS=-javaagent:C:/${路径}/tingyun-agent-java.jar %JAVA_OPTS%" 使用斜线: C:/newlens/tingyun-agent-java.jar |
在Jetty上安装Java探针
Java探针支持Jetty自动安装,也可以将-javaagent
命令行选项添加到jetty.sh
文件中完成安装,如下所示:
打开jetty.sh启动脚本文件。
编辑
JAVA_OPTIONS
参数,将以下javaagent
参数添加到JAVA_OPTIONS
。export JAVA_OPTIONS="${JAVA_OPTIONS} -javaagent:/${路径}/tingyun/tingyun -agent-java.jar"
保存脚本文件。
重新启动应用服务器Jetty。
在Play上安装Java探针
Play 2.3.x
进入项目目录:
./activator -J-javaagent:/${路径}/tingyun/tingyun-agent-java.jar run
Play 2.2+ production mode
注意: 2.2+之后
play start
不允许使用 -javaagent参数。
解压包含 start
脚本的zip文件:
play clean dist && unzip target/universal/*.zip
在启动应用时增加 -J-javaagent
参数:
cd UNZIPPEDFOLDER
./bin/SCRIPTNAME -J-javaagent:/${路径}/tingyun-agent-java.jar
Play 2 production mode
注意: 该版本的Play使用
play start
命名启动服务时,不支持-javaagent参数。
解压包含 start
脚本的zip文件:
play clean dist && unzip dist/*.zip
在启动应用时增加 -javaagent
参数:
cd UNZIPPEDFOLDER
chmod a+x start
./start -javaagent:/${路径}/tingyun-agent-java.jar
Play 2 development mode
在play的安装目录修改framework/build
文件 (或者修改windows环境下的build.bat文件):
nano `which play`/../framework/build
在 java exec 调用之前配置JAVA_OPTS,增加-javaagent参数:
JAVA_OPTS="$JAVA_OPTS -javaagent:/${路径}/newlens/tingyun-agent-java.jar"
如果在调用java exec这行不存在 ${JAVA_OPTS}
,将 ${JAVA_OPTS}
添加进去
dev模式启动(切勿使用 play start
):
play run
Play 1 installation
在运行应用的时候增加-javaagent参数:
play run helloworld -javaagent:/${路径}/tingyun-agent-java.jar
在Resin上安装Java探针
Resin pro 3.1+ production mode
找到conf目录下的resin.conf文件,增加 :
<jvm-arg>-javaagent:/${路径}/tingyun-agent-java.jar</jvm-arg>
详情如下:
针对集群所有server增加探针:
<cluster id="cluster_id">
........
<server-default>
...........
<jvm-arg> -javaagent:/${路径}/tingyun-agent-java.jar</jvm-arg>
..........
</server-default>
..........
</cluster>
针对集群某台server增加探针:
<cluster id="cluster_id">
........
<server id="" address="xxx.xxx.xxx.xxx" port="xxxx">
...........
<jvm-arg> -javaagent:/${路径}/tingyun-agent-java.jar</jvm-arg>
..........
</server>
..........
</cluster>
Resin pro 4.0+ production mode
Resin pro 4.0+ 有两种安装方式。
第一种:找到conf目录下的resin.properties文件,将JVM的配置打开,并增加 -javaagent:/${路径}/tingyun-agent-java.jar
,详情如下:
# Arg passed directly to the JVM
jvm_args: -javaagent:/${路径}/tingyun-agent-java.jar
# jvm_mode: -server
第二种:增加
<jvm-arg>-javaagent:/${路径}/tingyun-agent-java.jar</jvm-arg>
详情如下:
针对集群所有server增加探针:
<cluster id="cluster_id">
........
<server-default>
...........
<jvm-arg> -javaagent:/${路径}/tingyun-agent-java.jar</jvm-arg>
..........
</server-default>
..........
</cluster>
针对集群某台server增加探针:
<cluster id="cluster_id">
........
<server id="" address="xxx.xxx.xxx.xxx" port="xxxx">
...........
<jvm-arg> -javaagent:/${路径}/tingyun-agent-java.jar</jvm-arg>
..........
</server>
..........
</cluster>
在WebLogic上安装Java探针
在Linux和Mac下的安装
在Linux和Mac操作系统下安装基调听云Java探针的步骤:
在domain的bin目录下找到startWebLogic.sh文件。
WEBLOGIC_HOME/user_projects/domains/domain_name/bin/startWeblogic.sh
修改文件,在
# START WEBLOGIC
和echo "starting weblogic with Java version:"
之间增加探针配置。... # START WEBLOGIC export JAVA_OPTIONS="$JAVA_OPTIONS -javaagent:/${路径}/tingyun/tingyun -agent-java.jar" echo "starting weblogic with Java version:" ...
重启Weblogic。
在Windows下的安装
在Windows操作系统下安装基调听云Java探针的步骤:
在domain的bin目录下找到startWebLogic.bat文件。
WEBLOGIC_HOME/user_projects/domains/domain_name/bin/startWeblogic.bat
修改文件,在
# START WEBLOGIC
和echo "starting weblogic with Java version:"
之间增加探针配置。... # START WEBLOGIC set JAVA_OPTIONS=%JAVA_OPTIONS% -javaagent:C:\${路径}\tingyun\tingyun- agent-java.jar echo "starting weblogic with Java version:" ...
重启Weblogic。
管理控制台安装
当使用Node Manager来启动和停止被管理的服务器时,采用以下的步骤来安装Java探针:
在管理控制台中,在左侧域结构目录下依次单击环境>服务器,右侧页面中可看到服务器列表。
单击探针要部署到的服务器的名称,例如server-0,进入该服务器的设置页面。
在页面上方,单击服务器启动页签,进入服务器启动设置页面。
在参数选项的文本框中增加以下内容,然后单击保存按钮。
-javaagent:"/${路径}/tingyun-agent-java.jar"
重新启动服务。
在WebSphere上安装Java探针
兼容性
基调听云Java探针支持WebSphere 7.0到8.5.5的所有版本,除了有部分8.5.0的版本与该探针不兼容。
在WebSphere上安装Java探针
在WebSphere上安装Java探针有如下两种方式。
通过管理控制台配置探针(推荐)
登录管理控制台:https://ip:9043/ibm/console。
浏览:Servers > Application servers > (选择指定的Server)。
选择:Configuration > Service Infrastructure > Java and Process Management > Process Definition > Additional Properties。
在Process Definition > Additional Properties下,选择Java Virtual Machine。
在Java Virtual Machine页面中,在Generic JVM arguments选项的文本框中,增加以下内容。
-javaagent:/${路径}/tingyun/tingyun-agent-java.jar
单击Apply按钮,然后单击Save按钮。
重启服务。
说明:如果启用了 Java安全性(Java 2 Security), 需要授权Tingyun Agent通过JMX获取PMI指标。
参考以下步骤:
修改server.xml文件(不推荐)
文件路径大致为:WAS_HOME/AppServer/profiles/app_server_name/config/cells/cell_name/nodes/node_name/servers/server_name/server.xml
...
<jvmEntries ... genericJvmArguments="-javaagent:/${路径}/tingyun/
tingyun-agent-java.jar" ... >
...
</jvmEntries>
...
安全性(Java 2 Security)配置
如果您使用的是Java 2 Security或WebSphere管理安全性, 需要授予tingyun目录下所有jar文件的执行权限。可以通过修改java.policy文件启用授予全局安全性,也可以修改某个Server的server.policy文件只授权单个Server的权限。
授权所有Server
修改java.policy文件,文件路径大概为:
WAS_HOME/java/jre/lib/security/java.policy
将如下内容添加到java.policy中,
file:
后面的路径必须指定到tingyun-agent-java.jar的目录,并确保最后存在-
。其中的Collector_IP为Agent Collector的IP地址,如果您部署了多个Agent Collector,permission java.net.SocketPermission "Collector_IP","connect,accept,resolve";
需要复制出多行,然后将所有的Agent Collector的IP地址悉数配置在Collector_IP。grant codeBase "file:/${路径}/tingyun/-" { permission java.security.AllPermission; permission java.net.SocketPermission "Collector_IP","connect,accept,resolve"; permission java.lang.RuntimePermission "createClassLoader"; permission java.lang.RuntimePermission "getClassLoader"; };
重启应用WebSphere。
授权单个Server
修改server.policy文件,文件路径大概为:
WAS_HOME/AppServer/profiles/APP_SERVER_NAME/properties/server.policy
将如下内容添加到java.policy中,
file:
后面的路径必须指定到tingyun-agent-java.jar的目录,并确保最后存在-
。其中的Collector_IP为Agent Collector的IP地址,如果您部署了多个Agent Collector,permission java.net.SocketPermission "Collector_IP","connect,accept,resolve";
需要复制出多行,然后将所有的Agent Collector的IP地址悉数配置在Collector_IP。grant codeBase "file:/${路径}/tingyun/-" { permission java.security.AllPermission; permission java.net.SocketPermission "Collector_IP","connect,accept,resolve"; permission java.lang.RuntimePermission "createClassLoader"; permission java.lang.RuntimePermission "getClassLoader"; };
重启应用WebSphere。
说明:每个Server最终的安全性都取决于
java.policy
和server.policy
的并集,切勿在多个文件配置同样的授权。
policy文件的配置格式及语法可参考Default Policy Implementation and Policy File Syntax。
在WildFly上安装Java探针
Domain mode
修改domain/configuration/domain.xml里的<jvm-options/>
增加<option/>
:
<server-group name="main-server-group" profile="full">
<jvm name="default">
<jvm-options>
<option value="-javaagent:/${路径}/tingyun-agent-java.jar"/>
</jvm-options>
</jvm>
如果你在Windows使用,路径使用的是斜杠/
。例如: C:/tingyun/tingyun-agent-java.jar
。
Standalone mode
操作系统 | 描述 |
---|---|
Unix / Mac OS | 在bin/standalone.conf文件的底部, 添加:JAVA_OPTS="$JAVA_OPTS -javaagent:/${路径}/tingyun-agent-java.jar" |
Windows | 查找bin/standalone.bat文件中的如下内容:rem Setup JBoss specific properties 在该行之后添加 set "JAVA_OPTS=-javaagent:C:/tingyun/tingyun-agent-java.jar %JAVA_OPTS%" |
在ColdFusion上安装Java探针
访问ColdFusion Administrator Console。
从左侧菜单依次选择: SERVER SETTINGS -> Java and JVM。
在 JVM Arguments 输入框里,配置
-javaagent
参数。-javaagent:/${路径}/tingyun-agent-java.jar
单击 Submit Changes。
重启ColdFusion。
注意:探针暂时不支持ColdFusion Version 9 on IIS。
在Geronimo上安装Java探针
使用geronimo run启动时,将tingyun-agent-java.jar添加到 JAVA_OPTS
变量里:
export JAVA_OPTS="$JAVA_OPTS -javaagent:/${路径}/tingyun-agent-
java.jar" && geronimo run
在Grails上安装Java探针
使用run-app启动Grails
当使用 grails run-app
启动服务时,需要在run-app之前增加-javaagent
参数:
grails -noreloading -javaagent:/${路径}/tingyun-agent-java.jar run-app
注意:
-noreloading
参数只在 Grails 2.x 版本需要。
使用run-war启动Grails
修改{your-grails-app}/conf/BuildConfig.groovy 文件,在 grails.tomcat.jvmArgs
属性里添加-javaagent
参数:
grails.tomcat.jvmArgs = ["-javaagent:/${路径}/tingyun-agent-java.jar"]
在Apusic上安装Java探针
探针安装步骤如下:
嵌入基调听云探针。
进入/${路径}/domains/mydomain/bin目录,编辑startapusic文件。
JVM_OPTS="$OTHERS_JVMOPTS $MEMORY_JVMOPTS $GC_JVMOPTS -javaagent:/${路径}/ting yun-agent-java.jar "
重启Apusic服务。
提示:Apusic服务启动方式为:
进入/${路径}/domains/mydomain/bin目录,执行
nohup ./startapusic &
命令。
在中创环境安装Java探针
在中创环境安装Java探针有如下两种方式。
通过管理控制台配置探针(推荐)
在中创应用服务器控制台添加,依次单击配置管理->server-config->JVM设置->JVM选项->添加JVM选项。
-javaagent:/${路径}/AppServer/as/domains/tingyun/tingyun-agent-java.jar
保存,重新启动InforSuite服务。
提示:InforSuite服务启动方式为:
进入/${路径}/AppServer/as/bin目录,执行
./asadmin
命令,然后在asadmin> 后输入 start-domain。
修改domain.xml文件(不推荐)
Java探针嵌码配置文件的大致路径为:
/${路径}/AppServer/as/domains/domain1/config/domain.xml
每个服务器组的JVM 配置信息可以在domain.xml文件中配置。
<server-group name="main-server-group" profile="full">
<jvm name="default">
<jvm-options>
<option value="-javaagent:/${路径}/tingyun-agent-java.jar"/>
</jvm-options>
</jvm>
</server-group>
在TongWeb环境安装Java探针
配置启动基本
嵌入基调听云探针,请进入/${路径}/bin目录,编辑external.vmoptions。
JAVA_OPTS="${JAVA_OPTS} -javaagent:/${路径}/tingyun/tingyun-agent-java.jar"
权限配置
需要保证启动TongWeb的用户具有读写agent_install_path的权限,保证读写权限由两部分组成:
系统读写权限,可以设置将安装路径agentPath的所有者设置为启动TongWeb的用户:
chown -R <用户>:<用户组> <agent_install_path> chmod u+rw <agentPath>
如启用TongWeb的安全管理配置,需在/${路径}/conf/tongweb.policy添加如下代码:
grant codeBase "file:/<agent_install_path>/-"{ permission java.security.AllPermission; };
完成启动脚本和权限配置后,重启TongWeb服务即可。 如果使用root用户权限启动TongWeb则无需修改系统读写权限部分配置。
说明:TongWeb服务启动方式为:
进入/${路径}/bin目录,执行
nohup ./startserver.sh &
命令。
Spring-boot/独立jar包/其它应用服务器
Java探针可以运行在任何应用服务器上,只要在启动的参数中配置:
java -javaagent:/${路径}/tingyun-agent-java.jar -jar ${您的应用}.jar
说明:-javaagent 一定要放置在 -jar 之前。