+ InfluxDB Support #347

Merged
merged 1 commit into from May 2, 2016

Projects

None yet

2 participants

@pimeys
pimeys commented Apr 27, 2016 edited

Adds support for sending metrics to an InfluxDB database using either HTTP or UDP.

Configuration

  influxdb {
    # Hostname and port in which your InfluxDB is running
    hostname = "127.0.0.1"
    port = 8086

    # The maximum packet size for one POST request, set to 0 to disable batching
    max-packet-size = 16384

    # The database where to write in InfluxDB. Works only for HTTP protocol, if using UDP, change the database in your
    # InfluxDB configuration
    database = "mydb"

    # The protocol, either http or udp
    protocol = "http"

    # The measurements will be named ${application-name}-timers and -counters
    application-name = "kamon"

    # For histograms, which percentiles to count
    percentiles = [50.0, 70.0, 90.0, 95.0, 99.0, 99.9]

    # Subscription patterns used to select which metrics will be pushed to InfluxDB. Note that first, metrics
    # collection for your desired entities must be activated under the kamon.metrics.filters settings.
    subscriptions {
      histogram       = [ "**" ]
      min-max-counter = [ "**" ]
      gauge           = [ "**" ]
      counter         = [ "**" ]
      trace           = [ "**" ]
      trace-segment   = [ "**" ]
      akka-actor      = [ "**" ]
      akka-dispatcher = [ "**" ]
      akka-router     = [ "**" ]
      system-metric   = [ "**" ]
      http-server     = [ "**" ]
    }
  }

For counters, the measurement name is "${application-name}-counters, setting the category, entity, metric and hostname tags. The measurement value is stored to the value field.

For histograms, the measurement name is "${application-name}-timers, setting the category, entity, metric and hostname tags. The measurement values are stored to the lower, mean, upper and percentile fields depending on the configuration. The default percentiles are p50, p70, p90, p99 and p99.9.

@pimeys pimeys referenced this pull request Apr 27, 2016
Closed

Influx Integration Module #79

@pimeys pimeys changed the title from WIP: InfluxDB Support to InfluxDB Support Apr 29, 2016
@pimeys
pimeys commented Apr 29, 2016

Ok. This is ready for code review and then merging to master.

@dpsoft dpsoft commented on the diff Apr 29, 2016
...scala/kamon/influxdb/BatchInfluxDBMetricsPacker.scala
@@ -0,0 +1,33 @@
+package kamon.influxdb
@dpsoft
dpsoft Apr 29, 2016 edited Contributor

@pimeys please include the Kamon copyright header in the source files.

@dpsoft
Contributor
dpsoft commented Apr 29, 2016

@pimeys the PR looks very good, please review the comments and and meanwhile just need to ask you please squash your commits and amend the message to something like + add InfluxDB module and will merge right away, just to match our commit message conventions and please sign our CLA and we are good to go. I would like to merge it BUT there is one missing piece, not in this repository but in our documentation website! yes, I know, it is a bit boring to write docs but it is a necessary thing... so if you could create a simple one page doc explaining what this module does, how it reports data and possibly some screenshots of what kind of visualization or results you can get out of it would be super helpful even for us, to start experimenting with this :D.. take a look at the Datadog, StatsD and New Relic pages on our website to get an idea of what we would like to see there.

BTW: @ivantopo WDYT

@pimeys
pimeys commented Apr 30, 2016

Signed the CLA. Here's the documentation kamon-io/kamon.io#20

@pimeys pimeys changed the title from InfluxDB Support to + InfluxDB Support Apr 30, 2016
Julius de Bruijn + add InfluxDB module 00e8f48
@dpsoft dpsoft merged commit 91647c2 into kamon-io:master May 2, 2016
@dpsoft
Contributor
dpsoft commented May 2, 2016

@pimeys awesome!!! Done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment