pinpoint1.7.3集群部署

/ pinpoint监控 / 没有评论 / 57浏览

pinpoint1.7.3部署安装

部署信息

(内网)ip部署
10.24.15.43collector、web
10.24.15.46agent

保证节点之间能互相访问。

hbase

hbase安装

需要安装好hbase,我这里已经安装了HDP。

数据库脚本

下载数据库脚本,hbase-create.hbase

hbase shell hbase-create.hbase

collector

解压到tomcat

pinpoint-collector-1.7.3.war解压到tomcat的webapps中。

修改配置

修改webapps/pinpoint-collector-1.7.3/WEB-INF/classes/下的配置

# 这里填zk的地址,多个用逗号隔开
hbase.client.host=10.24.15.43,10.24.15.44,10.24.15.45
# 这里填zk的端口
hbase.client.port=2181

# hbase default:/hbase
# 这个地方很重要,hbase注册在zk的路径
hbase.zookeeper.znode.parent=/hbase-unsecure

# hbase namespace to use default:default
# 只是创建表的时候指定的表空间,默认就是default
hbase.namespace=default

有三个端口,9994、9995、9996,可以修改。

# base data receiver config  ---------------------------------------------------------------------
collector.receiver.base.ip=0.0.0.0
collector.receiver.base.port=9994

# number of tcp worker threads
collector.receiver.base.worker.threadSize=8
# capacity of tcp worker queue
collector.receiver.base.worker.queueSize=1024
# monitoring for tcp worker
collector.receiver.base.worker.monitor=true

# stat receiver config  ---------------------------------------------------------------------
collector.receiver.stat.udp=true
collector.receiver.stat.udp.ip=0.0.0.0
collector.receiver.stat.udp.port=9995
collector.receiver.stat.udp.receiveBufferSize=4194304

# Should keep in mind that TCP transport load balancing is per connection.(UDP transport loadbalancing is per packet)
collector.receiver.stat.tcp=false
collector.receiver.stat.tcp.ip=0.0.0.0
collector.receiver.stat.tcp.port=9995

# number of udp statworker threads
collector.receiver.stat.worker.threadSize=8
# capacity of udp statworker queue
collector.receiver.stat.worker.queueSize=64
# monitoring for udp stat worker
collector.receiver.stat.worker.monitor=true


# span receiver config  ---------------------------------------------------------------------
collector.receiver.span.udp=true
collector.receiver.span.udp.ip=0.0.0.0
collector.receiver.span.udp.port=9996
collector.receiver.span.udp.receiveBufferSize=4194304

# Should keep in mind that TCP transport load balancing is per connection.(UDP transport loadbalancing is per packet)
collector.receiver.span.tcp=false
collector.receiver.span.tcp.ip=0.0.0.0
collector.receiver.span.tcp.port=9996

# 省略下面的

collector集群部署,则还要修改如下

cluster.enable=true
# 还是zk的地址(ip:port),逗号隔开
cluster.zookeeper.address=10.24.15.43,10.24.15.44,10.24.15.45
cluster.zookeeper.sessiontimeout=30000
# 这个collector所在的ip
cluster.listen.ip=10.24.15.43
# 这个collector指定一个端口
cluster.listen.port=9990

web

解压到tomcat

pinpoint-web-1.7.3.war解压到tomcat的webapps中。

提示: 最好将webapps下的pinpoint-web-1.7.3修改为ROOT,这样访问时不需要加上下文:/pinpoint-web-1.7.3。当然,用nginx代理下也行。

修改配置

修改webapps/ROOT/WEB-INF/classes/下的配置

类似于collector中的hbase.properties

# 这里填zk的地址,多个用逗号隔开
hbase.client.host=10.24.15.43,10.24.15.44,10.24.15.45
# 这里填zk的端口
hbase.client.port=2181

# hbase default:/hbase
# 这个地方很重要,hbase注册在zk的路径
hbase.zookeeper.znode.parent=/hbase-unsecure

# hbase namespace to use default:default
# 只是创建表的时候指定的表空间,默认就是default
hbase.namespace=default
# 集群部署
cluster.enable=true
# 随便一个可用的端口,用于collector于web建立连接
cluster.web.tcp.port=9997
# 填zk地址,多个逗号隔开
cluster.zookeeper.address=10.24.15.43:2181,10.24.15.44:2181,10.24.15.45:2181
cluster.zookeeper.sessiontimeout=30000
cluster.zookeeper.retry.interval=60000
# pinpoint-collector.properties中配置的cluster.listen.ip,多个用逗号隔开
# 我这里虽然启用cluster,但配置了一个collector,相当于伪集群
cluster.connect.address=10.24.15.43:9990

如果部署了多个collector,则cluster.connect.address注意修改。

agent

配置

pinpoint-agent-1.7.3.tar.gz解压。

pinpoint-agent
|-- boot
|   |-- pinpoint-annotations-$VERSION.jar
|   |-- pinpoint-bootstrap-core-$VERSION.jar
|   |-- pinpoint-bootstrap-core-optional-$VERSION.jar
|   |-- pinpoint-commons-$VERSION.jar
|-- lib
|   |-- log4j.xml
|   |-- pinpoint-profiler-$VERSION.jar
|   |-- pinpoint-profiler-optional-$VERSION.jar
|   |-- pinpoint-rpc-$VERSION.jar
|   |-- pinpoint-thrift-$VERSION.jar
|   |-- ...
|-- plugin
|   |-- pinpoint-activemq-client-plugin-$VERSION.jar
|   |-- pinpoint-arcus-plugin-$VERSION.jar
|   |-- ...
|-- pinpoint-bootstrap-$VERSION.jar
|-- pinpoint.config

可以将pinpoint-agent加入环境变量$AGENT_PATH

修改pinpoint.config

# 填collector的ip即可,多个collector则可用nginx代理
profiler.collector.ip=10.24.15.43

# placeHolder support "${key}"
profiler.collector.span.ip=${profiler.collector.ip}
# 可能需要改成你collector指定的端口
profiler.collector.span.port=9996

# placeHolder support "${key}"
profiler.collector.stat.ip=${profiler.collector.ip}
# 可能需要改成你collector指定的端口
profiler.collector.stat.port=9995

# placeHolder support "${key}"
profiler.collector.tcp.ip=${profiler.collector.ip}
# 可能需要改成你collector指定的端口
profiler.collector.tcp.port=9994

监控项目

普通java项目

启动加入参数:

其中agentId为唯一名称(同一个工程可以部署多个)、applicationName一般为服务名称,类似group。

例如:

java -javaagent:$AGENT_PATH/pinpoint-bootstrap-$VERSION.jar -Dpinpoint.agentId="xxx" -Dpinpoint.applicationName="xxx" -jar xxx.jar

web项目

以Tomcat为例,添加启动参数(catalina.sh)

CATALINA_OPTS="$CATALINA_OPTS -javaagent:$AGENT_PATH/pinpoint-bootstrap-$VERSION.jar"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=$AGENT_ID"
CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=$APPLICATION_NAME"

提示,Tomcat8不推荐直接在catalina.sh中添加,建议在bin目录的setenv.sh中添加(没有就创建)。

export CATALINA_OPTS="$CATALINA_OPTS -javaagent:$AGENT_PATH/pinpoint-bootstrap-1.7.3.jar"
export CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.agentId=xxx"
export CATALINA_OPTS="$CATALINA_OPTS -Dpinpoint.applicationName=xxx"

启动&预览

访问web所在的Tomcat,http://ip:port

index

参考