閱讀832 返回首頁    go 阿裏雲 go 技術社區[雲棲]


API 數據源__準備數據源_用戶指南_業務實時監控服務 ARMS-阿裏雲

用戶可以通過API SDK直接推送數據到 ARMS,從而實現 ARMS 日誌流入。

創建 SDKPush 數據源

  • 入口

sdkpush-ds-entry

  • 授權

ARMS會為用戶創建一個AK/SK,用戶可以通過這對AK/SK向ARMS中推送數據,請妥善保管。

sdkpush-ds-auth

  • 獲取ak/sk

sdkpush-ds-create-aksk


  • 創建SDKPush數據源

sdkpush-ds-create


  • 數據源使用

sdkpush-ds-use

在程序中向 SDKPush 數據源推送數據
  • 引入 POM 依賴

    1. <dependency>
    2. <groupId>com.aliyun.openservices</groupId>
    3. <artifactId>aliyun-log</artifactId>
    4. <version>0.6.6</version>
    5. </dependency>
  • SDK 推送數據示例

    1. int logGroupSize = 1000;//建議100-2000,每個batch發送數據上限
    2. String accessKeyId = "XXX"; //填寫ARMS中獲取AK
    3. String accessKeySecret = "XXX"; //填寫ARMS中獲取SK
    4. String endpoint = "XXX";//如cn-qingdao.log.aliyuncs.com
    5. String project = "XXX"; //例如proj-arms-e4de52c26fca9d24aac2c99392427f2
    6. String logstore = "XXX";//例如logstore-5071ab07abf2f5af138ba151fcbad2;
    7. DateFormat dateFormat = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    8. List<String> examples = new ArrayList<String>();
    9. examples.add("|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|類目=男裝&區域=杭州&eventTeyp=1&性別=1&價格=2140|");
    10. examples.add("|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|類目=家居&區域=上海&eventTeyp=3&性別=0&價格=8305|");
    11. examples.add("|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|類目=食品&區域=深圳&eventTeyp=3&性別=1&價格=7121|");
    12. examples.add("|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|類目=男裝&區域=上海&eventTeyp=3&性別=1&價格=2917|");
    13. examples.add("|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|類目=食品&區域=上海&eventTeyp=1&性別=1&價格=4285|");
    14. examples.add("|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|類目=男裝&區域=杭州&eventTeyp=3&性別=1&價格=7864|");
    15. examples.add("|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|類目=女裝&區域=杭州&eventTeyp=5&性別=0&價格=2983|");
    16. examples.add("|c0a895e114526786450161001d1ed9|9|EADS|BIZ-MONITOR|0|類目=食品&區域=深圳&eventTeyp=5&性別=1&價格=3201|");
    17. // 構建一個客戶端實例
    18. Client client = new Client(endpoint, accessKeyId, accessKeySecret);
    19. // 連續發送10個數據包,每個數據包有10條日誌
    20. long count = 0;
    21. long total = 0;
    22. long beg_time = System.currentTimeMillis();
    23. for (;;) {
    24. long currentTime = System.currentTimeMillis();
    25. String formatedTime = dateFormat.format(new Date(currentTime));
    26. Vector<LogItem> logGroup = new Vector<LogItem>();
    27. for (int i = 0; i < logGroupSize; i++) {
    28. LogItem logItem = new LogItem((int) (new Date().getTime() / 1000));
    29. logItem.PushBack("content", formatedTime + examples.get(i%examples.size()) + UUID.randomUUID());
    30. l ogGroup.add(logItem);
    31. }
    32. count = count + logGroupSize;
    33. long dis = (currentTime - beg_time)/1000;
    34. if( dis >= 30){
    35. total = total + count;
    36. beg_time = currentTime;
    37. count = 0;
    38. }
    39. PutLogsRequest req2 = new PutLogsRequest(project, logstore,"","", logGroup);
    40. client.PutLogs(req2);
  • 重要參數說明
參數 說明
accessKeyId 寫入數據時的秘鑰id
accessKeySecret 吸入數據時的秘鑰密碼
project 寫入數據的project id
logstore 寫入數據的logstore id

注意:project id和logstore id唯一確定一個數據源

最後更新:2016-12-09 14:10:08

  上一篇:go LogHub數據源__準備數據源_用戶指南_業務實時監控服務 ARMS-阿裏雲
  下一篇:go 監控任務概述__創建監控任務_用戶指南_業務實時監控服務 ARMS-阿裏雲