puppet-graphite/templates/graphite.vhost.erb

70 lines
2.9 KiB
Plaintext

# This needs to be in your server's config somewhere, probably
# the main httpd.conf
# NameVirtualHost *:80
# This line also needs to be in your server's config.
# LoadModule wsgi_module modules/mod_wsgi.so
# You 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.
# XXX You need to set this up!
# Read http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGISocketPrefix
#WSGISocketPrefix /var/run/apache2/wsgi
<VirtualHost *:80>
DocumentRoot "/var/lib/graphite/webapp"
ErrorLog /var/log/apache2/graphite-error.log
CustomLog /var/log/apache2/graphite-access.log common
# Add CORS authorization to the header so third-party services can pull
# metrics data via API calls for things like vizualiation dashboards.
Header set Access-Control-Allow-Origin "*"
# I've found that an equal number of processes & threads tends
# to show the best performance for Graphite (ymmv).
WSGIDaemonProcess graphite processes=5 threads=5 display-name='%{GROUP}' inactivity-timeout=120
WSGIProcessGroup graphite
WSGIApplicationGroup %{GLOBAL}
SetEnv GRAPHITE_STORAGE_DIR /var/lib/graphite/storage
WSGIImportScript /etc/graphite/graphite.wsgi process-group=graphite application-group=%{GLOBAL}
# XXX You will need to create this file! There is a graphite.wsgi.example
# file in this directory that you can safely use, just copy it to graphite.wgsi
WSGIScriptAlias / /etc/graphite/graphite.wsgi
Alias /content/ /var/lib/graphite/webapp/content/
<Location "/content/">
SetHandler None
</Location>
# XXX 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.7/dist-packages/django/contrib/admin/media/"
<Location "/media/">
SetHandler None
</Location>
# The graphite.wsgi file has to be accessible by apache. It won't
# be visible to clients because of the DocumentRoot though.
<Directory /etc/graphite/>
<IfVersion >= 2.4>
Require all granted
</IfVersion>
<IfVersion < 2.4>
Order deny,allow
Allow from all
</IfVersion>
</Directory>
<IfVersion >= 2.4>
<Directory /var/lib/graphite/webapp/content/>
Require all granted
</Directory>
</IfVersion>
</VirtualHost>