// influxdb package main import ( "fmt" "time" influxdb "github.com/influxdata/influxdb/client/v2" ) func writeStats(start time.Time, stop time.Duration) { if opts.Debug { fmt.Printf("writing to influxdb server: %s", opts.Influxdb) } c, err := influxdb.NewHTTPClient(influxdb.HTTPConfig{ Addr: opts.Influxdb, Timeout: 2 * time.Second, }) if err != nil { fmt.Printf("Error: %+v\n", err) return } defer c.Close() bp, err := influxdb.NewBatchPoints(influxdb.BatchPointsConfig{ Database: "dovecot", Precision: "s", }) if err != nil { fmt.Printf("Error: %+v\n", err) return } tags := map[string]string{"server": opts.Hostname} fields := map[string]interface{}{ "LoginOK": countOK, "LoginTOT": countTOT, "stop": stop.Seconds(), } pt, err := influxdb.NewPoint("llday", tags, fields, start) if err != nil { fmt.Printf("Error: %+v\n", err) return } bp.AddPoint(pt) // Write the batch c.Write(bp) }