DISCONTINUATION OF PROJECT
This project will no longer be maintained by Intel. Intel will not provide or guarantee development of or support for this project, including but not limited to, maintenance, bug fixes, new releases or updates. Patches to this project are no longer accepted by Intel. If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the community, please create your own fork of the project.
Snap publisher plugin - InfluxDB
This plugin supports pushing metrics into an InfluxDB instance.
It's used in the Snap framework.
- golang 1.6+ (needed only for building)
- 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.
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:
Clone repo into
$ git clone https://github.com/<yourGithubID>/snap-plugin-publisher-influxdb.git
Build the plugin by running make within the cloned repo:
This builds the plugin in
Configuration and Usage
- Set up the Snap framework
The plugin expects you to provide the following parameters:
You can also set the following options if needed:
false(boolean). Set to true to complain if the certificate used is not issued by a trusted CA.
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.
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.
8086which works with
https. The port is
4444for udp in the example.
autogen, it indicates retention policy for database with specified duration which determines how long InfluxDB keeps the data, for more information read Retention Policy Management.
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.
select * from "/intel/psutil/load/load1"
select * from "/intel/psutil/load"
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.
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.
And thank you! Your contribution, through code and participation, is incredibly important to us.