Diamond is a python daemon that collects system metrics and publishes them to Graphite (and others). It is capable of collecting cpu, memory, network, i/o, load and disk metrics. Additionally, it features an API for implementing custom collectors for gathering metrics from almost any source.
Python Roff HTML Other
Clone or download
josegonzalez Merge pull request #703 from hugovk/rm-2.6
Drop support for EOL Python 2.6
Latest commit 0f3eb04 Mar 15, 2018
Permalink
Failed to load latest commit information.
bin Python 3-style exception catching Mar 15, 2018
conf Allow aborting when the handlers process exit Apr 3, 2017
debian Merge pull request #429 from stantona/load-defaults-before-daemon-check Feb 16, 2017
docs Drop support for EOL Python 2.6 Mar 15, 2018
gentoo use SIGKILL instead of default signal May 30, 2013
rpm Merge pull request #570 from hamelg/patch-03 Feb 22, 2017
src Python 3-style print Mar 15, 2018
.gitignore Fix riemann handler with tests Apr 27, 2016
.keep Fixes #112, this adds a .keep file to /var/log/diamond to ensure the … Jul 6, 2012
.pep8 pep8 should ignore .tox Nov 5, 2012
.travis.requirements.txt Merge pull request #452 from redref/test_fixes Feb 18, 2017
.travis.yml Remove restriction to test feature branches Mar 15, 2018
CHANGELOG Remove the ability to enable collectors via code. We must move to onl… Dec 21, 2014
LICENSE Add in a mysql performance_schema collecter written by seveas Oct 4, 2012
MANIFEST.in remove README.md from MANIFEST.in Apr 29, 2016
Makefile Enforce running tests immediately after generating docs Jan 21, 2017
README.md Try fixing mkdocs another time Feb 12, 2016
Vagrantfile Drop support for EOL Python 2.6 Mar 15, 2018
build_doc.py Python 3-style print Mar 15, 2018
mkdocs.yml Try fixing mkdocs another time Feb 12, 2016
setup.cfg Add support for uploading wheels Jul 18, 2015
setup.py Add python_requires to help pip Mar 15, 2018
test.py Python 3-style print Mar 15, 2018
test.watchr Fix test.watchr Jan 3, 2012
tox.ini Remove unsupported Python 2.4 and 2.5 Oct 14, 2017
version.sh Re #289, fix the version identifier to support valid naming rules Jun 25, 2014

README.md

Diamond

Join the chat at https://gitter.im/python-diamond/Diamond Build Status

Diamond is a python daemon that collects system metrics and publishes them to Graphite (and others). It is capable of collecting cpu, memory, network, i/o, load and disk metrics. Additionally, it features an API for implementing custom collectors for gathering metrics from almost any source.

Getting Started

Steps to getting started:

  • Read the documentation
  • Install via pip install diamond. The releases on GitHub are not recommended for use. Use pypi-install diamond on Debian/Ubuntu systems with python-stdeb installed to build packages.
  • Copy the diamond.conf.example file to diamond.conf.
  • Optional: Run diamond-setup to help set collectors in diamond.conf.
  • Modify diamond.conf for your needs.
  • Run diamond with one of: diamond or initctl start diamond or /etc/init.d/diamond restart.

Success Stories

  • Diamond has successfully been deployed to a cluster of 1000 machines pushing 3 million points per minute.
  • Diamond is deployed on Fabric's infrastructure, polling hundreds of metric sources and pushing millions of points per minute.
  • Have a story? Please share!

Repos

Historically Diamond was a brightcove project and hosted at BrightcoveOS. However none of the active developers are brightcove employees and so the development has moved to python-diamond. We request that any new pull requests and issues be cut against python-diamond. We will keep BrightcoveOS updated and still honor issues/tickets cut on that repo.

Diamond Related Projects

Contact