Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(126)

Unified Diff: compute_engine_scripts/monitoring/graphite_setup.sh

Issue 310253003: Add setup scripts for a Graphite server. (Closed) Base URL: https://skia.googlesource.com/buildbot.git@master
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « compute_engine_scripts/monitoring/graphite.wsgi ('k') | compute_engine_scripts/monitoring/httpd.conf » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: compute_engine_scripts/monitoring/graphite_setup.sh
diff --git a/compute_engine_scripts/monitoring/graphite_setup.sh b/compute_engine_scripts/monitoring/graphite_setup.sh
new file mode 100755
index 0000000000000000000000000000000000000000..b74dc577bb64f871a53a4deb2480e99e0fef75ba
--- /dev/null
+++ b/compute_engine_scripts/monitoring/graphite_setup.sh
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+# Install all the system level dependencies.
+sudo apt-get install --assume-yes apache2 apache2-mpm-worker apache2-utils apache2.2-bin \
+ apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3 build-essential python-dev \
+ libapache2-mod-wsgi libaprutil1-ldap memcached python-cairo-dev python-django python-ldap \
+ python-memcache python-pysqlite2 sqlite3 libapache2-mod-python python-pip fontconfig \
+ monit
+
+# Now install system dependencies that we need, but aren't satisfiable via
+# apt-get.
+sudo pip install --upgrade django==1.5
+sudo pip install --upgrade django-tagging 'twisted<12.0'
+sudo pip install pytz
+sudo pip install pyparsing
+
+# Apache runs as the user www-data and we also need the Graphite server, which
+# is a WSGI Django application, to run as www-data. Sadly under Debian the
+# $HOME directory for www-data is /var/www, which is where files are by
+# default served from for Apache, so we can't store any data there securely,
+# so we create a /home/www-data directory and install Graphite web and its
+# dependencies there.
+sudo mkdir /home/www-data
tfarina 2014/09/23 04:02:45 could this be simplified to the following command
jcgregorio 2014/09/23 11:24:08 If I recall correctly this didn't work because the
+sudo chown www-data:default /home/www-data
+
+# Vars to use with 'install'.
+PARAMS="-D --verbose --backup=none --group=default --owner=www-data --preserve-timestamps"
+EXE_PARAMS="$PARAMS --mode=766"
+CONFIG_PARAMS="$PARAMS --mode=666"
+
+# Copy over scripts we will run as www-data.
+sudo install $EXE_PARAMS continue_install.sh continue_install2.sh /home/www-data
+
+# The continue_install.sh script installs local per-user copies of ceres,
+# whisper, carbon and graphite-web.
+sudo su www-data -c /home/www-data/continue_install.sh
+
+# Now that the default installs are in place, overwrite the installs with our
+# custom config files.
+sudo install $CONFIG_PARAMS graphite.wsgi carbon.conf storage-schemas.conf \
+ /home/www-data/graphite/conf
+sudo install $CONFIG_PARAMS local_settings.py /home/www-data/graphite/lib/graphite/
+sudo install $CONFIG_PARAMS monitoring_monit /etc/monit/conf.d/monitoring
+
+# Now run the continue_install2.sh script as www-data, which creates the
+# sqlite database if needed and starts the carbon service.
+sudo su www-data -c /home/www-data/continue_install2.sh
+
+# Add to the configuration of Apache so that we load the Graphite WSGI
+# application, and restart the server.
+sudo cp httpd.conf /etc/apache2/conf.d/graphite.conf
+sudo /etc/init.d/monit restart
+sudo /etc/init.d/apache2 restart
« no previous file with comments | « compute_engine_scripts/monitoring/graphite.wsgi ('k') | compute_engine_scripts/monitoring/httpd.conf » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698