Kairosdb принимает только запрос на получение от приложения узла - PullRequest
0 голосов
/ 23 января 2019

У меня есть виртуальная машина с kairosDB на ноутбуке A, у виртуальной машины есть два IP-адреса: 192.168.119.132: для доступа к ней с ноутбука A. 192.168.1.151: для доступа с ноутбука B.

С обоих ноутбуков яможно без проблем получить доступ к веб-приложению с : 8080.

  • Портативный компьютер A: Если я выполняю запрос POST / GET, показанный в коде, все работает отлично.(с использованием IP 192.168.119.132)

  • Портативный компьютер B: работает только запрос GET!код возврата после запроса 200, но при добавлении POST точка не добавляется в базу данных.

Любая помощь, чтобы заставить работать запрос POST, пожалуйста?

const fetch = require("node-fetch");
let query = {
  "metrics": [{
    "tags": {},
    "name": "matric1",
    "group_by": [{
      "name": "tag",
      "tags": [
        "car_type",
        "host",
        "mode_type"
      ]
    }]
  }],
  "plugins": [],
  "cache_time": 0,
  "start_relative": {
    "value": "20",
    "unit": "seconds"
  }
};
let dataPoint = [{
  "name": "matric1",
  "type": "long",
  "value": 88,
  "timestamp": Math.floor(Date.now()),
  "tags": {
    "car_type": "TEST",
    "host": "TEST",
    "mode_type": "TEST"
  }
}];

function fetchData(query) {
  fetch('http://192.168.1.151:8080/api/v1/datapoints/query?query=' + JSON.stringify(query), {
      method: 'GET'
    })
    .then(res => res.json()) // expecting a json response
    .then(json => console.log(json));
}

function addDataPoint(dataPoint) {
  fetch('http://192.168.1.151:8080/api/v1/datapoints', {
      method: 'POST',
      body: JSON.stringify(dataPoint),
      headers: {
        'Content-Type': 'application/json'
      }
    })
    .then(res => console.log("successfully added !"))
}

addDataPoint(dataPoint);

fetchData(query);

1 Ответ

0 голосов
/ 01 апреля 2019

Вы проверяли, что ваши ноутбуки синхронизированы? Вы нажимаете с текущей датой / временем и запрашиваете последние 20 секунд.

Запросы относительной даты решаются на сервере.

Так что может случиться так, что если у вас есть разница между двумя машинами более 20 секунд, ваша точка не находится в промежутке времени запроса.

...