Skip to content

Instantly share code, notes, and snippets.

@GregMefford
Forked from collegeman/setup-statsd.sh
Last active April 10, 2022 15:31
Show Gist options
  • Save GregMefford/889297 to your computer and use it in GitHub Desktop.
Save GregMefford/889297 to your computer and use it in GitHub Desktop.
Install Graphite and StatsD on CentOS (updated for 6.4 x86_64)
# First do a fresh install of CentOS 5.7 i386, server configuration (no GUI)
# This should be performed as root since it's going to be installing a bunch of stuff
# --- Update things to make sure we have the latest patches ---
# Add EPEL so we can get reasonably recent packages
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
# --- Install all the packages --- #
yum -y install python-whisper python-carbon graphite-web python-memcached python-ldap httpd memcached
# ===== BEGIN MANUAL STEP =====
# run syncdb to setup the db and prime the authentication model (if you're using the DB model)
python /usr/lib/python2.6/site-packages/graphite/manage.py syncdb
# ===== END MANUAL STEP =====
# --- Allow HTTP through firewall --- #
iptables -I INPUT 5 -m state --state NEW -p tcp --dport 80 -j ACCEPT
iptables-save > /etc/sysconfig/iptables
service carbon-cache restart
service memcached restart
service httpd restart
# === Below needs to be re-validated for 6.4 === #
# --- Install git ---
yum install -y gcc zlib-devel curl curl-devel openssl
wget http://kernel.org/pub/software/scm/git/git-1.7.4.2.tar.bz2
tar xjf git-1.7.4.2.tar.bz2
pushd git-1.7.4.2
./configure && make && make install
popd
rm -rf git*
# --- Install NodeJS ---
yum install -y gcc-c++
git clone https://github.com/joyent/node.git
pushd node
./configure && make && make install
popd
rm -rf node
# --- Install the Node Package Manager ---
curl http://npmjs.org/install.sh | sh
npm install express
# --- Install StatsD ---
git clone https://github.com/etsy/statsd.git
cd statsd
# copy the the statsd config example to create the config file
# unless you used non-default ports for some other feature of the system, the defaults in the config file are fine
cp exampleConfig.js local.js
# --- Start StatsD ---
node stats.js local.js
@atrepca
Copy link

atrepca commented Jun 26, 2013

StatsD is also packaged and available in the EPEL repos:

# yum info python-bucky
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.gigenet.com
 * epel: mirror.steadfast.net
 * extras: mirrors.vpsnoc.com
 * updates: centos.mbni.med.umich.edu
Available Packages
Name        : python-bucky
Arch        : noarch
Version     : 0.2.4
Release     : 1.el6
Size        : 54 k
Repo        : epel
Summary     : CollectD and StatsD adapter for Graphite
URL         : http://pypi.python.org/pypi/bucky
License     : ASL 2.0
Description : Bucky is a small server for collecting and translating metrics for
            : Graphite. It can current collect metric data from CollectD daemons
            : and from StatsD clients.

@kevin1024
Copy link

@atrepca I don't think python-bucky == StatsD unless I'm missing something.

@jmelloy
Copy link

jmelloy commented Aug 9, 2013

Bucky is meant to be a drop-in replacement for statsd.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment