2016-10-11 55 views
0

我有一個Amazon EC2實例正在運行,我正在嘗試設置StatsD + InfluxDB + Grafana。 InfluxDB和Grafana運行良好(Grafana可以看到來自InfluxDB的數據),但我無法從StatsD到InfluxDB獲取任何數據。InfluxDB沒有從StatsD獲取數據包

我有一個域註冊,它指向我的EC2實例與彈性IP。

我可以看到的是: - 我可以用InfluxDB數據庫(包括插入值),當我不使用StatsD 完美互動 - StatsD似乎越來越筆者隨機從Python中生成的數據(我可以在它的日誌中看到它)。它通過端口8125發送到StatsD。 - 通過端口8086從StatsD發送到InfluxDB的UTC數據包似乎沒有進入InfluxDB(或不發送....?) - 在我的AWS和TCP安全設置上打開端口8086 - 端口8125是在我的AWS的安全設置打開UDP

我想知道我的一些設置是否錯了,但我不知道還有什麼嘗試:

InfluxDB配置文件包含:

# hostname = "localhost" 
    hostname = MYDOMAIN.com 
    [[udp]] 
    enabled = true 
    bind-address = ":8086" 
    database = "MY_DATABASE" 
    retention-policy = "" 
    batch-size = 1000 # will flush if this many points get buffered 
    batch-pending = 10 # number of batches that may be pending in memory 
    batch-timeout = "1s" # will flush at least this often even if we haven't hit buffer limit 
    read-buffer = 0 # UDP Read buffer size, 0 means OS default. UDP listener will fail if set above OS max. 
    udp-payload-size = 65536 

我的StatsD配置文件包含(除其他外)以下行:

{ 
    influxdb: { 
/* 
    host: '127.0.0.1', // InfluxDB host (default 127.0.0.1) 
*/ 
    host: 'MYDOMAIN.com', // InfluxDB host (default 127.0.0.1) 
    port: 8086, // InfluxDB port (default 8086) 
    database: 'MY_DATABASE', // InfluxDB db instance (required) 
    username: 'MY_USERNAME', // InfluxDB db username (required) 
    password: 'MY_PASSWORD', // InfluxDB db password (required) 
    flush: { 
     enable: true // enable regular flush strategy (default true) 
    }, 
    proxy: { 
     enable: false, // enable the proxy strategy (default false) 
     suffix: 'raw', // metric name suffix (default 'raw') 
     flushInterval: 1000 
    } 
    }, 
    port: 8125, // statsD port 
    backends: ['./backends/console'], 
    debug: true, 
    legacyNamespace: false 
} 

據我瞭解,這個過程是: 的Python - >端口8125 - > StatsD - >端口8086 - > InfluxDB

是否有必要使用類似Telegraf或statsd-influxdb-backend連接StatsD和InfluxDB?

我真的很感謝任何幫助,因爲我一直試圖將它設置好幾個小時,而且我沒有看到什麼是錯的。

謝謝!

回答

1

我不確定的堆棧部分是您的StatsD服務器。這可能在將數據發佈到InfluxDB時出現問題。如果你使用Telegraf,它應該「只是工作」。 Telegraf可以充當StatsD服務器(以及許多其他事物),並通過UDP或常規HTTP協議將數據發送到InfluxDB。

+0

如果我理解你的話,你建議使用Telegraf與StatsD與InfluxDB溝通,對嗎? 據我所知新的模式將如下所示: Python - >端口8125 - > StatsD - > Telegraf - > InfluxDB – user2348684

+0

我認爲他建議使用[statsd插件](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/statsd),而不是statsd。 –