Problems with collectd / Graphite
Hi,
I compiled dpx from the "test" branch and installed on a test VM running Debian 9.
I'm trying to get data from collectd into Dalmatiner using the Graphite protocol.
All components are installed on the same VM (pgsql, ddb, dfe, dpx, collectd).
Unfortunately, this does not seem to be working properly, every time collectd sends data, the following error message is displayed:
2018-04-11 18:57:52.867 [error] emulator Error in process <0.1172.0> on node 'dalmatinerpx@127.0.0.1' with exit value:
{{badmatch,{error,closed,{ddb_connection,undefined,"127.0.0.1",5555,normal,undefined,false,none,1,false}}},[{dp_tcp_listener,init,4,[{file,"/data/build/dalmatinerpx/_build/deb/lib/ddb_proxy/src/dp_tcp_listener.erl"},{line,15}]}]}
2018-04-11 18:57:52.867 [error] <0.1172.0> Ranch listener dp_graphite_Graphite_2003_tcp terminated with reason: no match of right hand value {error,closed,{ddb_connection,undefined,"127.0.0.1",5555,normal,undefined,false,none,1,false}} in dp_tcp_listener:init/4 line 15
Relevant sections of my configuration files.
/data/dalmatinerpx/etc/dpx.conf
## The bucket where incomming data will be stored by the listener.
## This property is prefixed by the name of the line protocol used, which can
## be one of 'dp_influx', 'dp_graphite', 'dp_otsdb', 'dp_bsdsyslog',
## 'dp_metrics2' or 'dp_prom_writer' e.g.
##
## Default: InfluxDB
##
## Acceptable values:
## - text
#listeners.dp_influx.bucket = InfluxDB
listeners.dp_graphite.bucket = Graphite
#listeners.dp_otsdb.bucket = OpenTSDB
## The port used for listening.
## This property is prefixed by the name of the line protocol used, which can
## be one of 'dp_influx', 'dp_graphite', 'dp_otsdb', 'dp_bsdsyslog',
## 'dp_metrics2' or 'dp_prom_writer' e.g.
## listeners.dp_influx.port = 8086
##
## Default: 8086
##
## Acceptable values:
## - an integer
#listeners.dp_influx.port = 8086
listeners.dp_graphite.port = 2003
#listeners.dp_otsdb.port = 4242
## The transport used for listening, which may either be 'http', 'tcp' or
## 'udp'.
## This property is prefixed by the name of the line protocol used, which can
## be one of 'dp_influx', 'dp_graphite', 'dp_otsdb', 'dp_bsdsyslog',
## 'dp_metrics2' or 'dp_prom_writer'
## listeners.dp_influx.protocol = http
##
## Default: http
##
## Acceptable values:
## - text
#listeners.dp_influx.protocol = http
listeners.dp_graphite.protocol = tcp
#listeners.dp_otsdb.protocol = tcp
/etc/collectd.conf
LoadPlugin write_graphite
<Plugin write_graphite>
<Node "example">
Host "localhost"
Port "2003"
Protocol "tcp"
# ReconnectInterval 0
LogSendErrors true
# Prefix "collectd"
# Postfix "collectd"
StoreRates true
# AlwaysAppendDS false
# EscapeCharacter "_"
# SeparateInstances false
# PreserveSeparator false
# DropDuplicateFields false
</Node>
</Plugin>