Skip to content

timbuchwaldt/udpflux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#UdpFlux Build Status

This is an opinionated InfluxDB client, built to only work with InfluxDB 0.9 and it's UDP line protocol.

It's meant to instantly ship available events off to InfluxDB, taking the risk of loosing events due to UDP usage. It also let's InfluxDB decide upon the timestamp, as I can't be bothered to make sure the clocks are all fine ;)

Usage

  1. Instantiate the InfluxSender GenServer: {:ok, pid} = UDPFlux.Sender.start_link(%{ip: "127.0.0.1", port: 4444})
  2. Create events: point = %UDPFlux.DataPoint{name: "foo", tags: [key: "value"], fields: [value: 0.069]}
  3. Ship events: UDPFlux.Sender.write_point(pid, point)
  4. Done. The point is now racing to the InfluxDB specified. Make sure to configure it correctly, the values below work for me
[udp]
  enabled = true
  bind-address = "0.0.0.0:4444"
  database = "foo"
  batch-size = 100
  batch-timeout = "10ms"

Those values basically mean: Accept UDP on any IP and port 4444, write points to the DB "foo", wait up to 10ms or a batch of up to 100 data points. Whichever comes first triggers a write.

About

An opinionated InfluxDB UDP only client

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages