Influxdb:CSV导入问题,缺少值

时间:2020-05-07 08:42:07

标签: csv influxdb telegraf

这是我关于Stack OverFlow的第一篇文章,我希望做得正确。

我是influxdb和telegraf的新手,但是作为项目的一部分,我想导入指标,这些指标来自网络设备,并由网络管理员通过.csv文件导出到influxdb。

我得到:

  • @IP:
    • 2020-05-YY:
      • CSV1
      • CSV2
    • 2020-05-ZZ
      • ...

csv文件的结构如下: 时间戳记,网络元素名称,测量类型,[取决于测量,但是在下面的示例中,它将是每张卡的内存。]

这里是一个例子:

TimeStamp,NetworkElement_Name,Typeofmeasurement,Object,memAbsoluteUsage
2020-05-05T20:00:00+02:00,router1,CPU/Memory Usage,card1,1075
2020-05-05T20:00:00+02:00,router1,CPU/Memory Usage,card2,832

此文件在相同的时间戳下存在两次,但具有不同的“ NetworkElement_Name”,“ Object”和值。

就Telegraf而言,我为每个导入的CSV创建了一个“ .conf”文件,如下所示:

[[inputs.file]]
  files = ["/metric/data/data/clean_data/**/**/router_cpuMemUsage.csv"]
  data_format = "csv"
  csv_header_row_count = 1
  csv_skip_rows = 0
  csv_skip_columns = 0
  csv_delimiter = ","
  csv_column_types = ["string","string","string","string","int"]
  csv_measurement_column = "Typeofmeasurement"
  csv_timestamp_column = "TimeStamp"
  csv_timestamp_format = "2006-01-02T15:04:05-07:00"

[[outputs.influxdb]]
  database = "router Metrics"

数据似乎已导入...但是,我意识到缺少一些值...

我很难理解/解释问题。 但是我无法获取在特定时间记录的所有值。 退货要求:

> SELECT * FROM "CPU/Memory Usage" WHERE "NE Name" =~ /router1/ ORDER BY DESC LIMIT 5
name: CPU/Memory Usage
time                 NE Name    Object ID    Object Type      Time Stamp                     memUsage 
----                 -------    ---------    -----------      ----------                    ---------- 
2020-05-07T06:45:00Z router1    card1    CPU/Memory Usage   2020-05-07T08:45:00+02:00           1075             
2020-05-07T06:30:00Z router1    card1    CPU/Memory Usage   2020-05-07T08:30:00+02:00           1075             
2020-05-07T06:15:00Z router1    card1    CPU/Memory Usage   2020-05-07T08:15:00+02:00           1075             
2020-05-07T06:00:00Z router1    card1    CPU/Memory Usage   2020-05-07T08:00:00+02:00           1075             
2020-05-07T05:45:00Z router1    card1    CPU/Memory Usage   2020-05-07T07:45:00+02:00           1075             

我只有卡1的信息,而没有卡2的信息,如果我删除“ WHERE”子句,对于同一“ TIMESTAMP”,我将不具备所有信息,所以我会错过以下信息路由器2.

在给定的“ TIMESTAMP”上,一台路由器的值将不存在。

我无法理解可以解决该问题的地方。

如果您有一个主意:)

0 个答案:

没有答案