快速开始
注:内容翻译自 官方quick start文档,增加了少量补充和说明。
Pinpoint有三个主要组件(collector, web, agent),并使用HBase作为存储。Collector和Web被打包为单个war文件,而agent被打包以便可以作为java agent附加到应用。
Pinpoint quickstart 为agent提供一个示例TestApp, 并使用tomcat maven插件来启动所有三个组件。
要求
为了构建pinpoint, 下列要求必须满足:
- 安装有JDK 6
- 安装有JDK 8
- 安装有Maven 3.2.x+
- 环境变量JAVA_6_HOME 设置为 JDK 6 home 目录
- 环境变量JAVA_7_HOME 设置为 JDK 7+ home 目录
- 环境变量JAVA_8_HOME 设置为 JDK 8+ home 目录
QuickStart 支持 Linux, OSX, 和 Windows.
注:没有说要不要安装jdk7,顺便一起安装吧。下面是/etc/profile的设置:
# use by pinpoint compile
export JAVA_6_HOME=/usr/lib/jvm/java-6-oracle/
export JAVA_7_HOME=/usr/lib/jvm/java-7-oracle/
export JAVA_8_HOME=/usr/lib/jvm/java-8-oracle/
开始
使用 git clone https://github.com/naver/pinpoint.git 下载pinpoint或者将项目作为zip文件打包下载然后解压。
使用maven安装pinpoint并运行 mvn install -Dmaven.test.skip=true
注:需要执行的命令如下:
git clone https://github.com/naver/pinpoint.git
cd pinpoint
mvn install -Dmaven.test.skip=true
安装并启动HBase
下面脚本从 Apache 下载站点 单独下载HBase.
对于Windows, 需要从Apache下载站点手工下载HBase.
下载 HBase-1.0.1-bin.tar.gz 并解压缩.
重命名目录为 hbase 以便使得最终hbase目录看上去是 quickstart\hbase\hbase.
另外注意通过相应的.cmd文件来运行脚本。
下载并启动 - 运行 quickstart/bin/start-hbase.sh
初始化表 - 运行 quickstart/bin/init-hbase.sh
补充:这里面有两个地方要特别注意
- 如果手工下载HBase,按照上面要求解压并重命名为路径quickstart\hbase\hbase。启动时会出错,因为start-hbase.sh文件中hbase配置的路径是”HBASE_VERSION=hbase-1.0.1”,需要手工修改为”HBASE_VERSION=hbase”
- init-hbase.sh不仅仅第一次运行时需要执行,以后再启动quickstart时,也需要执行,否则collector和web启动时会始终无法成功最后180秒超时报错退出。再多执行一次init-hbase.sh就可以正常启动。
启动pinpoint守护进程
Collector - 运行 quickstart/bin/start-collector.sh
Web UI - 运行 quickstart/bin/start-web.sh
TestApp - 运行 quickstart/bin/start-testapp.sh
注:这三个脚本启动后,用ctrl + c可以退出控制台,此时后台进程还在,但是会看不到日志。因此建议这三个脚本分别在三个不同的终端中执行,这样就可以方便查看每个组件的日志信息。
一旦启动脚本完成,tomcat 日志的最后10行显示在控制台:
Collector
注:如果启动不起来,总是打印”starting pinpoint-quickstart-web **/180 (close wait limit)”,最后180秒超时失败。请尝试再次执行一遍”init-hbase.sh”.
Web UI
TestApp
检查状态
一旦HBase和三个守护进程在运行,可以访问下面地址来测试自己的pinpoint实例。
Web UI - http://localhost:28080
TestApp - http://localhost:28081
可以通过使用TestApp UI来产生追踪数据给pinpoint, 并使用pinpoint Web UI来检查。TestApp作为test-agent注册在TESTAPP下。
停止
HBase - 运行 quickstart/bin/stop-hbase.sh
Collector - 运行 quickstart/bin/stop-collector.sh
Web UI - 运行 quickstart/bin/stop-web.sh
TestApp - 运行 quickstart/bin/stop-testapp.sh
额外
pinpoint Web使用mysql来持久化用户/用户组,和警告配置。
而Quickstart使用MockDAO来减少内存使用。
此外如果想使用mysql来执行Quickstart, 请参考Pinpoint Web’s applicationContext-dao-config.xml , jdbc.properties.
此外,如果想开启告警,需要实现额外逻辑。请参考这个 链接。
注: 上面这个Alarm文档的中文翻译版本在 这里