InfluxDB Relay & Telegraf


#1

Hello,

I’m trying to use Telegraf to send metrics to InfluxDB Relay which then sends my metrics to my InfluxDB instances. Problem is when I start InfluxDB Relay it says “Starting Relays…” and nothing happens. What’s more, when I point Telegraf at the endpoint, I get a 502 from my load balancer.

Am I misunderstanding how InfluxDB Relay is supposed to work or is the project simply not maintained any longer?


#2

According to the docs, InfluxDB 1.3 does not support clustering of any kind (besides enterprise, of course). The docs for InfluxDB Relay appears to be written for influxDB 0.12.

Is it safe to assume InfluxDB Relay simply does not work with the latest version of InfluxDB?


#3

Answering my own question here - I had it misconfigured. InfluxDB-Relay does indeed work with the latest version of InfluxDB and Telegraf.


#4

@egeeirl
Hello, I also config Telegraf send metrics to Influx Relay.
But Telegraf can’t writing output to Influx Relay.

2018-11-08T08:37:30Z E! [outputs.influxdb] when writing to [http://107.113.53.10:7076/write]: 400 Bad Request: missing required parameter "q"
2018-11-08T08:37:30Z E! Error writing to output [influxdb]: could not write any address

This is my config:

[[outputs.influxdb]]
  ## The full HTTP or UDP URL for your InfluxDB instance.
  ##
  ## Multiple URLs can be specified for a single cluster, only ONE of the
  ## urls will be written to each interval.
  # urls = ["unix:///var/run/influxdb.sock"]
  # urls = ["udp://127.0.0.1:8089"]
  urls = ["http://107.113.53.10:7076/write"]

  ## The target database for metrics; will be created as needed.
  database = "telegraf"

  ## If true, no CREATE DATABASE queries will be sent.  Set to true when using
  ## Telegraf with a user without permissions to create databases or when the
  ## database already exists.
  # skip_database_creation = false

  ## Name of existing retention policy to write to.  Empty string writes to
  ## the default retention policy.  Only takes effect when using HTTP.
  # retention_policy = ""

  ## Write consistency (clusters only), can be: "any", "one", "quorum", "all".
  ## Only takes effect when using HTTP.
  # write_consistency = "any"

  ## Timeout for HTTP messages.
  # timeout = "5s"

  ## HTTP Basic Auth
  username = "telegraf"
  password = "telegraf"

  ## HTTP User-Agent
  # user_agent = "telegraf"

  ## UDP payload size is the maximum packet size to send.
  # udp_payload = 512

  ## Optional TLS Config for use on HTTP connections.
  # tls_ca = "/etc/telegraf/ca.pem"
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"
  ## Use TLS but skip chain & host verification
  # insecure_skip_verify = false

  ## HTTP Proxy override, if unset values the standard proxy environment
  ## variables are consulted to determine which proxy, if any, should be used.
  # http_proxy = "http://corporate.proxy:3128"

  ## Additional HTTP headers
  # http_headers = {"X-Special-Header" = "Special-Value"}

  ## HTTP Content-Encoding for write request body, can be set to "gzip" to
  ## compress body or "identity" to apply no encoding.
  # content_encoding = "identity"

  ## When true, Telegraf will output unsigned integers as unsigned values,
  ## i.e.: "42u".  You will need a version of InfluxDB supporting unsigned
  ## integer values.  Enabling this option will result in field type errors if
  ## existing data has been written.
  # influx_uint_support = false

Please help me to fix it.
Thanks.