Graphite 1) is a metrics server software.
It does two things:
The inherent scheme of organization in graphite is tree-like and hence the searches do-not/ can-not yield results from a different subtree. This makes it not-so-suitable for cross-dimensional searches.
It has a fixed-size database, similar in design and purpose to RRD. It originated at Orbitz in 2006 and was open sourced in 2008.
docker run -d --name=graphite -p 80:80 -p 2003:2003 -p 2004:2004 -p 7002:7002 nickstenning/graphite
where:
Then:
Graphite understands messages with this format:
metric_path value timestamp\n
where:
echo ${METRIC_NAME} ${METRIC_NUMBER} ${TIMESTAMP} | nc ${CARBON_HOST} ${CARBON_PORT}
# Example
echo "foo.bar 1 `date +%s`" | nc localhost 2003
where:
This metric would be stored in a Whisper database (wsp) at <prefix>/storage/whisper/foo/bar.wsp (Graphite prefix default to /opt/graphite).
Carbon can be started with the carbon-cache.py script:
GRAPHITE_HOME/bin/carbon-cache.py start
This starts the main Carbon daemon in the background.
Logs are located in GRAPHITE_HOME/storage/log/carbon-cache/ for any errors.