2017-01-26 21 views
0

我們在同一臺機器上有一個與Collectd和InfluxDB的測試環境。 一切正常,直到我們添加一個Python Collectd插件。 當一個Python插件調度,我們得到以下錯誤日誌從InfluxDB值:InfluxDB:Collectd解析錯誤:無效數據服務= collectd

Jan 26 10:00:24 influxdb influxd: [I] 2017-01-26T09:00:24Z Collectd parse error: invalid data service=collect 

我們的設置: Collectd 5.6 InfluxDB 1.2。

Collectd的Python插件配置:

<LoadPlugin python> 
    Globals true 
</LoadPlugin> 

<Plugin python> 
    ModulePath "/opt/python-collectd" 
    LogTraces true 
    Interactive false 
    Import "randomtest" 
</Plugin> 

Collectd網絡配置:

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配置:

[[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」出在Collectd蟒蛇配置一切似乎再正常工作。 我們也查看了tcpdumps,但是我們沒有注意到Python Collectd插件和其他Collectd插件之間的區別。

回答