InfluxDB: ошибка синтаксического анализа: неверный сервис данных =collectd
У нас есть тестовая среда с Collectd и InfluxDB на одной машине. Все работает нормально, пока мы не добавим плагин Python Collectd. Когда плагин Python отправляет значения, мы получаем следующий журнал ошибок от InfluxDB:
Jan 26 10:00:24 influxdb influxd: [I] 2017-01-26T09:00:24Z Collectd parse error: invalid data service=collect
Наша установка: собрал 5.6 InfluxDB 1.2.
Собранный конфиг плагина Python:
<LoadPlugin python>
Globals true
</LoadPlugin>
<Plugin python>
ModulePath "/opt/python-collectd"
LogTraces true
Interactive false
Import "randomtest"
</Plugin>
Собранный сетевой конфиг:
LoadPlugin network
<Plugin network>
Server "localhost" "25826"
</Plugin>
Источник "Randomtest"
import collectd
import random
def configer(confObj):
collectd.info('config called')
def init_fun():
collectd.info('init called')
def reader(input_data=None):
value = collectd.Values()
value.plugin = 'test_plugin'
value.host = 'test-host'
value.interval = 10
value.type = 'absolute'
value.type_instance = 'test'
value.values = [random.randint(0,10)]
value.dispatch()
collectd.register_config(configer)
collectd.register_init(init_fun)
collectd.register_read(reader)
InfluxDB collectd config:
[[collectd]]
enabled = true
bind-address = ":25826"
database = "collectd"
retention-policy = ""
typesdb = "/usr/share/collectd/types.db"
# These next lines control how batching works. You should have this enabled
# otherwise you could get dropped metrics or poor performance. Batching
# will buffer points in memory if you have many coming in.
# Flush if this many points get buffered
batch-size = 5000
# Number of batches that may be pending in memory
batch-pending = 10
# Flush at least this often even if we haven't hit buffer limit
batch-timeout = "10s"
# UDP Read buffer size, 0 means OS default. UDP listener will fail if set above OS max.
read-buffer = 0
Просто чтобы уточнить: Если я прокомментирую Импортировать "randomtest" в конфигурации Python Collectd, все снова будет работать нормально. Мы также рассмотрели tcpdumps, но не заметили разницы между плагинами Python Collectd и другими плагинами Collectd.
1 ответ
У меня похожая проблема, и я открыл проблему на GitHub, но с плагинами curl_xml и snmp.
https://github.com/influxdata/influxdb/issues/8184
Понижение версии InfluxDB до версии 1.1.1, по-видимому, восстанавливает функциональность.