时序数据库TSDB

    写入操作

    写入单域数据点

    基本流程

    1. 创建TsdbDataClient。
    2. 执行writeDatapoints()方法,您需要提供写入的数据的具体信息。

    用户可以参考如下代码写入单域数据点:

    注意:当写入的metric、field、tags、timestamp都相同时,后写入的value会覆盖先写入的value。

    // 构建想要写入的datapoints
    var datapoints = [
    	{
            "metric": "cpu_idle",
            "field": "test",
            "tags": {
                "host": "server1",
                "rack": "rack1"
            },
            "timestamp": Math.round(new Date().getTime() / 1000),   // 用于生成时间戳
            "value": 51
        }
    ];
    // 获取并返回结果
    client.writeDatapoints(datapoints)
        .then(response => console.log(response))         // 获取成功
        .catch(error => console.error(error));           // 获取失败,并返回错误类型

    这时,可在对应数据库,点击查询面板,在选项Metrics下出现一个新的metric。

    对于同一个field,如果写入了某个数据类型的value之后,相同的field不允许写入其他数据类型。

    写入多域数据点

    基本流程同写入单域数据点。

    不同的域并不需要同时写入,可以认为不同的域都是独立的。但如果查询时要用一条语句查出来,需要保证metric、所有的tag、时间戳都是一致的。

    可以参考以下代码写入多域数据点:

    // 构建想要写入的datapoints
    var datapoints = [
    	{
            "metric": "cpu_idle3",
            "field" : "field2",
            "tags": {
                "host": "server1",
                "rack": "rack1"
        	  },
            "timestamp": Math.round(new Date().getTime() / 1000),
            "value": 51
        },
        {
            "metric": "cpu_idle3",
            "field": "field1",
            "tags": {
                "host": "server1",
                "rack": "rack1"
        	 },
            "values": [
                [Math.round(new Date().getTime() / 1000), 60]   // 用于生成时间戳
            ]
        }
    ];
    // 获取并返回结果
    client.writeDatapoints(datapoints)
        .then(response => console.log(response))         // 写入成功
        .catch(error => console.error(error));           // 写入失败,并返回错误类型
    上一篇
    创建TsdbClient
    下一篇
    查询操作