OneAPM试用

OneAPM试用

我们(handka.com)的研发团队是个5人小团队.其中3人前端,2人后端,没有专职的运维,我们在服务监控上较为薄弱.虽然我们之前在服务器上服务器上安装了ganglia来监控基本的CPU,磁盘IO和网络流量.而我们采用了Play1的技术栈,JVMAPI,SQL层的监控上一直是空白.

最近业务量的上涨带来了服务器Load Average的增加,为了进一步了解Play Server的内部的运行情况.我们希望使用更为详尽的监控系统.

寻找合适的监控系统

我在选择监控系统的时有两个出发点:

1. 监控指标准确

2. 集成与开发难度小 

3. 监控系统资源占用少

由于我们的系统使用了非Servelt标准的Play1做为Web Server,而现有的开源JVM监控平台不能方便的集成进我们系统.所以我们只能放弃开源JVM监控系统

后来我们试用了商业的NewRelic,虽然它能支持Play1,但因为要向NewRelic国外的服务器发送监控数据,所以经常导致监控系统数据刷新不及时.我们不得不放弃NewRelic.

再后来我们发现了OneAPM.

OneAPM的集成步骤

虽然在OneAPM的网站上没有描述Play1集成的文档.但集成OneAPM的步骤仍然相当简单方便.

1. 进入OneAPM添加服务应用的引导界面 

OneAPM试用_第1张图片 

 

2. 选择编程语言为Java,

3. 点击生成授权编号按钮,将授权编号拷贝出来,在第4步使用

4. 将下载OneAPMzip解压,并将文件夹OneAPM上传到服务器的play应用目录

 

OneAPM试用_第2张图片

 

5. 进入OneAPM修改./OneAPM/oneapm.ymllicense_key的值为之前的授权编号.

6. 将之前的Play实例的启动脚本从play run 改为 

play run -javaagent:./OneAPM/oneapm.jar

7. 重启Play实例:

1. Play stop 2. play run -javaagent:./OneAPM/oneapm.jar

8. 进入OneAPM页面,就能看到Play应用了.

OneAPM试用_第3张图片 

 

OneAPM的优点

试用了几天后,发现OneAPM的优点相当明显

1. 页面响应速度快,相对于国外的监控服务,OneAPM地理上的优势不言而喻.

2. OneAPM的优势也带来了它相当稳定的服务.在集成进OneAPM服务器的LoadAverage曲线和之前一样.说明它占用的资源完全可以忽略.

3. 如果只是监控http,sqlJVM的状态,OneAPM完全够用,免去了使用JavaMetric类库手动编码和集成的复杂.

 

下面是几张监控界面的截图:

 

OneAPM试用_第4张图片 

OneAPM试用_第5张图片 

 

总之,OneAPM真的很棒,虽然也有不足的地方,但它一定会越来越好.

 

 

 

你可能感兴趣的:(java,前端,后端)