Skip to content

Instantly share code, notes, and snippets.

@stefanoric
Forked from GregMefford/setup-statsd-centos.sh
Created July 25, 2013 14:24

Revisions

  1. @GregMefford GregMefford revised this gist May 22, 2013. 2 changed files with 13 additions and 88 deletions.
    38 changes: 0 additions & 38 deletions graphite.conf
    Original file line number Diff line number Diff line change
    @@ -1,38 +0,0 @@
    NameVirtualHost *:80

    # You may need to manually edit this file to fit your needs.
    # This configuration assumes the default installation prefix
    # of /opt/graphite/, if you installed graphite somewhere else
    # you will need to change all the occurances of /opt/graphite/
    # in this file to your chosen install location.

    <VirtualHost *:80>
    # ServerName graphite
    DocumentRoot "/opt/graphite/webapp"
    ErrorLog /opt/graphite/storage/log/webapp/error.log
    CustomLog /opt/graphite/storage/log/webapp/access.log common

    <Location "/">
    SetHandler python-program
    PythonPath "['/opt/graphite/webapp'] + ['/usr/local/lib/python2.6/dist-packages/'] + sys.path"
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE graphite.settings
    PythonDebug Off
    PythonAutoReload Off
    </Location>

    <Location "/content/">
    SetHandler None
    </Location>

    <Location "/media/">
    SetHandler None
    </Location>

    # NOTE: In order for the django admin site media to work you
    # must change @DJANGO_ROOT@ to be the path to your django
    # installation, which is probably something like:
    # /usr/lib/python2.6/site-packages/django
    Alias /media/ "/usr/lib/python2.4/site-packages/django/contrib/admin/media/"

    </VirtualHost>
    63 changes: 13 additions & 50 deletions setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -3,64 +3,27 @@

    # --- Update things to make sure we have the latest patches ---
    # Add EPEL so we can get reasonably recent packages
    rpm -Uvh "http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm"
    yum update # This takes quite a while for a fresh install
    rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

    # --- Install Whisper - Graphite's DB system ---
    wget "http://launchpad.net/graphite/0.9/0.9.7/+download/whisper-0.9.7-1.noarch.rpm"
    rpm -Uvh whisper-0.9.7-1.noarch.rpm
    rm -rf whisper*.rpm

    # -- Install Carbon - the Graphite back-end ---
    wget "http://launchpad.net/graphite/0.9/0.9.7/+download/carbon-0.9.7-1.noarch.rpm"
    rpm -Uvh carbon-0.9.7-1.noarch.rpm
    cp /opt/graphite/conf/carbon.conf.example /opt/graphite/conf/carbon.conf
    cp /opt/graphite/conf/storage-schemas.conf.example /opt/graphite/conf/storage-schemas.conf
    rm -rf carbon*.rpm

    # --- Install Graphite dependencies ---
    yum install -y pycairo mod_python Django python-ldap python-memcached python-sqlite2 \
    bitmap bitmap-fonts python-devel python-crypto pyOpenSSL zope gcc

    # --- Install Twisted ---
    wget http://pypi.python.org/packages/source/T/Twisted/Twisted-11.0.0.tar.bz2
    tar jxf Twisted-11.0.0.tar.bz2
    pushd Twisted-11.0.0
    python setup.py install
    popd
    rm -rf Twisted-11.0.0*

    # --- Install Graphite ---
    wget "http://launchpad.net/graphite/0.9/0.9.7/+download/graphite-web-0.9.7c-1.noarch.rpm"
    rpm -Uvh graphite-web-0.9.7c-1.noarch.rpm
    rm -rf graphite-web*.rpm
    # --- Install all the packages --- #
    yum -y install python-whisper python-carbon graphite-web python-memcached python-ldap httpd memcached

    # ===== BEGIN MANUAL STEP =====
    # Populate /etc/httpd/conf.d/graphite.conf with the included file
    # Edit /etc/sysconfig/selinux to set the SELINUX line to:
    # SELINUX=permissive
    system-config-securitylevel
    # Go to firewall settings and put 8125:udp in the "other" box
    # 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 =====

    # --- Configure Graphite ---
    # get SELinux out of the way
    setenforce 0
    # --- 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
    # change ownership of the storage folder to the Apache user/group
    chown -R apache:apache /opt/graphite/storage/
    # copy the local_settings example file to creating the app's settings
    # this is where both carbon federation and authentication is configured
    cp /opt/graphite/webapp/graphite/local_settings.py.example \
    /opt/graphite/webapp/graphite/local_settings.py

    # ===== BEGIN MANUAL STEP =====
    # run syncdb to setup the db and prime the authentication model (if you're using the DB model)
    python /opt/graphite/webapp/graphite/manage.py syncdb
    # ===== END MANUAL STEP =====

    # start the carbon cache
    PYTHONPATH=/usr/local/lib/python2.6/dist-packages/ /opt/graphite/bin/carbon-cache.py start
    # === Below needs to be re-validated for 6.4 === #


    # --- Install git ---
    yum install -y gcc zlib-devel curl curl-devel openssl
  2. @GregMefford GregMefford revised this gist Nov 2, 2011. 1 changed file with 20 additions and 20 deletions.
    40 changes: 20 additions & 20 deletions setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -1,46 +1,37 @@
    # First do a fresh install of CentOS 5.4 x86_64, server configuration (no GUI)
    # This script should be run as root since it's going to be installing a bunch of stuff
    # 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.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm"
    rpm -Uvh "http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm"
    yum update # This takes quite a while for a fresh install

    # --- 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 Whisper - Graphite's DB system ---
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/whisper-0.9.7-1.noarch.rpm"
    wget "http://launchpad.net/graphite/0.9/0.9.7/+download/whisper-0.9.7-1.noarch.rpm"
    rpm -Uvh whisper-0.9.7-1.noarch.rpm
    rm -rf whisper*.rpm

    # -- Install Carbon - the Graphite back-end ---
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/carbon-0.9.7-1.noarch.rpm"
    wget "http://launchpad.net/graphite/0.9/0.9.7/+download/carbon-0.9.7-1.noarch.rpm"
    rpm -Uvh carbon-0.9.7-1.noarch.rpm
    cp /opt/graphite/conf/carbon.conf.example /opt/graphite/conf/carbon.conf
    cp /opt/graphite/conf/storage-schemas.conf.example /opt/graphite/conf/storage-schemas.conf
    rm -rf carbon*.rpm

    # --- Install Graphite dependencies ---
    yum install -y pycairo mod_python Django python-ldap python-memcached python-sqlite2 \
    bitmap bitmap-fonts python-devel python-crypto pyOpenSSL zope
    bitmap bitmap-fonts python-devel python-crypto pyOpenSSL zope gcc

    # --- Install Twisted ---
    wget http://pypi.python.org/packages/source/T/Twisted/Twisted-10.2.0.tar.bz2
    tar jxf Twisted-10.2.0.tar.bz2
    pushd Twisted-10.2.0
    wget http://pypi.python.org/packages/source/T/Twisted/Twisted-11.0.0.tar.bz2
    tar jxf Twisted-11.0.0.tar.bz2
    pushd Twisted-11.0.0
    python setup.py install
    popd
    rm -rf Twisted-10.2.0*
    rm -rf Twisted-11.0.0*

    # --- Install Graphite ---
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/graphite-web-0.9.7c-1.noarch.rpm"
    wget "http://launchpad.net/graphite/0.9/0.9.7/+download/graphite-web-0.9.7c-1.noarch.rpm"
    rpm -Uvh graphite-web-0.9.7c-1.noarch.rpm
    rm -rf graphite-web*.rpm

    @@ -71,6 +62,15 @@ python /opt/graphite/webapp/graphite/manage.py syncdb
    # start the carbon cache
    PYTHONPATH=/usr/local/lib/python2.6/dist-packages/ /opt/graphite/bin/carbon-cache.py start

    # --- 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
  3. @GregMefford GregMefford revised this gist Apr 6, 2011. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -65,7 +65,7 @@ cp /opt/graphite/webapp/graphite/local_settings.py.example \

    # ===== BEGIN MANUAL STEP =====
    # run syncdb to setup the db and prime the authentication model (if you're using the DB model)
    python manage.py syncdb
    python /opt/graphite/webapp/graphite/manage.py syncdb
    # ===== END MANUAL STEP =====

    # start the carbon cache
  4. @GregMefford GregMefford revised this gist Mar 29, 2011. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -48,7 +48,8 @@ rm -rf graphite-web*.rpm
    # Populate /etc/httpd/conf.d/graphite.conf with the included file
    # Edit /etc/sysconfig/selinux to set the SELINUX line to:
    # SELINUX=permissive

    system-config-securitylevel
    # Go to firewall settings and put 8125:udp in the "other" box
    # ===== END MANUAL STEP =====

    # --- Configure Graphite ---
  5. @GregMefford GregMefford revised this gist Mar 28, 2011. 2 changed files with 3 additions and 4 deletions.
    2 changes: 1 addition & 1 deletion graphite.conf
    Original file line number Diff line number Diff line change
    @@ -14,7 +14,7 @@ NameVirtualHost *:80

    <Location "/">
    SetHandler python-program
    PythonPath "['/opt/graphite/webapp'] + sys.path"
    PythonPath "['/opt/graphite/webapp'] + ['/usr/local/lib/python2.6/dist-packages/'] + sys.path"
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE graphite.settings
    PythonDebug Off
    5 changes: 2 additions & 3 deletions setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -55,9 +55,8 @@ rm -rf graphite-web*.rpm
    # get SELinux out of the way
    setenforce 0
    service httpd restart
    # maybe change ownership of the storage folder to the Apache user/group?
    #### chown -R apache:apache /opt/graphite/storage/

    # change ownership of the storage folder to the Apache user/group
    chown -R apache:apache /opt/graphite/storage/
    # copy the local_settings example file to creating the app's settings
    # this is where both carbon federation and authentication is configured
    cp /opt/graphite/webapp/graphite/local_settings.py.example \
  6. @GregMefford GregMefford revised this gist Mar 28, 2011. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -69,7 +69,7 @@ python manage.py syncdb
    # ===== END MANUAL STEP =====

    # start the carbon cache
    /opt/graphite/bin/carbon-cache.py start
    PYTHONPATH=/usr/local/lib/python2.6/dist-packages/ /opt/graphite/bin/carbon-cache.py start

    # --- Install NodeJS ---
    yum install -y gcc-c++
  7. @GregMefford GregMefford revised this gist Mar 28, 2011. 2 changed files with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -58,10 +58,10 @@ service httpd restart
    # maybe change ownership of the storage folder to the Apache user/group?
    #### chown -R apache:apache /opt/graphite/storage/

    pushd /opt/graphite/webapp/graphite
    # copy the local_settings example file to creating the app's settings
    # this is where both carbon federation and authentication is configured
    cp local_settings.py.example local_settings.py
    cp /opt/graphite/webapp/graphite/local_settings.py.example \
    /opt/graphite/webapp/graphite/local_settings.py

    # ===== BEGIN MANUAL STEP =====
    # run syncdb to setup the db and prime the authentication model (if you're using the DB model)
  8. @GregMefford GregMefford revised this gist Mar 28, 2011. 2 changed files with 41 additions and 4 deletions.
    38 changes: 38 additions & 0 deletions UNNAMED_DIRECTORY/etc/httpd/conf.d/graphite.conf
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,38 @@
    NameVirtualHost *:80

    # You may need to manually edit this file to fit your needs.
    # This configuration assumes the default installation prefix
    # of /opt/graphite/, if you installed graphite somewhere else
    # you will need to change all the occurances of /opt/graphite/
    # in this file to your chosen install location.

    <VirtualHost *:80>
    # ServerName graphite
    DocumentRoot "/opt/graphite/webapp"
    ErrorLog /opt/graphite/storage/log/webapp/error.log
    CustomLog /opt/graphite/storage/log/webapp/access.log common

    <Location "/">
    SetHandler python-program
    PythonPath "['/opt/graphite/webapp'] + sys.path"
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE graphite.settings
    PythonDebug Off
    PythonAutoReload Off
    </Location>

    <Location "/content/">
    SetHandler None
    </Location>

    <Location "/media/">
    SetHandler None
    </Location>

    # NOTE: In order for the django admin site media to work you
    # must change @DJANGO_ROOT@ to be the path to your django
    # installation, which is probably something like:
    # /usr/lib/python2.6/site-packages/django
    Alias /media/ "/usr/lib/python2.4/site-packages/django/contrib/admin/media/"

    </VirtualHost>
    7 changes: 3 additions & 4 deletions setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -45,16 +45,15 @@ rpm -Uvh graphite-web-0.9.7c-1.noarch.rpm
    rm -rf graphite-web*.rpm

    # ===== BEGIN MANUAL STEP =====
    # Add the following line to /etc/httpd/conf/httpd.conf: (after the other LoadModule lines)
    # LoadModule python_module modules/mod_python.so
    # Edit /etc/httpd/conf.d/graphite.conf to replace @DJANGO_ROOT@ with /usr/lib/python2.4/site-packages/django
    # Populate /etc/httpd/conf.d/graphite.conf with the included file
    # Edit /etc/sysconfig/selinux to set the SELINUX line to:
    # SELINUX=permissive

    # ===== END MANUAL STEP =====

    # --- Configure Graphite ---
    # get SELinux out of the way
    setenforcing 0
    setenforce 0
    service httpd restart
    # maybe change ownership of the storage folder to the Apache user/group?
    #### chown -R apache:apache /opt/graphite/storage/
  9. @GregMefford GregMefford revised this gist Mar 28, 2011. 1 changed file with 3 additions and 0 deletions.
    3 changes: 3 additions & 0 deletions setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -18,12 +18,14 @@ rm -rf git*
    # --- Install Whisper - Graphite's DB system ---
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/whisper-0.9.7-1.noarch.rpm"
    rpm -Uvh whisper-0.9.7-1.noarch.rpm
    rm -rf whisper*.rpm

    # -- Install Carbon - the Graphite back-end ---
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/carbon-0.9.7-1.noarch.rpm"
    rpm -Uvh carbon-0.9.7-1.noarch.rpm
    cp /opt/graphite/conf/carbon.conf.example /opt/graphite/conf/carbon.conf
    cp /opt/graphite/conf/storage-schemas.conf.example /opt/graphite/conf/storage-schemas.conf
    rm -rf carbon*.rpm

    # --- Install Graphite dependencies ---
    yum install -y pycairo mod_python Django python-ldap python-memcached python-sqlite2 \
    @@ -40,6 +42,7 @@ rm -rf Twisted-10.2.0*
    # --- Install Graphite ---
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/graphite-web-0.9.7c-1.noarch.rpm"
    rpm -Uvh graphite-web-0.9.7c-1.noarch.rpm
    rm -rf graphite-web*.rpm

    # ===== BEGIN MANUAL STEP =====
    # Add the following line to /etc/httpd/conf/httpd.conf: (after the other LoadModule lines)
  10. @GregMefford GregMefford revised this gist Mar 28, 2011. 1 changed file with 5 additions and 30 deletions.
    35 changes: 5 additions & 30 deletions setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -15,54 +15,31 @@ pushd git-1.7.4.2
    popd
    rm -rf git*

    # --- Download Graphite files ---
    #mkdir graphite
    #pushd graphite/
    #wget "http://launchpad.net/graphite/trunk/0.9.7/+download/graphite-web-0.9.7c.tar.gz"
    #wget "http://launchpad.net/graphite/trunk/0.9.7/+download/carbon-0.9.7.tar.gz"
    #wget "http://launchpad.net/graphite/trunk/0.9.7/+download/whisper-0.9.7.tar.gz"
    #tar xzf graphite-web-0.9.7c.tar.gz
    #tar xzf carbon-0.9.7.tar.gz
    #tar xzf whisper-0.9.7.tar.gz

    # --- Install Whisper - Graphite's DB system ---
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/whisper-0.9.7-1.noarch.rpm"
    rpm -Uvh whisper-0.9.7-1.noarch.rpm
    #pushd whisper-0.9.7
    #python setup.py install
    #popd

    # -- Install Carbon - the Graphite back-end ---
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/carbon-0.9.7-1.noarch.rpm"
    rpm -Uvh carbon-0.9.7-1.noarch.rpm
    #pushd carbon-0.9.7
    # Workaround: the current version of the AMQP support requires Python 2.5
    #rm -f lib/carbon/amqp_publisher.py lib/carbon/amqp_listener.py
    #python setup.py install
    cp /opt/graphite/conf/carbon.conf.example /opt/graphite/conf/carbon.conf
    # Schema should be configured by the user.
    # see: http://graphite.wikidot.com/getting-your-data-into-graphite
    cp /opt/graphite/conf/storage-schemas.conf.example /opt/graphite/conf/storage-schemas.conf
    #popd

    # --- Install Graphite dependencies ---
    yum install -y pycairo mod_python Django python-ldap python-memcached python-sqlite2 bitmap bitmap-fonts python-devel python-crypto pyOpenSSL zope
    yum install -y pycairo mod_python Django python-ldap python-memcached python-sqlite2 \
    bitmap bitmap-fonts python-devel python-crypto pyOpenSSL zope

    # --- Install Twisted ---
    wget http://pypi.python.org/packages/source/T/Twisted/Twisted-10.2.0.tar.bz2
    tar jxvf Twisted-10.2.0.tar.bz2
    tar jxf Twisted-10.2.0.tar.bz2
    pushd Twisted-10.2.0
    python setup.py install
    popd
    rm -rf Twisted-10.2.0*

    # --- Install Graphite ---
    rpm -Uvh "http://launchpad.net/graphite/trunk/0.9.7/+download/graphite-web-0.9.7c-1.noarch.rpm"
    #pushd graphite-web-0.9.7c
    #python setup.py install
    # copy the graphite vhost example to available sites
    #cp examples/example-graphite-vhost.conf /etc/httpd/conf.d/graphite.conf
    #popd
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/graphite-web-0.9.7c-1.noarch.rpm"
    rpm -Uvh graphite-web-0.9.7c-1.noarch.rpm

    # ===== BEGIN MANUAL STEP =====
    # Add the following line to /etc/httpd/conf/httpd.conf: (after the other LoadModule lines)
    @@ -91,8 +68,6 @@ python manage.py syncdb

    # start the carbon cache
    /opt/graphite/bin/carbon-cache.py start
    popd
    popd

    # --- Install NodeJS ---
    yum install -y gcc-c++
  11. @GregMefford GregMefford revised this gist Mar 28, 2011. 1 changed file with 4 additions and 2 deletions.
    6 changes: 4 additions & 2 deletions setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -26,13 +26,15 @@ rm -rf git*
    #tar xzf whisper-0.9.7.tar.gz

    # --- Install Whisper - Graphite's DB system ---
    rpm -Uvh "http://launchpad.net/graphite/trunk/0.9.7/+download/whisper-0.9.7-1.noarch.rpm"
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/whisper-0.9.7-1.noarch.rpm"
    rpm -Uvh whisper-0.9.7-1.noarch.rpm
    #pushd whisper-0.9.7
    #python setup.py install
    #popd

    # -- Install Carbon - the Graphite back-end ---
    rpm -Uvh "http://launchpad.net/graphite/trunk/0.9.7/+download/carbon-0.9.7-1.noarch.rpm"
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/carbon-0.9.7-1.noarch.rpm"
    rpm -Uvh carbon-0.9.7-1.noarch.rpm
    #pushd carbon-0.9.7
    # Workaround: the current version of the AMQP support requires Python 2.5
    #rm -f lib/carbon/amqp_publisher.py lib/carbon/amqp_listener.py
  12. @GregMefford GregMefford revised this gist Mar 28, 2011. 1 changed file with 23 additions and 20 deletions.
    43 changes: 23 additions & 20 deletions setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -9,37 +9,39 @@ yum update # This takes quite a while for a fresh install
    # --- 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 xvjf 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*

    # --- Download Graphite files ---
    mkdir graphite
    pushd graphite/
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/graphite-web-0.9.7c.tar.gz"
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/carbon-0.9.7.tar.gz"
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/whisper-0.9.7.tar.gz"
    tar xzvf graphite-web-0.9.7c.tar.gz
    tar xzvf carbon-0.9.7.tar.gz
    tar xzvf whisper-0.9.7.tar.gz
    #mkdir graphite
    #pushd graphite/
    #wget "http://launchpad.net/graphite/trunk/0.9.7/+download/graphite-web-0.9.7c.tar.gz"
    #wget "http://launchpad.net/graphite/trunk/0.9.7/+download/carbon-0.9.7.tar.gz"
    #wget "http://launchpad.net/graphite/trunk/0.9.7/+download/whisper-0.9.7.tar.gz"
    #tar xzf graphite-web-0.9.7c.tar.gz
    #tar xzf carbon-0.9.7.tar.gz
    #tar xzf whisper-0.9.7.tar.gz

    # --- Install Whisper - Graphite's DB system ---
    pushd whisper-0.9.7
    python setup.py install
    popd
    rpm -Uvh "http://launchpad.net/graphite/trunk/0.9.7/+download/whisper-0.9.7-1.noarch.rpm"
    #pushd whisper-0.9.7
    #python setup.py install
    #popd

    # -- Install Carbon - the Graphite back-end ---
    pushd carbon-0.9.7
    rpm -Uvh "http://launchpad.net/graphite/trunk/0.9.7/+download/carbon-0.9.7-1.noarch.rpm"
    #pushd carbon-0.9.7
    # Workaround: the current version of the AMQP support requires Python 2.5
    rm -f lib/carbon/amqp_publisher.py lib/carbon/amqp_listener.py
    python setup.py install
    #rm -f lib/carbon/amqp_publisher.py lib/carbon/amqp_listener.py
    #python setup.py install
    cp /opt/graphite/conf/carbon.conf.example /opt/graphite/conf/carbon.conf
    # Schema should be configured by the user.
    # see: http://graphite.wikidot.com/getting-your-data-into-graphite
    cp /opt/graphite/conf/storage-schemas.conf.example /opt/graphite/conf/storage-schemas.conf
    popd
    #popd

    # --- Install Graphite dependencies ---
    yum install -y pycairo mod_python Django python-ldap python-memcached python-sqlite2 bitmap bitmap-fonts python-devel python-crypto pyOpenSSL zope
    @@ -53,11 +55,12 @@ popd
    rm -rf Twisted-10.2.0*

    # --- Install Graphite ---
    pushd graphite-web-0.9.7c
    python setup.py install
    rpm -Uvh "http://launchpad.net/graphite/trunk/0.9.7/+download/graphite-web-0.9.7c-1.noarch.rpm"
    #pushd graphite-web-0.9.7c
    #python setup.py install
    # copy the graphite vhost example to available sites
    cp examples/example-graphite-vhost.conf /etc/httpd/conf.d/graphite.conf
    popd
    #cp examples/example-graphite-vhost.conf /etc/httpd/conf.d/graphite.conf
    #popd

    # ===== BEGIN MANUAL STEP =====
    # Add the following line to /etc/httpd/conf/httpd.conf: (after the other LoadModule lines)
  13. @GregMefford GregMefford revised this gist Mar 28, 2011. 1 changed file with 12 additions and 12 deletions.
    24 changes: 12 additions & 12 deletions setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -15,18 +15,6 @@ pushd git-1.7.4.2
    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

    # --- Download Graphite files ---
    mkdir graphite
    pushd graphite/
    @@ -101,6 +89,18 @@ python manage.py syncdb
    popd
    popd

    # --- 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
  14. @GregMefford GregMefford revised this gist Mar 28, 2011. 1 changed file with 2 additions and 1 deletion.
    3 changes: 2 additions & 1 deletion setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -2,6 +2,8 @@
    # This script should be run 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.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm"
    yum update # This takes quite a while for a fresh install

    # --- Install git ---
    @@ -52,7 +54,6 @@ cp /opt/graphite/conf/storage-schemas.conf.example /opt/graphite/conf/storage-sc
    popd

    # --- Install Graphite dependencies ---
    rpm -Uvh "http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm"
    yum install -y pycairo mod_python Django python-ldap python-memcached python-sqlite2 bitmap bitmap-fonts python-devel python-crypto pyOpenSSL zope

    # --- Install Twisted ---
  15. @GregMefford GregMefford revised this gist Mar 27, 2011. 1 changed file with 14 additions and 2 deletions.
    16 changes: 14 additions & 2 deletions setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -53,7 +53,15 @@ popd

    # --- Install Graphite dependencies ---
    rpm -Uvh "http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm"
    yum install -y pycairo mod_python Django python-ldap python-memcached python-sqlite2 bitmap bitmap-fonts
    yum install -y pycairo mod_python Django python-ldap python-memcached python-sqlite2 bitmap bitmap-fonts python-devel python-crypto pyOpenSSL zope

    # --- Install Twisted ---
    wget http://pypi.python.org/packages/source/T/Twisted/Twisted-10.2.0.tar.bz2
    tar jxvf Twisted-10.2.0.tar.bz2
    pushd Twisted-10.2.0
    python setup.py install
    popd
    rm -rf Twisted-10.2.0*

    # --- Install Graphite ---
    pushd graphite-web-0.9.7c
    @@ -81,16 +89,20 @@ pushd /opt/graphite/webapp/graphite
    # copy the local_settings example file to creating the app's settings
    # this is where both carbon federation and authentication is configured
    cp local_settings.py.example local_settings.py

    # ===== BEGIN MANUAL STEP =====
    # run syncdb to setup the db and prime the authentication model (if you're using the DB model)
    python manage.py syncdb
    # ===== END MANUAL STEP =====

    # start the carbon cache
    /opt/graphite/bin/carbon-cache.py start
    popd
    popd

    # --- Install StatsD ---
    git clone https://github.com/etsy/statsd.git
    pushd statsd
    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
  16. @GregMefford GregMefford revised this gist Mar 27, 2011. 1 changed file with 14 additions and 12 deletions.
    26 changes: 14 additions & 12 deletions setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -55,42 +55,44 @@ popd
    rpm -Uvh "http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm"
    yum install -y pycairo mod_python Django python-ldap python-memcached python-sqlite2 bitmap bitmap-fonts

    ## VV Ubuntu stuff still to be translated VV ##

    # --- Install Graphite ---
    pushd graphite-web-0.9.7c
    python setup.py install
    # copy the graphite vhost example to available sites
    cp examples/example-graphite-vhost.conf /etc/httpd/conf.d/graphite.conf
    popd

    # ===== BEGIN MANUAL STEP =====
    # Add the following line to /etc/httpd/conf/httpd.conf: (after the other LoadModule lines)
    # LoadModule python_module modules/mod_python.so
    # Edit /etc/httpd/conf.d/graphite.conf to replace @DJANGO_ROOT@ with /usr/lib/python2.4/site-packages/django
    # Edit /etc/sysconfig/selinux to set the SELINUX line to:
    # SELINUX=permissive
    # ===== END MANUAL STEP =====

    # --- Configure Graphite ---
    # get SELinux out of the way
    setenforcing 0
    # create the log files
    service httpd restart
    # maybe change ownership of the storage folder to the Apache user/group?
    #### chown -R apache:apache /opt/graphite/storage/


    cd /opt/graphite/webapp/graphite
    pushd /opt/graphite/webapp/graphite
    # copy the local_settings example file to creating the app's settings
    # this is where both carbon federation and authentication is configured
    cp local_settings.py.example local_settings.py
    # run syncdb to setup the db and prime the authentication model (if you're using the DB model)
    sudo python manage.py syncdb
    python manage.py syncdb
    # start the carbon cache
    /opt/graphite/bin/carbon-cache.py start
    # 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
    popd
    popd

    # clone the statsd project
    # --- Install StatsD ---
    git clone https://github.com/etsy/statsd.git

    cd ~/statsd
    pushd 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
    # --- Start StatsD ---
    node stats.js local.js
  17. @GregMefford GregMefford revised this gist Mar 27, 2011. 1 changed file with 18 additions and 13 deletions.
    31 changes: 18 additions & 13 deletions setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -57,20 +57,25 @@ yum install -y pycairo mod_python Django python-ldap python-memcached python-sql

    ## VV Ubuntu stuff still to be translated VV ##

    cd ~/graphite/graphite-web-0.9.6
    pushd graphite-web-0.9.7c
    python setup.py install
    # copy the graphite vhost example to available sites, edit it to you satisfaction, then link it from sites-enabled
    cp example-graphite-vhost.conf /etc/apache2/sites-available/graphite.conf
    ln -s /etc/apache2/sites-available/graphite.conf /etc/apache2/sites-enabled/graphite.conf
    apache2ctl restart
    # I had to create these log files manually
    /opt/graphite/storage/log/webapp
    touch info.log
    chmod 777 info.log
    touch exception.log
    chmod 777 exception.log
    # make sure to change ownership of the storage folder to the Apache user/group - mine was www-data
    sudo chown -R www-data:www-data /opt/graphite/storage/
    # copy the graphite vhost example to available sites
    cp examples/example-graphite-vhost.conf /etc/httpd/conf.d/graphite.conf
    # ===== BEGIN MANUAL STEP =====
    # Add the following line to /etc/httpd/conf/httpd.conf: (after the other LoadModule lines)
    # LoadModule python_module modules/mod_python.so
    # Edit /etc/httpd/conf.d/graphite.conf to replace @DJANGO_ROOT@ with /usr/lib/python2.4/site-packages/django
    # Edit /etc/sysconfig/selinux to set the SELINUX line to:
    # SELINUX=permissive
    # ===== END MANUAL STEP =====
    # get SELinux out of the way
    setenforcing 0
    # create the log files
    service httpd restart
    # maybe change ownership of the storage folder to the Apache user/group?
    #### chown -R apache:apache /opt/graphite/storage/


    cd /opt/graphite/webapp/graphite
    # copy the local_settings example file to creating the app's settings
    # this is where both carbon federation and authentication is configured
  18. @GregMefford GregMefford revised this gist Mar 27, 2011. 1 changed file with 34 additions and 32 deletions.
    66 changes: 34 additions & 32 deletions setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -21,44 +21,42 @@ pushd node
    popd
    rm -rf node

    # install the Node package manager for later use
    curl http://npmjs.org/install.sh | sudo sh
    # --- Install the Node Package Manager ---
    curl http://npmjs.org/install.sh | sh
    npm install express
    # clone the statsd project
    git clone https://github.com/etsy/statsd.git

    ## VV Ubuntu stuff still to be translated VV ##


    # download everything for graphite
    # --- Download Graphite files ---
    mkdir graphite
    cd graphite/
    wget "http://launchpad.net/graphite/trunk/0.9.6/+download/carbon-0.9.6.tar.gz"
    wget "http://launchpad.net/graphite/trunk/0.9.6/+download/whisper-0.9.6.tar.gz"
    wget "http://launchpad.net/graphite/trunk/0.9.6/+download/graphite-web-0.9.6.tar.gz"
    tar xzvf whisper-0.9.6.tar.gz
    tar xzvf carbon-0.9.6.tar.gz
    tar xzvf graphite-web-0.9.6.tar.gz
    # install whisper - Graphite's DB system
    cd whisper-0.9.6
    sudo python setup.py install
    pushd graphite/
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/graphite-web-0.9.7c.tar.gz"
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/carbon-0.9.7.tar.gz"
    wget "http://launchpad.net/graphite/trunk/0.9.7/+download/whisper-0.9.7.tar.gz"
    tar xzvf graphite-web-0.9.7c.tar.gz
    tar xzvf carbon-0.9.7.tar.gz
    tar xzvf whisper-0.9.7.tar.gz

    # --- Install Whisper - Graphite's DB system ---
    pushd whisper-0.9.7
    python setup.py install
    popd
    # install carbon - the Graphite back-end
    cd carbon-0.9.6

    # -- Install Carbon - the Graphite back-end ---
    pushd carbon-0.9.7
    # Workaround: the current version of the AMQP support requires Python 2.5
    rm -f lib/carbon/amqp_publisher.py lib/carbon/amqp_listener.py
    python setup.py install
    cd /opt/graphite/conf
    cp carbon.conf.example carbon.conf
    # copy the example schema configuration file, and then configure the schema
    cp /opt/graphite/conf/carbon.conf.example /opt/graphite/conf/carbon.conf
    # Schema should be configured by the user.
    # see: http://graphite.wikidot.com/getting-your-data-into-graphite
    cp storage-schemas.conf.example storage-schemas.conf
    # install other graphite dependencies
    sudo apt-get install python-cairo
    sudo apt-get install python-django
    sudo apt-get install memcached
    sudo apt-get install python-memcache
    sudo apt-get install python-ldap
    sudo apt-get install python-twisted
    sudo apt-get install apache2 libapache2-mod-python
    cp /opt/graphite/conf/storage-schemas.conf.example /opt/graphite/conf/storage-schemas.conf
    popd

    # --- Install Graphite dependencies ---
    rpm -Uvh "http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm"
    yum install -y pycairo mod_python Django python-ldap python-memcached python-sqlite2 bitmap bitmap-fonts

    ## VV Ubuntu stuff still to be translated VV ##

    cd ~/graphite/graphite-web-0.9.6
    python setup.py install
    # copy the graphite vhost example to available sites, edit it to you satisfaction, then link it from sites-enabled
    @@ -83,6 +81,10 @@ sudo python manage.py syncdb
    /opt/graphite/bin/carbon-cache.py start
    # 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

    # clone the statsd project
    git clone https://github.com/etsy/statsd.git

    cd ~/statsd
    cp exampleConfig.js local.js
    # start statsd
  19. @GregMefford GregMefford revised this gist Mar 27, 2011. 1 changed file with 16 additions and 13 deletions.
    29 changes: 16 additions & 13 deletions setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -1,32 +1,35 @@
    # First do a fresh install of CentOS 5.4 x86_64, server configuration (no GUI)
    # This script should be run as root since it's going to be installing a bunch of stuff

    # Update things to make sure we have the latest patches
    yum update
    # --- Update things to make sure we have the latest patches ---
    yum update # This takes quite a while for a fresh install

    # install git
    yum install gcc g++ zlib-devel curl openssl
    # --- 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 xvjf git-1.7.4.2.tar.bz2
    pushd git-1.7.4.2
    ./configure && make
    make install
    ./configure && make && make install
    popd
    rm -rf git*

    ## VV Ubuntu stuff still to be translated VV ##

    # download the Node source, compile and install it
    # --- Install NodeJS ---
    yum install -y gcc-c++
    git clone https://github.com/joyent/node.git
    cd node
    ./configure
    make
    sudo make install
    pushd node
    ./configure && make && make install
    popd
    rm -rf node

    # install the Node package manager for later use
    curl http://npmjs.org/install.sh | sudo sh
    npm install express
    # clone the statsd project
    git clone https://github.com/etsy/statsd.git

    ## VV Ubuntu stuff still to be translated VV ##


    # download everything for graphite
    mkdir graphite
    cd graphite/
  20. @GregMefford GregMefford renamed this gist Mar 27, 2011. 1 changed file with 17 additions and 2 deletions.
    19 changes: 17 additions & 2 deletions setup-statsd.sh → setup-statsd-centos.sh
    Original file line number Diff line number Diff line change
    @@ -1,6 +1,21 @@
    # First do a fresh install of CentOS 5.4 x86_64, server configuration (no GUI)
    # This script should be run as root since it's going to be installing a bunch of stuff

    # Update things to make sure we have the latest patches
    yum update

    # install git
    sudo apt-get install g++ curl libssl-dev apache2-utils
    sudo apt-get install git-core
    yum install gcc g++ zlib-devel curl openssl
    wget http://kernel.org/pub/software/scm/git/git-1.7.4.2.tar.bz2
    tar xvjf git-1.7.4.2.tar.bz2
    pushd git-1.7.4.2
    ./configure && make
    make install
    popd
    rm -rf git*

    ## VV Ubuntu stuff still to be translated VV ##

    # download the Node source, compile and install it
    git clone https://github.com/joyent/node.git
    cd node
  21. @collegeman collegeman created this gist Mar 9, 2011.
    71 changes: 71 additions & 0 deletions setup-statsd.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,71 @@
    # install git
    sudo apt-get install g++ curl libssl-dev apache2-utils
    sudo apt-get install git-core
    # download the Node source, compile and install it
    git clone https://github.com/joyent/node.git
    cd node
    ./configure
    make
    sudo make install
    # install the Node package manager for later use
    curl http://npmjs.org/install.sh | sudo sh
    npm install express
    # clone the statsd project
    git clone https://github.com/etsy/statsd.git
    # download everything for graphite
    mkdir graphite
    cd graphite/
    wget "http://launchpad.net/graphite/trunk/0.9.6/+download/carbon-0.9.6.tar.gz"
    wget "http://launchpad.net/graphite/trunk/0.9.6/+download/whisper-0.9.6.tar.gz"
    wget "http://launchpad.net/graphite/trunk/0.9.6/+download/graphite-web-0.9.6.tar.gz"
    tar xzvf whisper-0.9.6.tar.gz
    tar xzvf carbon-0.9.6.tar.gz
    tar xzvf graphite-web-0.9.6.tar.gz
    # install whisper - Graphite's DB system
    cd whisper-0.9.6
    sudo python setup.py install
    popd
    # install carbon - the Graphite back-end
    cd carbon-0.9.6
    python setup.py install
    cd /opt/graphite/conf
    cp carbon.conf.example carbon.conf
    # copy the example schema configuration file, and then configure the schema
    # see: http://graphite.wikidot.com/getting-your-data-into-graphite
    cp storage-schemas.conf.example storage-schemas.conf
    # install other graphite dependencies
    sudo apt-get install python-cairo
    sudo apt-get install python-django
    sudo apt-get install memcached
    sudo apt-get install python-memcache
    sudo apt-get install python-ldap
    sudo apt-get install python-twisted
    sudo apt-get install apache2 libapache2-mod-python
    cd ~/graphite/graphite-web-0.9.6
    python setup.py install
    # copy the graphite vhost example to available sites, edit it to you satisfaction, then link it from sites-enabled
    cp example-graphite-vhost.conf /etc/apache2/sites-available/graphite.conf
    ln -s /etc/apache2/sites-available/graphite.conf /etc/apache2/sites-enabled/graphite.conf
    apache2ctl restart
    # I had to create these log files manually
    /opt/graphite/storage/log/webapp
    touch info.log
    chmod 777 info.log
    touch exception.log
    chmod 777 exception.log
    # make sure to change ownership of the storage folder to the Apache user/group - mine was www-data
    sudo chown -R www-data:www-data /opt/graphite/storage/
    cd /opt/graphite/webapp/graphite
    # copy the local_settings example file to creating the app's settings
    # this is where both carbon federation and authentication is configured
    cp local_settings.py.example local_settings.py
    # run syncdb to setup the db and prime the authentication model (if you're using the DB model)
    sudo python manage.py syncdb
    # start the carbon cache
    /opt/graphite/bin/carbon-cache.py start
    # 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
    cd ~/statsd
    cp exampleConfig.js local.js
    # start statsd
    node stats.js local.js