Influxdb: проблема с импортом CSV, отсутствующие значения - PullRequest
0 голосов
/ 07 мая 2020

Это мой первый пост о Stack OverFlow, и я надеюсь сделать это правильно.

Я новичок в Influxdb и Telegraf, но как часть проекта я хочу импортировать метрики, полученные из сетевое оборудование и экспортируются менеджером сети через файл .csv в infxdb.

Я получаю:

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

Структура файла csv следующая: TimeStamp, NetworkElement_Name, Typeofmeasurement, [зависит от измерения, но в следующем примере это будет память каждой карты.]

Вот пример:

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, я создал файл ".conf" для каждого импортированного CSV, как показано ниже:

[[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"

И данные кажутся импортированными ... но я понимаете, что некоторые значения отсутствуют ...

Мне сложно понять / объяснить проблему. Но я не могу получить все значения, записанные в указанное c время. запрос на возврат:

> 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», не будут присутствовать для другого.

Мне сложно понять где проблему можно предотвратить.

Если у кого-то из вас есть идея :)

...