Giter Site home page Giter Site logo

patrykmatyjasek / snap-plugin-publisher-influxdb Goto Github PK

View Code? Open in Web Editor NEW

This project forked from intelsdi-x/snap-plugin-publisher-influxdb

0.0 2.0 0.0 409 KB

Publishes Snap metrics to InfluxDB

Home Page: http://snap-telemetry.io/

License: Apache License 2.0

Makefile 1.86% Go 41.56% Shell 41.77% Ruby 14.81%

snap-plugin-publisher-influxdb's Introduction

Build Status

Snap publisher plugin - InfluxDB

This plugin supports pushing metrics into an InfluxDB instance.

It's used in the Snap framework.

  1. Getting Started
  1. Documentation
  1. Community Support
  2. Contributing
  3. License
  4. Acknowledgements

Getting Started

System Requirements

Support Matrix

Influxdb Influxdb Publisher Snap
1.0 16 1.0.0
1.1 16 1.0.0
1.1.1 16 1.0.0

Known Limitation

  • InfluxDB (tested with InfluxDB 1.0) does not support uint64 as type of data. Metrics with uint64 type are converted to int64 by Snap publisher plugin. uint64 values higher than maximum int64 value are converted to negative value and saved in InfluxDB. Overflow cases are logged.

Installation

Download InfluxDB plugin binary:

You can get the pre-built binaries for your OS and architecture at plugin's GitHub Releases page.

To build the plugin binary:

Fork https://github.com/intelsdi-x/snap-plugin-publisher-influxdb

Clone repo into $GOPATH/src/github.com/intelsdi-x/:

$ git clone https://github.com/<yourGithubID>/snap-plugin-publisher-influxdb.git

Build the plugin by running make within the cloned repo:

$ make

This builds the plugin in ./build

Configuration and Usage

Documentation

The plugin expects you to provide the following parameters:

  • host
  • database
  • user
  • password

You can also set the following options if needed:

  • skip-verify defaults to false (boolean). Set to true to complain if the certificate used is not issued by a trusted CA.
  • precision defaults to s (string). The value can be changed to any of the following: n,u,ms,s,m,h. This will determine the precision of timestamps.
  • isMultiFields defaults to false (boolean). When it's true, plugin groups common namespaces, those that differ at the leaf and have same tags including values, into one data point with multiple influx fields.
  • port defaults to 8086 which works with http and https. The port is 4444 for udp in the example.
  • scheme defaults to http.
    • http
    • https
    • udp

Examples

See examples/tasks folder for examples.

Here are samples to illustrate the differences for isMultiFields flag. When isMultiFields is false which is the default setting, you have to query each measurement. While isMultiFields is true, plugin groups the common namespaces, those that differ at the leaf and have same tags including values, into one data point with multiple influx fields; you query the common namespace.

Sample isMultiField=false

select * from "/intel/psutil/load/load1"
time source unit value
1483997727411599704 egu-mac01.lan Load/1M 1.76
1483997728412178616 egu-mac01.lan Load/1M 1.76

Sample isMultiField=true

select * from "/intel/psutil/load"
time load1 load15 load5 source unit
1483996289995839909 2.05 egu-mac01.lan Load/1M
1483996289995839909 6.21 egu-mac01.lan Load/1M
1483996289995839909 5.26 egu-mac01.lan Load/1M

Roadmap

There isn't a current roadmap for this plugin, but it is in active development. As we launch this plugin, we do not have any outstanding requirements for the next release.

If you have a feature request, please add it as an issue and/or submit a pull request.

Community Support

This repository is one of many plugins in Snap, a powerful telemetry framework. See the full project at http://github.com/intelsdi-x/snap To reach out to other users, head to the main framework

Contributing

We love contributions!

There's more than one way to give back, from examples to blogs to code updates. See our recommended process in CONTRIBUTING.md.

License

Snap, along with this plugin, is an Open Source software released under the Apache 2.0 License.

Acknowledgements

And thank you! Your contribution, through code and participation, is incredibly important to us.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.