Over a million developers have joined DZone.

Collectd-Graphite Plugin—Like Peanut Butter and Chocolate

DZone's Guide to

Collectd-Graphite Plugin—Like Peanut Butter and Chocolate

· DevOps Zone ·
Free Resource

Learn how integrating security into DevOps to deliver "DevSecOps" requires changing mindsets, processes and technology.

Collectd is a powerful tool for gathering metrics using its wide range of plugins, such as cpu, disk, load, memory, etc.  But there is a lack of good frontend tools for visualizing the data collectd produces.

Graphite is an amazingly powerful tool from Orbitz for visualizing metrics, but there is a lack of tools for gathering host-level stats and sending into graphite.

It would be great if we could leverage the strengths of both tools.

So, I wrote a plugin for collectd that will send data into a graphite instance – collectd-graphite. This plugin runs inside the collectd process using the collectd-perl interface. This makes it different than Jordan Sissel’s collectd-to-graphite tool which runs in a separate process using node.js. The plugin-based approach reduces the number of moving parts we need to worry about (ie: less stuff to monitor, fail, restart, etc.) Jordan’s tool is good, btw, but I wanted something different.

Grab the plugin on github:  https://github.com/joemiller/collectd-graphite

In my setup, I have collectd running on all hosts with the cpu, disk, memory, and network-client plugins loaded.  The network-client is configured to send data to a central collectd server which also runs my graphite processes.  The collectd-graphite plugin is loaded on this machine only and relays all data received by collectd to graphite.

Alternatively, you could load the collectd-graphite plugin on every machine in your environment and send data directly to graphite.  This may not scale well, however, and you would not get any of the security that can be applied with collectd’s network protocol.

Source: http://joemiller.me/2011/04/14/collectd-graphite-plugin/

Learn how enterprises are using tools to automate security in their DevOps toolchain with these DevSecOps Reference Architectures.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}