简介:ARMS企业级场景被集成场景介绍

通过本次最佳实际内容,您能够看到ARMS OpenAPI能够灵便的被集成到客户链路监控场景,并对其进行可视化图形展现监控信息。

1. 背景信息

利用实时监控服务ARMS(Application Real-Time Monitoring Service)是一款利用性能治理产品,能帮忙你实现全栈式的性能监控和端到端的全链路追踪诊断,让利用运维更加高效。

本次最佳实际是基于调用ARMS OpenAPI的模式来实现客户利用场景链路监控的可视化图形展现,应用环境为专有云V3.10版本ASCM控制台,调用ARMS OpenAPI接口通过工具Postman进行测试,在第二章节具体介绍了测试环境及测试工具。第三章节通过一个查问所有利用ARMS OpenAPI接口形容调用过程,并且蕴含该接口须要申请传入的参数接口列表。最初一章节将对一个简单利用场景,获取链路监控信息应用到ARMSOpenAPI接口,对每个接口列表字段、调用过程及返回后果具体介绍。

最佳实际价值

通过调用ARMS OpenAPI在利用场景的应用,直观给阅读者理解到ARMS产品的能力,及ARMS提供一套OpenAPI能够容易的集成到客户利用中,疾速实现简单的微服务链路监控能力,由ARMS监控服务能力涵盖范畴能力比拟广,蕴含浏览器、小程序、APP、分布式应用和容器环境,因而残缺的监控能力,开发过程中不须要集成多开源组件的模式,使微服务程序监控性能开发简略,让利用运维变得容易。

2. 环境

在应用ARMS前您须要依照以下内容对以后的零碎环境进行查看。

本次最佳实际基于专有云企业版V3.10.0版本ARMS。

阐明:ARMS OpenAPI各个版本变动不大,应用形式保持一致,所以此文档也实用于公共云产品或专有云V3.7.0以上版本。专有云V3.10.0控制台称为ASCM,V3.10.0之前版本为Apsara Stack。

1.登录ASCM控制台。

2.将鼠标指向页面上方导航栏中的产品,单击企业级分布式应用服务EDAS

图1:ASCM

阐明:因为ARMS监控利用数据,须要EDAS产品配合。本次测试先通过EDAS部署一个规范的Spring Boot利用,开明ARMS监控并失去监控数据。

图 2:EDAS控制台

图 3:ARMS控制台

3.测试工具查看。

本实际将会在专有云环境中创立win64虚拟机,而后在虚拟机中装置Postman进行测试。

图4:Postman测试

3. Open API应用

调用URL确认

OpenAPI接口均为REST服务,首先确认服务的URL。
每个专有云环境域名不同,会导致URL不同。请依据具体环境信息批改URL信息,前缀及端口不变。
[http://arms.console.example.com:8099/](http://arms.console.example.com:8099/)

名称接口
数据集API/dataset/GeneralQuery.json
要害利用性能指标/metric/Metric.json
报警信息
利用监控-利用拓扑/trace/Dependecies.json
事件集/eventset/EventList.json

调用示例-查看所有利用:

API阐明

URL:[http://arms.console.example.com:8099/trace/Services.json](http://arms.console.example.com:8099/trace/Services.json)

参数列表

字段名称字段类型字段含意是否必选备注
\_userIdString用户id用户名称(如arms\_admin)

返回格局示例

{    "code": 200,    "data": {        "details": [            {                               "pid": "string", //利用对应的pid                "regionId": "string",                                "serviceName": "string" //利用名称            }        ],        "services":[ //利用名称列表           "string",           "string"        ]    },    "success": true}

Postman调用后果

参数设置:\_userId= 121827433423****

图5:Postman调用后果

4. 利用形容

从ARMS中获得利用拓扑数据、曲线图、利用监控指标数据,将通过大屏DataV展现。

图6:DataV展现

5. 查问接口调用次数

通过/metric/Metric.json接口取得利用相干性能数据,查问接口调用次数。

API阐明

  • URL :[http://arms.console.example.com:8099/metric/Metric.json](http://arms.console.example.com:8099/metric/Metric.json)
  • 接口阐明:
字段名称字段类型字段含意是否必选备注
startTimeLong查问数据的起始工夫
endTimeLong查问数据的截止工夫
intervalInSecInteger工夫距离倡议填写
metricStringmetric字段具体填写参考参数填写示范
filtersList[String]过滤字段具体填写参考参数填写示范
measuresList[String]指标具体填写参考参数填写示范
dimensionsList[String]维度具体填写参考参数填写示范
orderByString排序字段
sortOrderString排序默认不排序(ASC或者DESC)
limitInteger返回条数
\_userIdString用户id用户名称(如arms\_admin)

调用示例

查问指定利用过往7天的接口调用次数

参数填写示范:

字段名称字段类型字段含意必选示例值值起源
startTimeLong查问数据的起始工夫1578199319898零碎工夫
endTimeLong查问数据的截止工夫1578804119898零碎工夫
intervalInSecInteger工夫距离默认3600秒,即1小时人工设置
metricStringmetric字段,查问的指标APPSTAT.DETAIL人工设置
filtersList[String]过滤字段,严格依照格局,否则调用出错[{key=pid,value=1218274334230390@db61f75c2f******},{key=regionId,value=cn-******-d01}]Pid、regionid来自于专有云环境
measuresList[String]指标[rt,count,error,errrate]API文档
dimensionsList[String]维度[pid,rpcType,rootIp]API文档
orderByString排序字段
sortOrderString排序默认不排序(ASC或者DESC)
limitInteger返回条数
\_userIdString用户id121827433423****

查问后果

参数设置:

图7:参数设置

后果阐明:

  • 返回后果为JSON数据集。
  • 数据集会标示查问状态,胜利返回200,如果失败会返回相应的错误码和谬误起因。典型谬误例如短少必要参数、身份认证谬误等(是因为filters参数没按格局要求写好)。
  • OpenAPI返回的后果集组织模式与查问数据的开始工夫、完结工夫、数据间隔时间无关。本次查问是查问了过往7天,数据间隔时间设置成了24小时,所以这个后果集里返回了7个”data”的汇合。
  • 每个data里包含在“measure”和”dimension”里指定的查问,以本后果集为例,就包含:Count:0.0
    PID:
    rpcDesc: HTTP入口
    rpcType:0(HTTP调用)
  • 调整查问的开始、完结、间隔时间,会影响data数据的条数,调整接口查问参数会影响每条data里的数据。
  • 如果须要计算一些聚合值,比方过往7天总的HTTP调用次数,须要自行把多条data数据进行计算相加后得出后果。

6. 查问异样数量

通过/metric/Metric.json 接口取得利用相干性能数据,查问异样数量。

API阐明

  • URL :[http://arms.console.example.com:8099/metric/Metric.json](http://arms.console.example.com:8099/metric/Metric.json)
  • 接口阐明:
字段名称字段类型字段含意是否必选备注
startTimeLong查问数据的起始工夫
endTimeLong查问数据的截止工夫
intervalInSecInteger工夫距离倡议填写
metricStringmetric字段具体填写参考下文
filtersList[String]过滤字段具体填写参考下文
measuresList[String]指标具体填写参考下文
dimensionsList[String]维度具体填写参考下文
orderByString排序字段
sortOrderString排序默认不排序(ASC或者DESC)
limitInteger返回条数
\_userIdString用户id用户名称(如arms\_admin)

调用示例

查问指定利用过往7天的接口调用次数。

参数填写示范:

字段名称字段类型字段含意必选示例值值起源
startTimeLong查问数据的起始工夫1577980826988零碎工夫
endTimeLong查问数据的截止工夫1578585626989零碎工夫
intervalInSecInteger工夫距离默认3600秒,即1小时人工设置
metricStringmetric字段,查问的指标APPSTAT.EXCEPTION人工设置
filtersList[String]过滤字段,严格依照格局,否则调用出错。[{key=pid,value=1218274334230390@db61f75c2f******},{key=regionId,value=cn-******-d01}]Pid、regionid来自于专有云环境
measuresList[String]指标[count]API 文档
dimensionsList[String]维度[pid,rpc,endpoint,exceptionInfo]API文档
orderByString排序字段
sortOrderString排序默认不排序(ASC或者DESC)
limitInteger返回条数
\_userIdString用户id1218274334230390

查问后果

参数设置:

图8:参数设置

查问后果:

图9:查问后果

后果阐明:

  • 返回后果为JSON数据集。
  • 数据集会标示查问状态,胜利返回200,如果失败会返回相应的错误码和谬误起因。典型谬误例如短少必要参数、身份认证谬误等(是因为filters参数没按格局要求写好)。
  • 本次查问未查到相干数据,所以exception数量为0。

7. 查问以后利用实例数量

通过/metric/Metric.json接口取得利用相干性能数据,查问以后利用实例数量。

API阐明

  • URL :[http://arms.console.example.com:8099/metric/Metric.json](http://arms.console.example.com:8099/metric/Metric.json)
  • 接口阐明:
字段名称字段类型字段含意是否必选备注
startTimeLong查问数据的起始工夫
endTimeLong查问数据的截止工夫
intervalInSecInteger工夫距离倡议填写
metricStringmetric字段具体填写参考下文
filtersList[String]过滤字段具体填写参考下文
measuresList[String]指标具体填写参考下文
dimensionsList[String]维度具体填写参考下文
orderByString排序字段
sortOrderString排序默认不排序(ASC或者DESC)
limitInteger返回条数
\_userIdString用户id用户名称(如arms\_admin)

调用示例

查问指定利用过往7天的接口调用次数。

参数填写示范:

字段名称字段类型字段含意必选示例值值起源
startTimeLong查问数据的起始工夫1577980826988零碎工夫
endTimeLong查问数据的截止工夫1578585626989零碎工夫
intervalInSecInteger工夫距离默认3600秒,即1小时人工设置
metricStringmetric字段,查问的指标APPSTAT.DETAIL人工设置
filtersList[String]过滤字段,严格依照格局,否则调用出错。[{key=pid,value=1218274334230390@db61f75c2f28609},{key=regionId,value=******}]Pid、regionid来自于专有云环境
measuresList[String]指标[count]API 文档
dimensionsList[String]维度[pid,rootIp]API文档
orderByString排序字段
sortOrderString排序默认不排序(ASC或者DESC)
limitInteger返回条数
\_userIdString用户id12182743342******

查问后果

参数设置:

图10:参数设置

查问后果:

图11:查问后果

后果阐明:

  • 返回后果为JSON数据集。
  • 数据集会标示查问状态,胜利返回200,如果失败会返回相应的错误码和谬误起因。典型谬误例如短少必要参数、身份认证谬误等(是因为filters参数没按格局要求写好)。
  • Openapi返回的后果集组织模式与查问数据的开始工夫、完结工夫、数据间隔时间无关。本次查问是查问了过往7天,数据间隔时间设置成了24小时,所以这个后果集里返回了7个”data”的汇合。
  • 每个data里包含在measuredimension里指定的查问,以本后果集为例,就包含:Count:0.0
    RootIP
  • 本次查问需要是要看此利用一共部署了多少实例,所以对后果中不同IP进行计算,即能够算出共有多少实例数量。另外一个办法是设置intervalInSec的值,让它等查问区间,这样进去的data汇合的条数就是实例数量值,因为每个IP都会有条数据。

8. 查问以后利用拓扑图

通过/trace/Dependecies.json接口取得利用拓扑相干数据。

API阐明

  • URL :[http://arms.console.example.com:8099/trace/Dependecies.json](http://arms.console.example.com:8099/trace/Dependecies.json)
  • 接口阐明:
字段名称字段类型字段含意是否必选备注
startTimeLong查问数据的起始工夫
endTimeLong查问数据的截止工夫
\_userIdString用户id用户名称(如arms\_admin)
typeString查问类型查问全副关系应用ALL;单个利用的关系应用APP
pidString利用对应的pid当type=APP时必须填写

调用示例

查问指定利用过往7天的接口调用次数。

参数填写示范:

本测试1月12日进行,查问过来7天的数据。

字段名称字段类型字段含意必选示例值
startTimeLong查问数据的起始工夫1578199319898 (1月5日)
endTimeLong查问数据的截止工夫1578804119898 (1月12日)
\_userIdString用户id1218274334******
typeString查问类型APP
pidString利用对应的pid1218274334230390@db61f75c******

查问后果

参数设置:

图12:参数设置

查问后果:

{    "code": 200,    "data": {        "link": [{    "code": 200,    "data": {        "link": [            {                "callCount": 26997.0,                "child": "Demo-Service",                "childNodeId": 731107445,                "childPid": "1218274334230390@db61f75c2******",                "elapsed": 16.2328,                "errorCount": 16.0,                "parent": "USER",                "parentNodeId": 812148234,                "parentPid": "1218274334230390@db61f75c2******",                "protocol": "HTTP"            },            {                "callCount": 8.0,                "child": "pdsa_lhh_rocketmq",                "childNodeId": -1762019072,                "childPid": "pdsa_lhh_rocketmq",                "elapsed": 11190.5,                "errorCount": 8.0,                "parent": "Demo-Service",                "parentNodeId": 731107445,                "parentPid": "1218274334230390@db61f75c2******",                "protocol": "AliWareMQ"            }        ],        "nodes": [            {                "elapsed": 0.0,                "errorCount": 0.0,                "id": 812148234,                "name": "USER",                "pid": "1218274334230390@db61f75c2******",                "requestCount": 0.0,                "type": "USER"            },            {                "elapsed": 0.0,                "errorCount": 0.0,                "id": 731107445,                "name": "Demo-Service",                "pid": "1218274334230390@db61f75c2******",                "requestCount": 0.0,                "type": "MQ_PRODUCER"            },            {                "elapsed": 0.0,                "errorCount": 0.0,                "id": -1762019072,                "name": "pdsa_****_rocketmq",                "pid": "pdsa_****_rocketmq",                "requestCount": 0.0,                "type": "METAQ"           }       ]    },    "success": true}

理论拓扑图成果如下:

图13:拓扑图

后果阐明:

  • 返回后果为JSON数据集。
  • 数据集会标示查问状态,胜利返回200,如果失败会返回相应的错误码和谬误起因。典型谬误例如短少必要参数、身份认证谬误等(是因为filters参数没按格局要求写好)。
  • 查问后果是一个点线图的节点数据和连贯数据,须要使用者自行依照图表控件组装相应数据。

咱们是阿里云智能寰球技术服务-SRE团队,咱们致力成为一个以技术为根底、面向服务、保障业务零碎高可用的工程师团队;提供业余、体系化的SRE服务,帮忙广大客户更好地应用云、基于云构建更加稳固牢靠的业务零碎,晋升业务稳定性。咱们冀望可能分享更多帮忙企业客户上云、用好云,让客户云上业务运行更加稳固牢靠的技术,您可用钉钉扫描下方二维码,退出阿里云SRE技术学院钉钉圈子,和更多云上人交换对于云平台的那些事。

版权申明:本文内容由阿里云实名注册用户自发奉献,版权归原作者所有,阿里云开发者社区不领有其著作权,亦不承当相应法律责任。具体规定请查看《阿里云开发者社区用户服务协定》和《阿里云开发者社区知识产权爱护指引》。如果您发现本社区中有涉嫌剽窃的内容,填写侵权投诉表单进行举报,一经查实,本社区将立即删除涉嫌侵权内容。