1、部署生效
- Jvm探针生效必须要重启中间件。因此当jvm探针发生变更时,必须重启中间件。
- Js探针生效无需重启中间价。因此当js探针发生变更时,无需重启中间件。
- NC Client补丁首次部署需要重启中间件。
2、结果确认
①确认jvm探针生效
当宿主应用上添加了jvm探针时,宿主应用启动会在native out【cmd或重定向日志】中输出探针打印的信息。以was为例,样式如下:
7? 31, 2017 10:29:59 +0800 [1480 1] ycm.yonyou INFO: Agent premain...
7? 31, 2017 10:29:59 +0800 [1480 1] ycm.yonyou INFO: Agent args...appId=VwQZleQzXe4320189539
7? 31, 2017 10:29:59 +0800 [1480 1] ycm.yonyou INFO: StaticAgentAttrVO setter's param is appid VwQZleQzXe4320189539 and attrs are : tid : null srid : null httpPort : 0 appid : VwQZleQzXe4320189539 serverPort : null
7? 31, 2017 10:29:59 +0800 [1480 1] ycm.yonyou INFO: instanceNamemaster
7? 31, 2017 10:29:59 +0800 [1480 1] ycm.yonyou INFO: serverPort: 9080
7? 31, 2017 10:29:59 +0800 [1480 1] ycm.yonyou INFO: StaticAgentAttrVO setter's param is serverPort 9080 and attrs are : tid : null srid : null httpPort : 0 appid : VwQZleQzXe4320189539 serverPort : 9080
7? 31, 2017 10:29:59 +0800 [1480 1] ycm.yonyou INFO: StaticAgentAttrVO setter's param is serverPort 9080 and attrs are : tid : null srid : null httpPort : 0 appid : VwQZleQzXe4320189539 serverPort : 9080
Yonyou YYY: Loading configuration file "D:\nccode\Exmobi\yonyou-yyy-agent\probes\9080.yml"
7? 31, 2017 10:29:59 +0800 [1480 1] ycm.yonyou INFO: StaticAgentAttrVO setter's param is httpPort 44445 and attrs are : tid : null srid : null httpPort : 44445 appid : VwQZleQzXe4320189539 serverPort : 9080
Attributes in jvm Probe about agent is : tid : null srid : null httpPort : 44445 appid : VwQZleQzXe4320189539 serverPort : 9080
7? 31, 2017 10:29:59 +0800 [1480 1] ycm.yonyou INFO: Attributes in jvm Probe about agent is : tid : null srid : null httpPort : 44445 appid : VwQZleQzXe4320189539 serverPort : 9080
Yonyou YYY: Writing to log file: D:\nccode\Exmobi\yonyou-yyy-agent\probes\logs\VwQZleQzXe4320189539\9080\yonyou-yyy.log
************ Start Display Current Environment ************
等待几分钟后,yonyou-yyy-agent/probes/logs/%appid%/%serverport%/yonyou-yyy.log 会有探针心跳日志输出,样式如下:
8月 29, 2017 08:24:32 +0800 [4484 103] ycm.yonyou INFO: send request to url 172.20.8.12:44445/send/api/txc
8月 29, 2017 08:24:32 +0800 [4484 103] ycm.yonyou INFO: send transaction trace data: [{"content":[{"dtime":59906,"wtime":0,"ecnt":0,"webcnt":2,"webthp":2,"cnt":2,"wecnt":0,"thp":2,"time":0,"ts":1503966272232}],"header":{"pt":"txc","srid":"hNAcPIiJhh3546511066","appid":"jhlJUyqHhq2079942917","tid":"JsVkXHdqTG1878285484"}}]
8月 29, 2017 08:24:32 +0800 [4484 103] ycm.yonyou INFO: send request to url 172.20.8.12:44445/send/api/get_agent_commands
8月 29, 2017 08:24:32 +0800 [4484 103] ycm.yonyou INFO: send transaction trace data: ["hNAcPIiJhh3546511066"]
8月 29, 2017 08:24:32 +0800 [4484 103] ycm.yonyou INFO: responseBody:{"return_value":[]}
8月 29, 2017 08:24:32 +0800 [4484 103] ycm.yonyou INFO: statusCode:200
8月 29, 2017 08:24:32 +0800 [4484 103] ycm.yonyou INFO: send request to url 172.20.8.12:44445/send/api/metric
8月 29, 2017 08:24:32 +0800 [4484 103] ycm.yonyou INFO: send transaction trace data: [{"content":[{"metric":"memory.nonheap.used","value":"161","timestamp":"1503966272248"},{"metric":"memorypool.nonheap.classstorage.used","value":"137","timestamp":"1503966272248"},{"metric":"memory.heap.utilization","value":"25","timestamp":"1503966272248"},{"metric":"memory.nonheap.committed","value":"190","timestamp":"1503966272248"},{"metric":"memorypool.nonheap.jitdatacache.max","value":"0","timestamp":"1503966272248"},{"metric":"memory.heap.committed","value":"322","timestamp":"1503966272248"},{"metric":"threads.count","value":"50","timestamp":"1503966272248"},{"metric":"memorypool.heap.javaheap.max","value":"768","timestamp":"1503966272248"},{"metric":"memory.used","value":"352","timestamp":"1503966272248"},{"metric":"memory.heap.max","value":"768","timestamp":"1503966272248"},{"metric":"memory.nonheap.max","value":"0","timestamp":"1503966272248"},{"metric":"memorypool.nonheap.miscellaneousnonheapstorage.committed","value":"22","timestamp":"1503966272248"},{"metric":"threads.deadlocks.count","value":"0","timestamp":"1503966272248"},{"metric":"memorypool.nonheap.jitcodecache.max","value":"0","timestamp":"1503966272248"},{"metric":"gc.marksweepcompact.count","value":"1","timestamp":"1503966272248"},{"metric":"gc.marksweepcompact.maxtime","value":"94","timestamp":"1503966272248"},{"metric":"gc.marksweepcompact.mintime","value":"94","timestamp":"1503966272248"},{"metric":"gc.marksweepcompact.sumofsquares","value":"8836","timestamp":"1503966272248"},{"metric":"gc.marksweepcompact.total","value":"94","timestamp":"1503966272248"},{"metric":"gc.marksweepcompact.totalexclusivetime","value":"94","timestamp":"1503966272248"},{"metric":"memorypool.nonheap.miscellaneousnonheapstorage.max","value":"0","timestamp":"1503966272248"},{"metric":"memorypool.heap.javaheap.committed","value":"322","timestamp":"1503966272248"},{"metric":"memory.physical","value":"512","timestamp":"1503966272248"},{"metric":"memorypool.nonheap.classstorage.committed","value":"144","timestamp":"1503966272248"},{"metric":"memorypool.nonheap.classstorage.max","value":"0","timestamp":"1503966272248"},{"metric":"jvm.probe.switch","value":"1","timestamp":"1503966272248"},{"metric":"memorypool.nonheap.miscellaneousnonheapstorage.used","value":"0","timestamp":"1503966272248"},{"metric":"memorypool.nonheap.jitdatacache.committed","value":"8","timestamp":"1503966272248"},{"metric":"memorypool.nonheap.jitcodecache.used","value":"16","timestamp":"1503966272248"},{"metric":"gc.all.count","value":"1","timestamp":"1503966272248"},{"metric":"gc.all.maxtime","value":"94","timestamp":"1503966272248"},{"metric":"gc.all.mintime","value":"94","timestamp":"1503966272248"},{"metric":"gc.all.sumofsquares","value":"8836","timestamp":"1503966272248"},{"metric":"gc.all.total","value":"94","timestamp":"1503966272248"},{"metric":"gc.all.totalexclusivetime","value":"94","timestamp":"1503966272248"},{"metric":"memorypool.nonheap.jitdatacache.used","value":"8","timestamp":"1503966272248"},{"metric":"memory.heap.used","value":"191","timestamp":"1503966272248"},{"metric":"memorypool.heap.javaheap.used","value":"191","timestamp":"1503966272248"},{"metric":"memorypool.nonheap.jitcodecache.committed","value":"16","timestamp":"1503966272248"}],"header":{"srid":"hNAcPIiJhh3546511066","ep":"WIN-M2L6ONJOU8H","appid":"jhlJUyqHhq2079942917","tid":"JsVkXHdqTG1878285484"}}]
8月 29, 2017 08:24:32 +0800 [4484 36] ycm.yonyou INFO: send request to url 172.20.8.12:44445/send/api/get_agent_commands
8月 29, 2017 08:24:32 +0800 [4484 36] ycm.yonyou INFO: send transaction trace data: ["hNAcPIiJhh3546511066"]
8月 29, 2017 08:24:32 +0800 [4484 36] ycm.yonyou INFO: responseBody:{"return_value":[]}
8月 29, 2017 08:24:32 +0800 [4484 36] ycm.yonyou INFO: statusCode:200
8月 29, 2017 08:24:33 +0800 [4484 36] ycm.yonyou INFO: send request to url 172.20.8.12:44445/send/api/get_agent_commands
8月 29, 2017 08:24:33 +0800 [4484 36] ycm.yonyou INFO: send transaction trace data: ["hNAcPIiJhh3546511066"]
8月 29, 2017 08:24:33 +0800 [4484 36] ycm.yonyou INFO: responseBody:{"return_value":[]}
8月 29, 2017 08:24:33 +0800 [4484 36] ycm.yonyou INFO: statusCode:200
注意:未打出native out日志,则jvm参数配置错误;如果native out日志有了,但未打出yonyou-yyy.log,说明探针启动失败,但宿主应用仍可继续执行。
②确认agent数据传输
确认心跳:
Heartbeat.log 中有最新的日志打印,并且没有抛出异常:
2017-08-29 13:30:19 SimpleResponseObserver - [ DEBUG ] reponse to http://172.20.8.107/heartbeat/api/hbcheck is : ycm.agent.vo.ResponseVO@1e141e14
2017-08-29 13:30:24 HeartBeatSubject - [ DEBUG ] sending heartbeat msg: {"agentid":"JsVkXHdqT****8285484:WIN-M2L6ONJOU8H","hostmd5":"4d1a5ca3bf46eeff67dab53eb09550e4","agentver":"1.0.0.20170810_beta","confver":"2017-08-03_14_55_16","agentcmdver":"1"}
2017-08-29 13:30:24 HeartBeatSubject - [ DEBUG ] Received heartbeat response: {"msg":"ok","failed":0,"status":200,"successed":0}
2017-08-29 13:30:24 HeartBeatSubject - [ INFO ] response msg : ok
2017-08-29 13:30:24 SimpleResponseObserver - [ DEBUG ] reponse to http://172.20.8.107/heartbeat/api/hbcheck is : ycm.agent.vo.ResponseVO@7e3f7e3f
2017-08-29 13:30:29 HeartBeatSubject - [ DEBUG ] sending heartbeat ms****"agentid":"JsVkXHdqTG1878285484:WIN-M2L6ONJOU8H","hostmd5":"4d1a5ca3bf46eeff67dab53eb09550e4","agentver":"1.0.0.20170810_beta","confver":"2017-08-03_14_55_16","agentcmdver":"1"}
2017-08-29 13:30:29 HeartBeatSubject - [ DEBUG ] Received heartbeat response: {"msg":"ok","failed":0,"status":200,"successed":0}
2017-08-29 13:30:29 HeartBeatSubject - [ INFO ] response msg : ok
确认agent缓存组件数据传输:
Httpchannel_out.log 中有最新的日志打印,并且没有抛出异常,事件被正常commit:
2017-08-29 14:28:58 ForwardEventSink - [ DEBUG ] Deal event data end and strategy need to be done is commit
2017-08-29 14:29:02 ForwardEventSink - [ DEBUG ] Take event success and start to deal, and method is : transaction
2017-08-29 14:29:02 ForwardEventSink - [ DEBUG ] Forward event sink send method transaction , and data is : [{"content":[{"port":7777,"error":false,"rqua":"Mozilla\/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)","rqmeth":"GET","dbtime":0.0,"time":0,"bo":"\/","sid":"15039877913107609719","thid":"http-bio-\/172.20.8.12-7777-exec-2","sn":"none","psid":"psid","txid":"15039877913107609719","rqacc":"*\/*","rqhost":"172.20.8.12:7777","hpsts":"200","apz":"S","dbcnt":0.0,"ep":"172.20.8.12:7777","uri":"\/","dbtimems":0,"rphc":"text\/html","codetime":0,"tp":"WebTransaction\/Uri\/","rtime":0,"ts":1503988092185},{"port":7777,"error":false,"rqua":"Mozilla\/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)","rqmeth":"GET","dbtime":0.0,"time":0,"bo":"\/","sid":"1503987821357f9151a0","thid":"http-bio-\/172.20.8.12-7777-exec-5","sn":"none","psid":"psid","txid":"1503987821357f9151a0","rqacc":"*\/*","rqhost":"172.20.8.12:7777","hpsts":"200","apz":"S","dbcnt":0.0,"ep":"172.20.8.12:7777","uri":"\/","dbtimems":0,"rphc":"text\/html","codetime":0,"tp":"WebTransaction\/Uri\/","rtime":0,"ts":1503988122841}],"header":{"pt":"txg","srid":"hNAcPIiJhh3546511066","appid":"jhlJUyqHhq2079942917","tid":"JsVkXHdqTG1878285484"}}]
2017-08-29 14:29:02 ForwardEventSink - [ DEBUG ] Take event success and start to deal, and method is : txc
2017-08-29 14:29:02 ForwardEventSink - [ DEBUG ] Forward event sink send method txc , and data is : [{"content":[{"dtime":60000,"wtime":0,"ecnt":0,"webcnt":2,"webthp":2,"cnt":2,"wecnt":0,"thp":2,"time":0,"ts":1503988142591}],"header":{"pt":"txc","srid":"hNAcPIiJhh3546511066","appid":"jhlJUyqHhq2079942917","tid":"JsVkXHdqTG1878285484"}}]
2017-08-29 14:29:02 ForwardEventSink - [ DEBUG ] Take event success and start to deal, and method is : metric
2017-08-29 14:29:02 ForwardEventSink - [ DEBUG ] Forward event sink send method metric , and data is : [{"content":[{"metric":"memory.nonheap.used","value":"159","timestamp":"1503988142607"},{"metric":"memorypool.nonheap.classstorage.used","value":"137","timestamp":"1503988142607"},{"metric":"memory.heap.utilization","value":"41","timestamp":"1503988142607"},{"metric":"memory.nonheap.committed","value":"188","timestamp":"1503988142607"},{"metric":"memorypool.nonheap.jitdatacache.max","value":"0","timestamp":"1503988142607"},{"metric":"memory.heap.committed","value":"323","timestamp":"1503988142607"},{"metric":"threads.count","value":"49","timestamp":"1503988142607"},{"metric":"memorypool.heap.javaheap.max","value":"768","timestamp":"1503988142607"},{"metric":"memory.used","value":"475","timestamp":"1503988142607"},{"metric":"memory.heap.max","value":"768","timestamp":"1503988142607"},{"metric":"memory.nonheap.max","value":"0","timestamp":"1503988142607"},{"metric":"memorypool.nonheap.miscellaneousnonheapstorage.committed","value":"19","timestamp":"1503988142607"},{"metric":"threads.deadlocks.count","value":"0","timestamp":"1503988142607"},{"metric":"memorypool.nonheap.jitcodecache.max","value":"0","timestamp":"1503988142607"},{"metric":"gc.marksweepcompact.count","value":"1","timestamp":"1503988142607"},{"metric":"gc.marksweepcompact.maxtime","value":"94","timestamp":"1503988142607"},{"metric":"gc.marksweepcompact.mintime","value":"94","timestamp":"1503988142607"},{"metric":"gc.marksweepcompact.sumofsquares","value":"8836","timestamp":"1503988142607"},{"metric":"gc.marksweepcompact.total","value":"94","timestamp":"1503988142607"},{"metric":"gc.marksweepcompact.totalexclusivetime","value":"94","timestamp":"1503988142607"},{"metric":"memorypool.nonheap.miscellaneousnonheapstorage.max","value":"0","timestamp":"1503988142607"},{"metric":"memorypool.heap.javaheap.committed","value":"323","timestamp":"1503988142607"},{"metric":"memory.physical","value":"511","timestamp":"1503988142607"},{"metric":"memorypool.nonheap.classstorage.committed","value":"144","timestamp":"1503988142607"},{"metric":"memorypool.nonheap.classstorage.max","value":"0","timestamp":"1503988142607"},{"metric":"jvm.probe.switch","value":"1","timestamp":"1503988142607"},{"metric":"memorypool.nonheap.miscellaneousnonheapstorage.used","value":"0","timestamp":"1503988142607"},{"metric":"memorypool.nonheap.jitdatacache.committed","value":"8","timestamp":"1503988142607"},{"metric":"memorypool.nonheap.jitcodecache.used","value":"16","timestamp":"1503988142607"},{"metric":"gc.all.count","value":"1","timestamp":"1503988142607"},{"metric":"gc.all.maxtime","value":"94","timestamp":"1503988142607"},{"metric":"gc.all.mintime","value":"94","timestamp":"1503988142607"},{"metric":"gc.all.sumofsquares","value":"8836","timestamp":"1503988142607"},{"metric":"gc.all.total","value":"94","timestamp":"1503988142607"},{"metric":"gc.all.totalexclusivetime","value":"94","timestamp":"1503988142607"},{"metric":"memorypool.nonheap.jitdatacache.used","value":"6","timestamp":"1503988142607"},{"metric":"memory.heap.used","value":"317","timestamp":"1503988142607"},{"metric":"memorypool.heap.javaheap.used","value":"317","timestamp":"1503988142607"},{"metric":"memorypool.nonheap.jitcodecache.committed","value":"16","timestamp":"1503988142623"}],"header":{"srid":"hNAcPIiJhh3546511066","ep":"WIN-M2L6ONJOU8H","appid":"jhlJUyqHhq2079942917","tid":"JsVkXHdqTG1878285484"}}]
2017-08-29 14:29:02 ForwardEventSink - [ DEBUG ] Forward event sink send method transaction , and result is : {"msg":"ok","failed":0,"status":200,"successed":1}
2017-08-29 14:29:02 ForwardEventSink - [ DEBUG ] Deal event data end and strategy need to be done is commit
2017-08-29 14:29:02 ForwardEventSink - [ DEBUG ] Forward event sink send method txc , and result is : {"msg":"ok","failed":0,"status":200,"successed":1}
2017-08-29 14:29:02 ForwardEventSink - [ DEBUG ] Deal event data end and strategy need to be done is commit
2017-08-29 14:29:02 ForwardEventSink - [ DEBUG ] Forward event sink send method metric , and result is : {"msg":"ok","failed":0,"status":200,"successed":1}
2017-08-29 14:29:02 ForwardEventSink - [ DEBUG ] Deal event data end and strategy need to be done is commit
2017-08-29 14:29:11 ForwardEventSink - [ DEBUG ] Take event success and start to deal, and method is : transaction
注意:
如果返回结果中包含大量的IOException,则说明网络配置错误,检查RemoteProxy和SSL配置。
如果httpchannel_out.log中无任何内容输出,请停止Agent后尝试“以管理员身份运行”。因为缓存组件需要向本地磁盘进行数据缓存,部分用户可能无磁盘写权限。
③确认js探针生效
访问被监控应用的网页页面,例如portal,在访问主页之后通过F12调试工具-Network页签可以看到js探针yonyou-yyy.js的发送数据:
④确认NC Client探针生效(NC产品部署)
访问NC Client,登录之后F12或直接打开NC前台日志。客户端日志级别为DEBUG,server日志级别为OFF。打开任意节点,在日志中可以看到发送的性能数据(yyy开头):
16:39:10 [AWT-EventQueue-0] INFO - Yyy respHeadesMap. {null=[HTTP/1.1 200 OK], sttime=[2320597165884714], Date=[Tue, 29 Aug 2017 08:39:08 GMT], Content-Length=[409], txid=[1503995949353cdc4187], totaltime=[16], Content-Type=[application/x-java-serialized-object], Server=[Apache-Coyote/1.1], txtime=[16]}
16:39:10 [AWT-EventQueue-0] DEBUG - end nc.bs.dbcache.intf.IDBCacheBS.runSQLQuery(java.lang.String,nc.jdbc.framework.processor.ResultSetProcessor) {target=http://10.11.67.43:8063/ServiceDispatcherServlet/default} | costtime=21ms
16:39:10 [AWT-EventQueue-0] DEBUG - end matchPK(String), time cost:22ms
16:39:10 [AWT-EventQueue-0] DEBUG - The ImplClzName is:nc.vo.tmpub.rule.TMFlowBizRule
16:39:10 [AWT-EventQueue-0] DEBUG - Leaving class nc.ui.tmpub.action.query.DefaultQueryAction.actionPerformed
16:39:10 [AWT-EventQueue-0] DEBUG - #busiaction:收票登记-查询 cost time 11834
16:39:10 [AWT-EventQueue-0] INFO - Yyy sending business json is: [{"header":{"srid":"fJaTCIhgrp3639709167","pt":"busi","appid":"oFLIxOPgEK3639597597","tid":"JsVkXHdqTG1878285484","ip":"125.35.5.254"},"content":[{"nodecode":"36180RBR","bsid":"15e2d24c5c40000d027888b21870036d404","ts":1503995950078,"ba":"收票登记-查询","usercode":"lx","txtotal":6028,"type":"busi","nettotal":252,"btnname":"查询","nodebtn":"36180RBR-查询","txs":[{"total":27,"txid":"1503995923240ad1c1ed"},{"total":25,"txid":"1503995937594ff4efc5"},{"total":504,"txid":"1503995937623873d318"},{"total":28,"txid":"1503995938145b651eb0"},{"total":354,"txid":"1503995861212680abed"},{"total":4656,"txid":"1503995943869ec5f303"},{"total":19,"txid":"15039959484320454f5b"},{"total":36,"txid":"150399594856896ac797"},{"total":407,"txid":"150399594860378fa6cb"},{"total":20,"txid":"150399594901302a5395"},{"total":21,"txid":"15039959491246e5e32e"},{"total":23,"txid":"15039959491472eb4815"},{"total":15,"txid":"1503995949172537318c"},{"total":14,"txid":"1503995949193bfdd8bc"},{"total":13,"txid":"1503995949210a0ca8f6"},{"total":15,"txid":"15039959492248a6f37d"},{"total":18,"txid":"1503995949240f6b9c3e"},{"total":14,"txid":"1503995949259ee9290e"},{"total":16,"txid":"15039959492784d658c0"},{"total":20,"txid":"15039959492937a8c626"},{"total":14,"txid":"15039959493367412bd4"},{"total":21,"txid":"1503995949353cdc4187"}],"bstotal":6280,"nodename":"收票登记"}]}]
16:39:10 [pool-2-thread-1] INFO - Yyy sending url_final is http://172.20.8.107/send/api/transaction
16:39:10 [pool-2-thread-1] INFO - Yyy sending result is {"msg":"ok","failed":0,"status":200,"successed":1}
- 出现Yyy respHeadersMap开头,则说明NC Client探针已生效;
- 出现Yyy sending result is {"msg":"ok","failed":0,"status":200,"successed":1},则说明数据已成功上传并被服务器接收。