全部产品
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
云监控

上报事件数据

更新时间:2018-01-21 17:07:49

事件监控功能为您提供上报事件的接口,方便您将业务产生的异常事件采集上报到云监控,通过对上报的事件配置报警规则来接收报警通知。

云监控为您提供 OpenAPI、Java SDK 和阿里云命令行工具(CLI) 三种方式上报数据。

使用限制

  • 单云账号QPS限制为20
  • 单次最多上报100个事件
  • 单次最多上报500KB数据

OpenAPI上报数据

服务地址

https://metrichub-cms-cn-hangzhou.aliyuncs.com

请求语法

  1. POST /event/custom/upload HTTP/1.1
  2. Authorization:<AuthorizationString>
  3. Content-Length:<Content Length>
  4. Content-MD5:<Content MD5>
  5. Content-Type:application/json
  6. Date:<GMT Date>
  7. Host: metrichub-cms-cn-hangzhou.aliyuncs.com
  8. x-cms-signature:hmac-sha1
  9. x-cms-api-version:1.0
  10. x-cms-ip:30.27.84.196
  11. User-Agent:cms-java-sdk-v-1.0
  12. [{"content":"EventContent","groupId":GroupId,"name":"EventName","time":"20171023T144439.948+0800"}]

请求参数

名称 类型 必选 描述
name 字符串 事件名称
groupId 数值 事件所属的应用分组Id
time 字符串 事件发生时间
content 字符串 事件详情

关于API的请求头,请参考请求头定义

关于API的签名算法,请参考签名算法

响应元素

HTTP 状态码返回 200。

示例

请求示例

  1. POST /event/custom/upload HTTP/1.1
  2. Host: metrichub-cms-cn-hangzhou.aliyuncs.com
  3. x-cms-api-version:1.0
  4. Authorization:YourAccKey:YourAccSecret
  5. Host:metrichub-cms-cn-hangzhou.aliyuncs.com"
  6. Date:Mon, 23 Oct 2017 06:51:11 GMT
  7. Content-Length:180
  8. x-cms-signature:hmac-sha1
  9. Content-MD5:E9EF574D1AEAAA370860FE37856995CD
  10. x-cms-ip:30.27.84.196
  11. User-Agent:cms-java-sdk-v-1.0
  12. Content-Type:application/json
  13. [{"content":"123,abc","groupId":100,"name":"Event_0","time":"20171023T144439.948+0800"}]

返回示例

  1. {
  2. "code":"200",
  3. "msg":""//正常上报时返回msg为空
  4. }

Java SDK上报数据

maven依赖

  1. <dependency>
  2. <groupId>com.aliyun.openservices</groupId>
  3. <artifactId>aliyun-cms</artifactId>
  4. <version>0.1.2</version>
  5. </dependency>

示例代码

  1. public void uploadEvent() throws CMSException, InterruptedException {
  2. //初始化客户端
  3. CMSClient cmsClient = new CMSClient(endpoint, accKey, secret);
  4. //构建2个事件上报
  5. CustomEventUploadRequest request = CustomEventUploadRequest.builder()
  6. .append(CustomEvent.builder()
  7. .setContent("abc,123")
  8. .setGroupId(101l)
  9. .setName("Event001").build())
  10. .append(CustomEvent.builder()
  11. .setContent("abc,123")
  12. .setGroupId(101l)
  13. .setName("Event002").build())
  14. .build();
  15. CustomEventUploadResponse response = cmsClient.putCustomEvent(request);
  16. List<CustomEvent> eventList = new ArrayList<CustomEvent>();
  17. eventList.add(CustomEvent.builder()
  18. .setContent("abcd,1234")
  19. .setGroupId(101l)
  20. .setName("Event001").build());
  21. eventList.add(CustomEvent.builder()
  22. .setContent("abcd,1234")
  23. .setGroupId(101l)
  24. .setName("Event002").build());
  25. request = CustomEventUploadRequest.builder()
  26. .setEventList(eventList).build();
  27. response = cmsClient.putCustomEvent(request);
  28. }

阿里云命令行(CLI)方式上报数据

第一步: 安装阿里云CLI,安装文档

第二步:安装CmsSDK

Windows安装方式:在命令行窗口输入如下命令

  1. cd C:\Python27\Scripts
  2. pip install aliyun-python-sdk-cms

如果需要更新SDK,则使用如下命令:

  1. pip install --upgrade aliyun-python-sdk-cms

Linux 安装方式:

  1. sudo pip install aliyun-python-sdk-cms

如果需要升级SDK,则使用如下命令:

  1. sudo pip install upgrade aliyun-python-sdk-cms

第三步:上报监控数据

使用PutEvent接口。

Windows上报示例:

  1. aliyuncli.exe cms PutEvent --EventInfo "[{'content':'helloworld','time':'20171013T170923.456+0800','name':'ErrorEvent','groupId':'27147'}]"

Linux 上报示例:

  1. aliyuncli cms PutEvent --EventInfo "[{'content':'helloworld','time':'20171023T180923.456+0800','name':'ErrorEvent','groupId':'27147'}]"

上报成功后,返回200状态码

  1. {
  2. "Code":"200"
  3. }

错误编码

错误代码 含义
200 正常
400 客户端请求中的语法错误
403 校验失败、限速、没有授权
500 服务器内部错误

子账号授权说明

使用子账号的AK上报事件数据时,需要对相应子账号授权云监控管理权限。如果子账号未授权云监控管理权限,上报数据时会提示“cannot upload event, please use ram to auth”。

授权步骤如下:

  1. 登录访问控制RAM控制台。
  2. 进入用户管理 菜单。
  3. 选择需要上报数据的子账号,在操作中点击授权授权
  4. 在授权页面中选择管理云监控的权限,并点击确定保存授权。 授权
本文导读目录