Skip to main content

An influxdb (0.8-rc5 or higher) backend for Graphite-web (source or 0.10.x) or graphite-api.

Install and configure using docker

Using docker is an easy way to get graphite-api + graphite-influx up and running. See https://github.com/Dieterbe/graphite-api-influxdb-docker

Otherwise, follow instructions below. Graphite-api is the simplest to setup, though graphite-web might perform better. You can use the experimental statsd support in graphite-api to have this backend submit performance metrics (not supported with graphite-web)

Manual installation

pip install graphite_influxdb

About the retention schemas

In the configs below, you’ll see that you need to configure the schemas (datapoint resolutions) explicitly. It basically contains the same information as /etc/carbon/storage-schemas.conf would for whisper. But Influxdb currently has no way to supply us this information (yet), so we must configure it explicitly here. Also, it seems like internally, the graphite-web/graphite-api is to configure the step (resolution in seconds) per metric (i.e. per Node/Reader), without looking at the timeframe. I don’t know how to deal with this yet (TODO), so for now it’s one step per pattern, so we don’t need to specify retention timeframes. (In fact, in the code we can assume the data exists from now to -infinity, missing data you query for will just show up as nulls anyway)

Using with graphite-api

You need the patched version from https://github.com/brutasse/graphite-api/pull/36 This adds support for caching, statsd instrumentation, and graphite-style templates

In your graphite-api config file:

finders:
  - graphite_influxdb.InfluxdbFinder
influxdb:
   host: localhost
   port: 8086
   user: graphite
   pass: graphite
   db:   graphite
   schema:
     - ['', 60]
     - ['high-res-metrics', 10]

Also enable the cache. memcache doesn’t seem to work well because the list of series is too big. filesystem seems to work well:

cache:
    CACHE_TYPE: 'filesystem'
    CACHE_DIR: '/tmp/graphite-api-cache'

Using with graphite-web

In graphite’s local_settings.py:

STORAGE_FINDERS = (
    'graphite_influxdb.InfluxdbFinder',
)
INFLUXDB_HOST = "localhost"
INFLUXDB_PORT = 8086
INFLUXDB_USER = "graphite"
INFLUXDB_PASS = "graphite"
INFLUXDB_DB =  "graphite"
INFLUXDB_SCHEMA = [
    ('', 60),
    ('high-res-metrics', 10)
]

Release files for graphite-influxdb 0.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for graphite-influxdb 0.4
File Size Uploaded
graphite-influxdb-0.4.tar.gz 6.8 kB Details

Release files / graphite-influxdb-0.4.tar.gz

Download URL graphite-influxdb-0.4.tar.gz
Size 6.8 kB
Tags Source
SHA-256 checksum
How to use checksums
d8ee54b2645b8022d0bf1ce939502bc049827bd71220822c1230ecbd8ed07b32
BLAKE2b-256 checksum
How to use checksums
36d56de565e03d598c344fe0ca62c94f41b953be727eff4816c2a8f554aa049f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.4 This release

1 release file

0.3

1 release file

0.2

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page