Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Field type conflict when write monitoring data to InfluxDB #776

Open
MasterS77 opened this issue Aug 13, 2019 · 3 comments
Open

Field type conflict when write monitoring data to InfluxDB #776

MasterS77 opened this issue Aug 13, 2019 · 3 comments

Comments

@MasterS77
Copy link

Field type conflict when write monitoring data to InfluxDB. Error can be reproduced on different metrics (cpu, memory).

Example of error with trace:

<class 'influxdb.exceptions.InfluxDBClientError'>: 400: {"error":"partial write: field type conflict: input field \"Memory_buff\" on measurement \"monitoring\" is type float, already exists as type integer dropped=1"}

  File "/usr/local/lib/python2.7/dist-packages/yandextank/core/consoleworker.py", line 386, in run
    self.retcode = self.core.wait_for_finish()

  File "/usr/local/lib/python2.7/dist-packages/yandextank/core/tankcore.py", line 289, in wait_for_finish
    retcode = plugin.is_test_finished()

  File "/usr/local/lib/python2.7/dist-packages/yandextank/plugins/Telegraf/plugin.py", line 226, in is_test_finished
    data_len = self.monitoring.poll()

  File "/usr/local/lib/python2.7/dist-packages/yandextank/plugins/Telegraf/collector.py", line 120, in poll
    self.send_collected_data()

  File "/usr/local/lib/python2.7/dist-packages/yandextank/plugins/Telegraf/collector.py", line 144, in send_collected_data
    listener.monitoring_data(copy.deepcopy(data))

  File "/usr/local/lib/python2.7/dist-packages/yandextank/plugins/InfluxUploader/plugin.py", line 82, in monitoring_data
    for chunk in chop(data_list, self.get_option("chunk_size"))

  File "/usr/local/lib/python2.7/dist-packages/yandextank/plugins/InfluxUploader/plugin.py", line 88, in _send_monitoring
    's'

  File "/usr/local/lib/python2.7/dist-packages/influxdb/client.py", line 490, in write_points
    tags=tags, protocol=protocol)

  File "/usr/local/lib/python2.7/dist-packages/influxdb/client.py", line 551, in _write_points
    protocol=protocol

  File "/usr/local/lib/python2.7/dist-packages/influxdb/client.py", line 327, in write
    headers=headers

  File "/usr/local/lib/python2.7/dist-packages/influxdb/client.py", line 286, in request
    raise InfluxDBClientError(response.content, response.status_code)

YandexTank/1.12.3
Telegraf 1.11.4
InfluxDB shell version: 1.7.7

@lebovski
Copy link

The same problem

@Alpherie
Copy link

Same problem. Has anyone found any workarounds?

@Ezhvtumane
Copy link

Same problem. Has anyone found any workarounds?

The same... I just put telegraf to host where I wanna take a metrics. Start/finish telegraf manualy and write logs to file [[outputs.file]]. After the test is over, I download logs to my laptop and write to influxdb manualy. I think that it can be automate, just add some scripts. This workaround is boring but it's working.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants