Bistoury是去哪儿网的java应用生产问题诊断工具,提供了一站式的问题诊断方案,本文介绍如何通过IDE里面直接启动各个组件,github地址:https://github.com/qunarcorp/bistoury
在以上各项条件满足之后,需要在MySQL中创建名为bistoury
的数据库,然后执行script/h2/data.sql
和script/h2/schema.sql
两个SQL文件,初始化信息,需要注意的是,在执行data.sql之前,要替换里面的几个变量:
${local_ip}
:替换为本机的IP,如果是本机的话,其实替换为127.0.0.1
就可以,或者在本机执行以下官方脚本ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"|tail -1
,看看获取的是什么${local_host}
:替换为本机的名称,执行命令hostname
获取${log_dir}
:替换为待诊断应用的日志路径按照编译脚本中的,分别执行maven命令编译以下三个模块
mvn clean package -am -pl bistoury-dist -Pprod -Dmaven.test.skip -Denforcer.skip=true
mvn clean package -am -pl bistoury-ui -Pprod -Dmaven.test.skip=true -Denforcer.skip=true
mvn clean package -am -pl bistoury-proxy -Pprod -Dmaven.test.skip=true -Denforcer.skip=true
按照Proxy,UI,Agent的顺序启动,当然,被诊断应用要提前启动
主入口是qunar.tc.bistoury.proxy.container.Bootstrap
,执行该文件的main方法即可。需要注意添加以下VM参数:
同时,要记得修改上述目录中的jdbc.properties
文件中连接信息为最开始初始化的那个MySQL
主入口是qunar.tc.bistoury.ui.container.Bootstrap
,添加以下VM参数:
同样,修改上述目录中的jdbc.properties
文件中连接信息为最开始初始化的那个MySQL
主入口是qunar.tc.bistoury.indpendent.agent.Main
,需要添加以下VM参数:
理论上按照上述顺序启动完成后,就可以访问UI的地址:localhost:9091
体验了。因为并没有考虑到脚本的位置,所以qjtop
、qjdump
、qjmap
等这些命令无法使用,但是体验大部分功能已经没问题了