Это мой первый пост о Stack OverFlow, и я надеюсь сделать это правильно.
Я новичок в Influxdb и Telegraf, но как часть проекта я хочу импортировать метрики, полученные из сетевое оборудование и экспортируются менеджером сети через файл .csv в infxdb.
Я получаю:
Структура файла 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», не будут присутствовать для другого.
Мне сложно понять где проблему можно предотвратить.
Если у кого-то из вас есть идея :)