全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
业务实时监控服务 ARMS

SDK for Java

更新时间:2018-01-23 21:09:54

本文为 Java 示例。

引入 POM 依赖

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

开始一个 Java 程序

  1. public class LogstashForJavaDemo {
  2. public static void main(String[] args) throws LogException {
  3. DateFormat dateFormat = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  4. /**
  5. * endpoint: 数据写入存储所在区域
  6. * project,logstore: 构成基本数据存储目标
  7. * accessKeyId,accessKeySecret: 构成访问密钥
  8. *
  9. * 注意: 请用户根据实际情况填写
  10. */
  11. String endpoint = "cn-hangzhou.log.aliyuncs.com";
  12. String project = "proj-arms-7dd6ecb06d21e02aed9eeb56b79e9f";
  13. String logstore = "logstore-56f96ec5546fb6555ef97dd057acb4e9";
  14. String accessKeyId = "xxx";
  15. String accessKeySecret = "yyy";
  16. int logGroupSize = 10;// 建议100-2000,每个batch发送数据上限
  17. List<String> examples = new ArrayList<String>();
  18. examples.add("|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|类目=男装&区域=杭州&eventTeyp=1&性别=1&价格=2140|");
  19. examples.add("|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|类目=家居&区域=上海&eventTeyp=3&性别=0&价格=8305|");
  20. examples.add("|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|类目=食品&区域=深圳&eventTeyp=3&性别=1&价格=7121|");
  21. examples.add("|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|类目=男装&区域=上海&eventTeyp=3&性别=1&价格=2917|");
  22. examples.add("|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|类目=食品&区域=上海&eventTeyp=1&性别=1&价格=4285|");
  23. examples.add("|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|类目=男装&区域=杭州&eventTeyp=3&性别=1&价格=7864|");
  24. examples.add("|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|类目=女装&区域=杭州&eventTeyp=5&性别=0&价格=2983|");
  25. examples.add("|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|类目=食品&区域=深圳&eventTeyp=5&性别=1&价格=3201|");
  26. // 构建一个客户端实例
  27. Client client = new Client(endpoint, accessKeyId, accessKeySecret);
  28. // 连续发送10个数据包,每个数据包有10条日志
  29. long currentTime = System.currentTimeMillis();
  30. String formatedTime = dateFormat.format(new Date(currentTime));
  31. for (int i = 0; i < 10; i++) {
  32. Vector<LogItem> logGroup = new Vector<LogItem>();
  33. for (int j = 0; j < logGroupSize; j++) {
  34. LogItem logItem = new LogItem();
  35. logItem.PushBack("content", formatedTime + examples.get(j % examples.size()) + UUID.randomUUID());
  36. logGroup.add(logItem);
  37. }
  38. PutLogsRequest req = new PutLogsRequest(project, logstore, "", "", logGroup);
  39. client.PutLogs(req);
  40. }
  41. System.out.println("send data success");
  42. }
  43. }

重要参数说明

参数 说明
endpoint 数据写入区域(endpoint 列表
accessKeyId 写入数据时的秘钥 ID
accessKeySecret 写入数据时的秘钥密码
project 写入数据的 Project ID
logstore 写入数据的 Logstore ID

注意:

  • ARMS 颁发的 accessKeyId、accessKeySecret 非用户阿里云 AK/SK,需要从 ARMS 获取,详情请查看 SDK 数据源配置
  • Project ID 和 Logstore ID 标识一个唯一的数据源。
本文导读目录