| Index: compute_engine_scripts/monitoring/local_settings.py
|
| diff --git a/compute_engine_scripts/monitoring/local_settings.py b/compute_engine_scripts/monitoring/local_settings.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..f80ed8867a3ce4989b876f4c8e2157fa8596aefe
|
| --- /dev/null
|
| +++ b/compute_engine_scripts/monitoring/local_settings.py
|
| @@ -0,0 +1,254 @@
|
| +## Graphite local_settings.py
|
| +# Edit this file to customize the default Graphite webapp settings
|
| +#
|
| +# Additional customizations to Django settings can be added to this file as well
|
| +
|
| +#####################################
|
| +# General Configuration #
|
| +#####################################
|
| +# Set this to a long, random unique string to use as a secret key for this
|
| +# install. This key is used for salting of hashes used in auth tokens,
|
| +# CRSF middleware, cookie storage, etc. This should be set identically among
|
| +# instances if used behind a load balancer.
|
| +SECRET_KEY = 'asldfj923 9udnv0782309xc655sd-09fasn-9123$%^&'
|
| +
|
| +# In Django 1.5+ set this to the list of hosts your graphite instances is
|
| +# accessible as. See:
|
| +# https://docs.djangoproject.com/en/dev/ref/settings/#std:setting-ALLOWED_HOSTS
|
| +#ALLOWED_HOSTS = [ '*' ]
|
| +
|
| +# Set your local timezone (Django's default is America/Chicago)
|
| +# If your graphs appear to be offset by a couple hours then this probably
|
| +# needs to be explicitly set to your local timezone.
|
| +#TIME_ZONE = 'America/Los_Angeles'
|
| +
|
| +# Override this to provide documentation specific to your Graphite deployment
|
| +#DOCUMENTATION_URL = "http://graphite.readthedocs.org/"
|
| +
|
| +# Metric data and graphs are cached for one minute by default
|
| +#DEFAULT_CACHE_DURATION = 60
|
| +
|
| +# Logging
|
| +#LOG_RENDERING_PERFORMANCE = True
|
| +#LOG_CACHE_PERFORMANCE = True
|
| +#LOG_METRIC_ACCESS = True
|
| +
|
| +# Enable full debug page display on exceptions (Internal Server Error pages)
|
| +DEBUG = True
|
| +
|
| +# If using RRD files and rrdcached, set to the address or socket of the daemon
|
| +#FLUSHRRDCACHED = 'unix:/var/run/rrdcached.sock'
|
| +
|
| +# This lists the memcached servers that will be used by this webapp.
|
| +# If you have a cluster of webapps you should ensure all of them
|
| +# have the *exact* same value for this setting. That will maximize cache
|
| +# efficiency. Setting MEMCACHE_HOSTS to be empty will turn off use of
|
| +# memcached entirely.
|
| +#
|
| +# You should not use the loopback address (127.0.0.1) here if using clustering
|
| +# as every webapp in the cluster should use the exact same values to prevent
|
| +# unneeded cache misses. Set to [] to disable caching of images and fetched data
|
| +#MEMCACHE_HOSTS = ['10.10.10.10:11211', '10.10.10.11:11211', '10.10.10.12:11211']
|
| +#DEFAULT_CACHE_DURATION = 60 # Cache images and data for 1 minute
|
| +
|
| +
|
| +#####################################
|
| +# Filesystem Paths #
|
| +#####################################
|
| +# Change only GRAPHITE_ROOT if your install is merely shifted from /opt/graphite
|
| +# to somewhere else
|
| +GRAPHITE_ROOT = '/home/www-data/graphite'
|
| +
|
| +# Most installs done outside of a separate tree such as /opt/graphite will only
|
| +# need to change these three settings. Note that the default settings for each
|
| +# of these is relative to GRAPHITE_ROOT
|
| +#CONF_DIR = '/opt/graphite/conf'
|
| +#STORAGE_DIR = '/opt/graphite/storage'
|
| +CONTENT_DIR = '/home/www-data/graphite/webapp/content'
|
| +
|
| +# To further or fully customize the paths, modify the following. Note that the
|
| +# default settings for each of these are relative to CONF_DIR and STORAGE_DIR
|
| +#
|
| +## Webapp config files
|
| +#DASHBOARD_CONF = '/opt/graphite/conf/dashboard.conf'
|
| +#GRAPHTEMPLATES_CONF = '/opt/graphite/conf/graphTemplates.conf'
|
| +
|
| +## Data directories
|
| +# NOTE: If any directory is unreadable in STANDARD_DIRS it will break metric browsing
|
| +#CERES_DIR = '/opt/graphite/storage/ceres'
|
| +#WHISPER_DIR = '/opt/graphite/storage/whisper'
|
| +#RRD_DIR = '/opt/graphite/storage/rrd'
|
| +# Data directories using the "Standard" finder (i.e. not Ceres)
|
| +#STANDARD_DIRS = [WHISPER_DIR, RRD_DIR] # Default: set from the above variables
|
| +#LOG_DIR = '/opt/graphite/storage/log/webapp'
|
| +#INDEX_FILE = '/opt/graphite/storage/index' # Search index file
|
| +
|
| +
|
| +#####################################
|
| +# Email Configuration #
|
| +#####################################
|
| +# This is used for emailing rendered Graphs
|
| +# Default backend is SMTP
|
| +#EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
|
| +#EMAIL_HOST = 'localhost'
|
| +#EMAIL_PORT = 25
|
| +#EMAIL_HOST_USER = ''
|
| +#EMAIL_HOST_PASSWORD = ''
|
| +#EMAIL_USE_TLS = False
|
| +# To drop emails on the floor, enable the Dummy backend:
|
| +#EMAIL_BACKEND = 'django.core.mail.backends.dummy.EmailBackend'
|
| +
|
| +
|
| +#####################################
|
| +# Authentication Configuration #
|
| +#####################################
|
| +## LDAP / ActiveDirectory authentication setup
|
| +#USE_LDAP_AUTH = True
|
| +#LDAP_SERVER = "ldap.mycompany.com"
|
| +#LDAP_PORT = 389
|
| +#LDAP_USE_TLS = False
|
| +# OR
|
| +#LDAP_URI = "ldaps://ldap.mycompany.com:636"
|
| +#LDAP_SEARCH_BASE = "OU=users,DC=mycompany,DC=com"
|
| +#LDAP_BASE_USER = "CN=some_readonly_account,DC=mycompany,DC=com"
|
| +#LDAP_BASE_PASS = "readonly_account_password"
|
| +#LDAP_USER_QUERY = "(username=%s)" #For Active Directory use "(sAMAccountName=%s)"
|
| +#
|
| +# If you want to further customize the ldap connection options you should
|
| +# directly use ldap.set_option to set the ldap module's global options.
|
| +# For example:
|
| +#
|
| +#import ldap
|
| +#ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_ALLOW) # Use ldap.OPT_X_TLS_DEMAND to force TLS
|
| +#ldap.set_option(ldap.OPT_REFERRALS, 0) # Enable for Active Directory
|
| +#ldap.set_option(ldap.OPT_X_TLS_CACERTDIR, "/etc/ssl/ca")
|
| +#ldap.set_option(ldap.OPT_X_TLS_CERTFILE, "/etc/ssl/mycert.pem")
|
| +#ldap.set_option(ldap.OPT_X_TLS_KEYFILE, "/etc/ssl/mykey.pem")
|
| +#ldap.set_option(ldap.OPT_DEBUG_LEVEL, 65535) # To enable verbose debugging
|
| +# See http://www.python-ldap.org/ for further details on these options.
|
| +
|
| +## REMOTE_USER authentication. See: https://docs.djangoproject.com/en/dev/howto/auth-remote-user/
|
| +#USE_REMOTE_USER_AUTHENTICATION = True
|
| +
|
| +# Override the URL for the login link (e.g. for django_openid_auth)
|
| +#LOGIN_URL = '/account/login'
|
| +
|
| +
|
| +###############################
|
| +# Authorization for Dashboard #
|
| +###############################
|
| +# By default, there is no security on dashboards - any user can add, change or delete them.
|
| +# This section provides 3 different authorization models, of varying strictness.
|
| +
|
| +# If set to True, users must be logged in to save or delete dashboards. Defaults to False
|
| +#DASHBOARD_REQUIRE_AUTHENTICATION = True
|
| +
|
| +# If set to the name of a user group, dashboards can be saved and deleted by any user in this
|
| +# group. Groups can be set in the Django Admin app, or in LDAP. Defaults to None.
|
| +# NOTE: Ignored if DASHBOARD_REQUIRE_AUTHENTICATION is not set
|
| +#DASHBOARD_REQUIRE_EDIT_GROUP = 'dashboard-editors-group'
|
| +
|
| +# If set to True, dashboards can be saved or deleted by any user having the appropriate
|
| +# (change or delete) permission (as set in the Django Admin app). Defaults to False
|
| +# NOTE: Ignored if DASHBOARD_REQUIRE_AUTHENTICATION is not set
|
| +#DASHBOARD_REQUIRE_PERMISSIONS = True
|
| +
|
| +
|
| +
|
| +##########################
|
| +# Database Configuration #
|
| +##########################
|
| +# By default sqlite is used. If you cluster multiple webapps you will need
|
| +# to setup an external database (such as MySQL) and configure all of the webapp
|
| +# instances to use the same database. Note that this database is only used to store
|
| +# Django models such as saved graphs, dashboards, user preferences, etc.
|
| +# Metric data is not stored here.
|
| +#
|
| +# DO NOT FORGET TO RUN 'django-admin.py syncdb' AFTER SETTING UP A NEW DATABASE
|
| +#
|
| +# The following built-in database engines are available:
|
| +# django.db.backends.postgresql_psycopg2
|
| +# django.db.backends.mysql
|
| +# django.db.backends.sqlite3
|
| +# django.db.backends.oracle
|
| +#
|
| +# The default is 'django.db.backends.sqlite3' with file 'graphite.db'
|
| +# located in STORAGE_DIR
|
| +#
|
| +DATABASES = {
|
| + 'default': {
|
| + 'NAME': '/home/www-data/graphite/storage/graphite.db',
|
| + 'ENGINE': 'django.db.backends.sqlite3',
|
| + 'USER': '',
|
| + 'PASSWORD': '',
|
| + 'HOST': '',
|
| + 'PORT': ''
|
| + }
|
| +}
|
| +#
|
| +
|
| +#########################
|
| +# Cluster Configuration #
|
| +#########################
|
| +# (To avoid excessive DNS lookups you want to stick to using IP addresses only in this entire section)
|
| +#
|
| +# This should list the IP address (and optionally port) of the webapp on each
|
| +# remote server in the cluster. These servers must each have local access to
|
| +# metric data. Note that the first server to return a match for a query will be
|
| +# used.
|
| +#CLUSTER_SERVERS = ["10.0.2.2:80", "10.0.2.3:80"]
|
| +
|
| +## These are timeout values (in seconds) for requests to remote webapps
|
| +#REMOTE_FIND_TIMEOUT = 3.0 # Timeout for metric find requests
|
| +#REMOTE_FETCH_TIMEOUT = 6.0 # Timeout to fetch series data
|
| +#REMOTE_RETRY_DELAY = 60.0 # Time before retrying a failed remote webapp
|
| +#REMOTE_READER_CACHE_SIZE_LIMIT = 1000 # Maximum number of remote URL queries to cache
|
| +#FIND_CACHE_DURATION = 300 # Time to cache remote metric find results
|
| +# If the query doesn't fall entirely within the FIND_TOLERANCE window
|
| +# we disregard the window. This prevents unnecessary remote fetches
|
| +# caused when carbon's cache skews node.intervals, giving the appearance
|
| +# remote systems have data we don't have locally, which we probably do.
|
| +#FIND_TOLERANCE = 2 * FIND_CACHE_DURATION
|
| +
|
| +## Remote rendering settings
|
| +# Set to True to enable rendering of Graphs on a remote webapp
|
| +#REMOTE_RENDERING = True
|
| +# List of IP (and optionally port) of the webapp on each remote server that
|
| +# will be used for rendering. Note that each rendering host should have local
|
| +# access to metric data or should have CLUSTER_SERVERS configured
|
| +#RENDERING_HOSTS = []
|
| +#REMOTE_RENDER_CONNECT_TIMEOUT = 1.0
|
| +
|
| +# If you are running multiple carbon-caches on this machine (typically behind a relay using
|
| +# consistent hashing), you'll need to list the ip address, cache query port, and instance name of each carbon-cache
|
| +# instance on the local machine (NOT every carbon-cache in the entire cluster). The default cache query port is 7002
|
| +# and a common scheme is to use 7102 for instance b, 7202 for instance c, etc.
|
| +#
|
| +# You *should* use 127.0.0.1 here in most cases
|
| +#CARBONLINK_HOSTS = ["127.0.0.1:7002:a", "127.0.0.1:7102:b", "127.0.0.1:7202:c"]
|
| +#CARBONLINK_TIMEOUT = 1.0
|
| +#CARBONLINK_RETRY_DELAY = 15 # Seconds to blacklist a failed remote server
|
| +
|
| +# A "keyfunc" is a user-defined python function that is given a metric name
|
| +# and returns a string that should be used when hashing the metric name.
|
| +# This is important when your hashing has to respect certain metric groupings.
|
| +#CARBONLINK_HASHING_KEYFUNC = "/opt/graphite/bin/keyfuncs.py:my_keyfunc"
|
| +
|
| +# Prefix set in carbon for the carbon specific metrics. Default in carbon is 'carbon'
|
| +#CARBON_METRIC_PREFIX='carbon'
|
| +
|
| +# The replication factor to use with consistent hashing
|
| +# This should usually match the value configured in Carbon
|
| +#REPLICATION_FACTOR = 1
|
| +
|
| +# How often should render.datalib.fetch() retry to get remote data
|
| +# MAX_FETCH_RETRIES = 2
|
| +
|
| +#####################################
|
| +# Additional Django Settings #
|
| +#####################################
|
| +# Uncomment the following line for direct access to Django settings such as
|
| +# MIDDLEWARE_CLASSES or APPS
|
| +#from graphite.app_settings import *
|
| +
|
| +
|
|
|