Skip to content

Instantly share code, notes, and snippets.

@mirajavora
Created February 3, 2016 22:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mirajavora/9f6b5cd402c5c6f27df5 to your computer and use it in GitHub Desktop.
Save mirajavora/9f6b5cd402c5c6f27df5 to your computer and use it in GitHub Desktop.
################################################################################
# Diamond Configuration File
################################################################################
################################################################################
### Options for the server
[server]
# Handlers for published metrics.
handlers = diamond.handler.graphite.GraphiteHandler
# User diamond will run as
# Leave empty to use the current user
user =
# Group diamond will run as
# Leave empty to use the current group
group =
# Pid file
pid_file = /var/run/diamond.pid
# Directory to load collector modules from
collectors_path = /usr/local/share/diamond/collectors/
# Directory to load collector configs from
collectors_config_path = /etc/diamond/collectors/
# Directory to load handler configs from
handlers_config_path = /etc/diamond/handlers/
handlers_path = /usr/share/diamond/handlers/
# Interval to reload collectors
collectors_reload_interval = 3600
################################################################################
### Options for handlers
[handlers]
# daemon logging handler(s)
keys = rotated_file
### Defaults options for all Handlers
[[default]]
[[GraphiteHandler]]
### Options for GraphiteHandler
# Graphite server host
host = {{ graphite_host }}
# Port to send metrics to
port = 2003
# Socket timeout (seconds)
timeout = 60
# Batch size for metrics
batch = 1
# And any other config settings from GraphiteHandler are valid here
keepalive = True
################################################################################
### Options for collectors
[collectors]
[[default]]
### Defaults options for all Collectors
# Uncomment and set to hardcode a hostname for the collector path
# Keep in mind, periods are seperators in graphite
# hostname = my_custom_hostname
# If you prefer to just use a different way of calculating the hostname
# Uncomment and set this to one of these values:
# smart = Default. Tries fqdn_short. If that's localhost, uses hostname_short
# fqdn_short = Default. Similar to hostname -s
# fqdn = hostname output
# fqdn_rev = hostname in reverse (com.example.www)
# uname_short = Similar to uname -n, but only the first part
# uname_rev = uname -r in reverse (com.example.www)
# hostname_short = `hostname -s`
# hostname = `hostname`
# hostname_rev = `hostname` in reverse (com.example.www)
# hostname_method = smart
# Path Prefix and Suffix
# you can use one or both to craft the path where you want to put metrics
# such as: %(path_prefix)s.$(hostname)s.$(path_suffix)s.$(metric)s
path_prefix = your-metrics
# path_suffix =
# Path Prefix for Virtual Machines
# If the host supports virtual machines, collectors may report per
# VM metrics. Following OpenStack nomenclature, the prefix for
# reporting per VM metrics is "instances", and metric foo for VM
# bar will be reported as: instances.bar.foo...
# instance_prefix = instances
# Default Poll Interval (seconds)
################################################################################
### Options for logging
# for more information on file format syntax:
# http://docs.python.org/library/logging.config.html#configuration-file-format
interval = 60
enabled = False
[[CPUCollector]]
enabled = True
interval = 60
[[MemoryCollector]]
enabled = True
interval = 60
[[DiskSpaceCollector]]
enabled = True
interval = 60
[[DiskUsageCollector]]
enabled = True
interval = 60
[[NetworkCollector]]
enabled = True
interval = 60
[[HealthCheckCollector]]
enabled = True
interval = 60
url = 'http://your-url-to-healthcheck'
[loggers]
keys = root
# handlers are higher in this config file, in:
# [handlers]
# keys = ...
[formatters]
keys = default
[logger_root]
# to increase verbosity, set DEBUG
level = INFO
handlers = rotated_file
propagate = 1
[handler_rotated_file]
class = handlers.TimedRotatingFileHandler
level = DEBUG
formatter = default
# rotate at midnight, each day and keep 7 days
args = ('/var/log/diamond/diamond.log', 'midnight', 1, 7)
[formatter_default]
format = [%(asctime)s] [%(threadName)s] %(message)s
datefmt =
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment