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
Latest commit b191127 Feb 17, 2017 @shortdudey123 shortdudey123 committed on GitHub Merge pull request #607 from BanjoInc/new_sidekiq_collector
Add redis sidekiq queue collector
Permalink
Failed to load latest commit information.
bin Merge pull request #242 from cjdaniel/master Nov 26, 2015
conf removing -p argument so we dont override pidfile conf option Feb 16, 2017
debian Merge pull request #429 from stantona/load-defaults-before-daemon-check Feb 16, 2017
docs Add redis sidekiq queue collector Feb 18, 2017
gentoo use SIGKILL instead of default signal May 30, 2013
rpm removing -p argument so we dont override pidfile conf option Feb 16, 2017
src Merge pull request #607 from BanjoInc/new_sidekiq_collector Feb 18, 2017
.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 Only build master branch for travis Feb 18, 2017
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 Update Vagrant boxes to bento Feb 16, 2017
build_doc.py Refactor build_doc.py Jan 20, 2017
mkdocs.yml Try fixing mkdocs another time Feb 12, 2016
setup.cfg Add support for uploading wheels Jul 18, 2015
setup.py Merge pull request #360 from jumping/patch-2 Feb 16, 2017
test.py Fix documentation example generation Dec 12, 2015
test.watchr Fix test.watchr Jan 3, 2012
tox.ini Tests : review tox configuration - deps Apr 24, 2016
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