@rzzx
2017-08-02T07:43:51.000000Z
字数 7279
阅读 595
(因为chartID也属于逻辑的一部分,所以这里警报的chartID和其它所有的逻辑都在这里)
Browser
文档中主机名需要参考以下配置:
判断是应用分析模块还是关键页面、关键AJAX模块分别去请求不同的detailjsons
detailjsons的响应数据(下文有)
{"browserAppId" : 7098,"keyPageId" : 0,"keyAjaxId" : 0,"eventId" : 210191,"targetTypeId" : 52,"eventTypeId" : 64,"hostId" : "123798","uriId" : "0","regionId" : "0","carrierId" : "0","endTime" : "2017-08-01 19:20:03","timePeriod" : 1831,"chartType" : 0,"chartId" : "browser-alarm-page-performance","chartTitle" : "browser.chart.alarm.serverTime","chartTip" : "browser.chart.alarm.serverTime.tip","relatedListType" : 0,"chartBaseonId" : 404,"groupType" : 4}
根据返回的各种参数来判断请求图表的参数和url
其中有两个图表,这里分成上下图表,上面的图表的url是动态改变的,下面的图表一般是吞吐率曲线图,写死的,但是请求的参数都会改变
扩展:
targetType >= 51 && targetType <= 54 => 应用分析
targetType == 55 =>关键页面
targetType == 56 => 关键AJAX
detailjsons的响应数据(下文有)/*成功响应*/{"status":200,"data": {"browserAppId" : 7098,"keyPageId" : 0,"keyAjaxId" : 0,"eventId" : 210191,"targetTypeId" : 52,"eventTypeId" : 64,"hostId" : "123798","uriId" : "0","regionId" : "0","carrierId" : "0","endTime" : "2017-08-01 19:20:03","timePeriod" : 1831,"chartType" : 0,"chartId" : "browser-alarm-page-performance","chartTitle" : "browser.chart.alarm.serverTime","chartTip" : "browser.chart.alarm.serverTime.tip","relatedListType" : 0,"chartBaseonId" : 404,"groupType" : 4}}
if ( targetType > 50 ) {if ( targetType < 55 ) { //应用分析请求detailjsons,返回的对象设为objif(obj.groupType == 0){upChartParams = {baseonId : obj.chartBaseonId};}else if(obj.groupType == 1){upChartParams = {baseonId : obj.chartBaseonId,regionId : obj.regionId};downChartParams = {regionId : obj.regionId};}else if(obj.groupType == 2){upChartParams = {baseonId : obj.chartBaseonId,carrierId : obj.carrierId};downChartParams = {carrierId : obj.carrierId};}else if(obj.groupType == 3){upChartParams = {baseonId : obj.chartBaseonId,carrierId : obj.carrierId,regionId : obj.regionId};downChartParams = {regionId : obj.regionId,carrierId : obj.carrierId};}else if(obj.groupType == 4){upChartParams = {baseonId : obj.chartBaseonId,host_id : obj.hostId};downChartParams = {host_id : obj.hostId};}else if(obj.groupType == 5){upChartParams = {baseonId : obj.chartBaseonId,host_id : obj.hostId,uri_id : obj.uriId};downChartParams = {host_id : obj.hostId,uri_id : obj.uriId};}if(obj.chartType == 1){是apdex图表}else {不是apdex图表}if(obj.targetTypeId == 54){下面chartId = browser-alarm-ajax-throughput;}else {下面chartId = browser-alarm-throughput;}上面图表的请求: 请求参数:browserAppId,upChartParams,timePeriod,endTime,timeType请求的chartId:obj.chartId下面图表的请求: 请求参数:browserAppId,downChartParams,timePeriod,endTime,timeType请求的chartId:下面chartId} else if ( targetType == 55 ) { //关键页面请求detailjsons,返回的对象设为objif(obj.groupType == 0){upChartParams = {baseonId : obj.chartBaseonId};}else if(obj.groupType == 1){upChartParams = {baseonId : obj.chartBaseonId,regionId : obj.regionId};downChartParams = {regionId : obj.regionId};}else if(obj.groupType == 2){upChartParams = {baseonId : obj.chartBaseonId,carrierId : obj.carrierId};downChartParams = {carrierId : obj.carrierId};}else if(obj.groupType == 3){upChartParams = {baseonId : obj.chartBaseonId,regionId : obj.regionId,carrierId : obj.carrierId};downChartParams = {carrierId : obj.carrierId,regionId : obj.regionId};}if(obj.chartType == 1){是apdex图表}else {不是apdex图表}上面图表的请求: 请求参数:browserAppId,browserKeyPageId,upChartParams,,timePeriod,endTime,timeType请求的chartId:obj.chartId下面图表的请求: 请求参数:browserAppId,browserKeyPageId,downChartParams,timePeriod,endTime,timeType请求的chartId:browser-alarm-throughput} else if ( targetType == 56 ) { //关键AJAX请求detailjsons,返回的对象设为objif(obj.groupType == 0){upChartParams = {baseonId : obj.chartBaseonId};}else if(obj.groupType == 1){upChartParams = {baseonId : obj.chartBaseonId,regionId : obj.regionId};downChartParams = {regionId : obj.regionId};}else if(obj.groupType == 2){upChartParams = {baseonId : obj.chartBaseonId,carrierId : obj.carrierId};downChartParams = {carrierId : obj.carrierId};}else if(obj.groupType == 3){upChartParams = {baseonId : obj.chartBaseonId,regionId : obj.regionId,carrierId : obj.carrierId};downChartParams = {carrierId : obj.carrierId,regionId : obj.regionId};}if(obj.chartType == 1){是apdex图表}else {不是apdex图表}上面图表的请求: 请求参数:browserAppId,browserKeyAjaxId,upChartParams,,timePeriod,endTime,timeType请求的chartId:obj.chartId下面图表的请求: 请求参数:browserAppId,browserKeyAjaxId,downChartParams,timePeriod,endTime,timeType请求的chartId:browser-alarm-throughput}}
应用分析URL
/browser/application/{browserAppId}/alarm/detailjsons
关键页面URL
/browser/keypage/{uriId}/alarm/detailjsons
关键AJAXURL
/browser/keyajax/{uriId}/alarm/detailjsons
应用分析示例URL
关键页面示例URL
关键AJAX示例URL
警报列表的单个json
{agreementId = 1760;alarmSettingsId = 2716;beginTime = 1500973260000;beginTimeMills = 1500972660000; //需要传carrierId = 0; //需要传carrierName = "<null>";cityId = 0;//需要传(regionId)cityName = "<null>";cityTwoId = "<null>";connectTypeId = "<null>";cost = 66480000;count = 20;ctime = 1500974226000;endTime = 1501039740000;endTimeMills = 1501040340000; //需要传endTimePeriod = "2017-07-26 11:39:00";eventDetailUrl = "/7281/alarmDetail/209001?targetType=51";eventLevel = 2;eventTraceId = 1107402;eventType = 1;externalProtocolType = 0;historyState = "<null>";hostId = 123801;//需要传icon = c;id = 209001;//需要传(eventId)instanceId = 0;instanceName = "<null>";message = "<null>";metricId = 63;//需要传(eventTypeId)minuteCost = 1108;name = "test_\U7b2c\U4e09\U65b9\U63a8\U9001_b";notify = "<null>";readStatus = 0;relatedEventId = 63;relatedEventType = 63;releaseThreshold = "<null>";releaseValue = "<null>";sampleGroup = 1;status = 0;targetId = 7281;targetName = "test_\U7b2c\U4e09\U65b9\U63a8\U9001_b";targetParentId = 7281;targetType = 51;//需要传(targetTypeId)threshold = 4;thresholdType = "<null>";timeCost = "<null>";timePeriod = 1128;unit = "%";uriId = 19531322; //需要传url = "/7281/overview";value = 5;}
请求参数
| 参数 | 必选 | 类型 | 说明 |
|---|---|---|---|
| _ty_auth_token | true | string | token从authlocal.tingyun.com:10886/auth/api/auth/login获取 |
| browserAppId | true | int | browserAppID |
| targetTypeId | true | int | targetType |
| eventId | true | int | id |
| eventTypeId | true | int | metricId |
| regionId | true | int | cityId |
| carrierId | true | int | carrierId |
| hostId | true | int | hostId |
| uriId | true | int | uriId |
| beginTimeMills | true | int | beginTimeMills |
| endTimeMills | true | int | endTimeMills |
响应数据(三个的响应格式是一样的)
/*成功响应*/{"status":200,"data": {"browserAppId" : 7098,"keyPageId" : 0,"keyAjaxId" : 0,"eventId" : 210191,"targetTypeId" : 52,"eventTypeId" : 64,"hostId" : "123798","uriId" : "0","regionId" : "0","carrierId" : "0","endTime" : "2017-08-01 19:20:03","timePeriod" : 1831,"chartType" : 0,"chartId" : "browser-alarm-page-performance","chartTitle" : "页面渲染", //chart标题"chartTip" : "browser.chart.alarm.serverTime.tip","relatedListType" : 0,"chartBaseonId" : 404,"groupType" : 4}}/*错误响应*/{"status":-1,"data":"_ty_auth_token is NULL"}/*错误响应*/{"status":-500,"message":"system error."}