数据源配置-Node SDK

第一次使用,请参考支付宝开放平台配置设置公钥

本文介绍将node js接入云监控自定义监控的基础使用方法、通用配置、API 方法和进阶场景。

安装

引入 npm 包并初始化。

  • 安装alipay sdk,如果已经存在则跳过安装。
npm install alipay-sdk
  • 新建一个cloudMonitor.js文件,复制下面的代码到文件中。
"use strict";
const AlipaySdk = require('alipay-sdk').default;
var fs = require('fs');

const alipaySdk = new AlipaySdk({
  gateway: "https://openasyncapipre.alipay.com/gateway.do",
  appId: '2018012302036618',
  // 读取私钥文件或者直接把私钥贴在这里
  privateKey: fs.readFileSync('./private-key.pem', 'ascii'),
  signType: "RSA2",
});

var noop = function () { }, getCwarn = function () {
  var t = "object" == typeof console ? console.warn : noop;
  try {
    var e = {
      warn: t
    };
    e.warn.call(e);
  } catch (n) {
    return noop;
  }
  return t;
}, util = {
  noop: noop,
  warn: getCwarn(),
}, cloudMonitor = {
  /**
   * 
   * @param {string} namespace 对应自定义监控的监控项名称 
   * @param {string|object} log 需要上报的数据
   */
  report: function (namespace, log) {
    if (Array.prototype.toString.call(log) !== '[object String]') {
      log = JSON.stringify(log);
    }
    alipaySdk.exec('alipay.commerce.data.logdata.sync', {
      bizContent: {
        namespace: namespace,
        log: log
      }
    }).then(result => {
      if (result.code != "10000") {
        util.warn('code:' + result.code + ', msg:' + result.msg)
      }
    }).catch(function (err) {
      util.warn('Failed to send data to openapi', err);
    })
  }
}

module.exports = cloudMonitor;

参数配置:

appId APPID即创建应用后生成 获取见创建应用
privateKey 开发者私钥,由开发者自己生成,非java私钥 获取详见配置应用环境
signType 商户生成签名字符串所使用的签名算法类型,目前支持RSA2和RSA,推荐使用RSA2 RSA2生成工具

使用

在需要上报日志的文件中引入cloudMonitor,示例:

// 引入cloudMonitor client
var cloudMonitor = require("./cloudMonitor")

// report方法有2个参数
// namespace是自定义监控监控项的名称, log是需要上报的数据,可以是一个string,也可以是一个对象
cloudMonitor.report("namespace", "test")
cloudMonitor.report("test", {a:'a',b:'b'})
onlineServer