use measurements instead of fields for values

This commit is contained in:
overflowerror 2021-11-14 14:25:12 +01:00
parent c8dc8a1338
commit 9e36adc44f
3 changed files with 10 additions and 12 deletions

View file

@ -8,7 +8,6 @@
"username": "iot-relay",
"password": "",
"db": "grafana",
"measurement": "iot",
"host": "iot-relay"
}
}

View file

@ -11,9 +11,8 @@ import (
"time"
)
func lineProtocolPrefix(request types.Request, config config.Config) string {
func lineProtocolTags(request types.Request, config config.Config) string {
var builder strings.Builder
builder.WriteString(config.Client.Measurement)
builder.WriteString(",host=")
builder.WriteString(config.Client.Host)
builder.WriteString(",ip=")
@ -29,7 +28,7 @@ func lineProtocolPrefix(request types.Request, config config.Config) string {
func GetHandler(config config.Config) types.Callback {
return func(request types.Request) error {
prefix := lineProtocolPrefix(request, config)
tags := lineProtocolTags(request, config)
timeString := strconv.FormatInt(time.Now().UnixNano(), 10)
url := config.Client.Address + "/write?db=" + config.Client.DB
@ -40,10 +39,11 @@ func GetHandler(config config.Config) types.Callback {
for key, value := range request.Data {
builder.Reset()
builder.WriteString(prefix)
builder.WriteString(key)
builder.WriteString("=")
builder.WriteString(tags)
builder.WriteString("value=")
builder.WriteString(value)
builder.WriteString(" ")

View file

@ -12,12 +12,11 @@ type Config struct {
Timeout int `json:"timeout"` // in seconds
} `json:"server"`
Client struct {
Address string `json:"address"`
Username string `json:"username"`
Password string `json:"password"`
DB string `json:"db"`
Measurement string `json:"measurement"`
Host string `json:"host"`
Address string `json:"address"`
Username string `json:"username"`
Password string `json:"password"`
DB string `json:"db"`
Host string `json:"host"`
} `json:"client"`
}