【问题标题】:How to Migrate from MariaDB to InfluxDB Datetime to Time如何从 MariaDB 迁移到 InfluxDB 日期时间到时间
【发布时间】:2017-12-02 01:45:31
【问题描述】:

最近几天我正在尝试将一些数据从 MariaDB 导出为 InfluxDB 格式。

我使用以下语法从 MariaDB 导出数据:

    select CONCAT("insert cpu_load,host=" ,HostName ," value=", 
CPUUsedPercentage," ",UNIX_TIMESTAMP(CPUTime))
 from monitor.CPUStats;

输出是:

insert cpu_load,host=host1 value=2.85 1696683600

CPUtime 数据类型是日期时间,格式如下:

2/11/2017 3:56:18 PM


The output insert statement gets inserted in **InfluxDB** but the queries in **Grafana** or **Telegraf** are not retrieving nothing because of the time formats.

查询可能是:

    SELECT mean("value") AS "mean_value" FROM "monitor"."autogen"."cpu_load"
 WHERE time > now() - 1h AND "host"='prodvert03' GROUP BY time(10s) FILL(null)

错误信息是:

Your query is syntactically correct but returned no results

所以我相信是时间列格式。 UNIX_TIMESTAMP(CPUTime) 不能解决问题。

任何想法或帮助将不胜感激。

谢谢

【问题讨论】:

    标签: mysql timestamp mariadb influxdb grafana


    【解决方案1】:
    SELECT AVG(`value`) AS "mean_value"
        FROM `monitor`.`autogen`.`cpu_load`
        WHERE `time` > NOW() - INTERVAL 1 HOUR
          AND `host` = 'prodvert03'
        GROUP BY FLOOR(UNIX_TIMESTAMP(`time`) / 10);
    

    会越来越近。我不知道FILL(null) 是什么意思。

    很多无端的语法差异。

    【讨论】:

    • Thx - 但不是 sql - 是时间格式!我想弄清楚
    【解决方案2】:

    看起来像你的 influxdb 插入语句

    插入 cpu_load,host=host1 值=2.85 1696683600

    自纪元以来使用以秒为单位的时间戳,而 influxdb 默认使用纳秒时间精度,afaik。所以,我怀疑你插入的数据没有存储在你所期望的时间戳的 influxdb 中。

    您可能需要在 influx CLI 工具中使用精度设置: precision <format> specifies the format of the timestamp: rfc3339, h, m, s, ms, u or ns 详情请查看 InfluxDB 文档。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-25
      • 2021-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-21
      • 2015-01-28
      • 1970-01-01
      相关资源
      最近更新 更多