1.环境:
本机windows 虚拟机centos7 influxdb容器运行 本机时间7月10日
golang写入influxdb代码如下:
tags := map[string]string{"device": "cpu"}
percent, _ := cpu.Percent(time.Second, false)
fields := map[string]interface{}{
"occupancy": percent[0],
}
pt, err := cli.NewPoint("hd_monitor", tags, fields, time.Now())
if err != nil {
fmt.Println("Error", err.Error())
}
bp, err := cli.NewBatchPoints(cli.BatchPointsConfig{
Precision: "s",
Database: "monitor",
})
if err != nil {
fmt.Println("Error: ", err.Error())
}
bp.AddPoint(pt)
err = client.Write(bp)
if err != nil {
fmt.Println("Error: ", err.Error())
}
2.表现:
直接操作influxdb正常,也能通过client读取数据; 但是通过代码插入的数据,查询不到;
3.排查:
- client连接正常,读取数据正常,且无报错;
- 从grafana拉取数据发现时间轴在7月6日;猜想可能跟时区有关,由于本机插入时time.Now()大于虚机当时时间,select查询时显示不出来。
4.问题解决:
date -R 查看时区 +0800 东八区 时区正确
应该是系统本身时间不对,需要同步
yum install ntpdate
ntpdate cn.pool.ntp.org
再次查询influxdb,之前插入的数据都显示了出来