如何在Golang中将LineProtocol数据推送到Influxdb中?

时间:2018-09-27 16:50:49

标签: go influxdb

我有来自Prometheus指标的JSON数据,并且已将其转换为行协议。

如何使用golang将转换后的数据推送到Influx数据库中?

2 个答案:

答案 0 :(得分:1)

您可以使用InfluxDB golang Client

我认为结构类似于

 inputMeas := "meas1,tag1=va1,tag2=va2 value=342"
 client.Write(inputMeas)
 // check for response status

上述客户端事实具有详细的README,以便更好地理解如何将信息写入InfluxDB。如果您有很多信息,也可以尝试使用批量上传。

答案 1 :(得分:0)

在其他任何地方都找不到答案。我正在使用influxdb 1.7.10,为此我使用HttpRequest发布数据

var ServerAddress = "http://localhost:8086/write?db=mydb&u=username&p=password"
func PostData(data string) {
    d := bytes.NewReader([]byte(data))
    req, err := http.NewRequest("POST", ServerAddress, d)
    if err != nil {
        print(err)
    }

    client := &http.Client{}
    resp, err := client.Do(req)

    defer resp.Body.Close()
    body, err := ioutil.ReadAll(resp.Body)
    if err != nil {
        print(err)
    }

    fmt.Print(string(body))
}