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 * |
+ |
+ |