################################################################################ # Diamond Configuration File ################################################################################ ################################################################################ ### Options for the server [server] # Handlers for published metrics. handlers = diamond.handler.netuitive_handler.NetuitiveHandler # 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 = /opt/netuitive-agent/netuitive-agent.pid # Directory to load collector modules from collectors_path = /opt/netuitive-agent/collectors/ # Directory to load collector configs from collectors_config_path = /opt/netuitive-agent/conf/collectors/ # Directory to load handler configs from # handlers_config_path = /opt/netuitive-agent/conf/handlers/ # Directory to load handler modules from # handlers_path = /opt/netuitive-agent/handlers/ # Maximum number of metrics waiting to be processed by handlers. # When metric queue is full, new metrics are dropped. metric_queue_size = 16384 ################################################################################ ### Options for handlers [handlers] # daemon logging handler(s) keys = rotated_file ### Defaults options for all Handlers [[default]] [[NetuitiveHandler]] ### Metricly URL to post the metrics url = https://api.app.metricly.com/ingest/infrastructure ### Metricly Datasource api key api_key = ### Metricly Cloud HTTP Connection Timeout connection_timeout = 5 ### Uncomment to add tags # tags = tag1:tag1val, tag2:tag2val ### Uncomment to add relations # relations = element1, element2 # How many samples to store before sending to Metricly batch = 500 # how many batches to store before trimming max_backlog_multiplier = 5 # Trim down how many batches trim_backlog_multiplier = 4 # Write metric fqns to a local file. write_metric_fqns = False metric_fqns_path = /opt/netuitive-agent/log/metric_fqns.txt # local statsd server [[[statsd]]] enabled = False # listen_port = 8125 # listen_ip = 127.0.0.1 # forward_ip = 127.0.0.1 # forward_port = 9125 # forward = False ################################################################################ ### 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 separators 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) # shell = Run the string set in hostname as a shell command and use its # output(with spaces trimmed off from both ends) as the hostname. # 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 = servers # 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) interval = 60 splay = 1 method = threading simple = True [[SimpleCollector]] enabled = False [[BaseCollector]] enabled = True [[CPUCollector]] enabled = True simple = False percore = False include_cpu_pct = True [[DiskSpaceCollector]] enabled = True simple = True # exclude everything that begins /boot or /mnt, or contains devicemapper exclude_filters = ^/boot, ^/mnt, devicemapper [[DiskUsageCollector]] enabled = True devices = (PhysicalDrive[0-9]+$|md[0-9]+$|sd[a-z]+$|x?vd[a-z]+$|disk[0-9]+$|dm\-[0-9]+$|nvme[0-9]+(n[0-9]+)(p[0-9]+)?$) metrics_whitelist = (?:^.*\.io$|^.*\.average_queue_length$|^.*\.await$|^.*\.iops$|^.*\.read_await$|^.*\.reads$|^.*\.util_percentage|^.*\.write_await$|^.*\.writes$) [[LoadAverageCollector]] enabled = True simple = False [[MemoryCollector]] enabled = True [[VMStatCollector]] enabled = True [[NetworkCollector]] enabled = True metrics_whitelist = (?:^.*\.rx_byte$|^.*\.rx_errors$|^.*\.tx_byte$|^.*\.tx_errors$) [[NetuitiveDockerCollector]] enabled = False minimal = True ################################################################################ ### Options for logging # for more information on file format syntax: # http://docs.python.org/library/logging.config.html#configuration-file-format [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.ConcurrentRotatingFileHandler level = DEBUG formatter = default # rotate after reaching 512K, keep 5 old copies. args = ('/opt/netuitive-agent/log/netuitive-agent.log', 'a', 512*1024, 5) [formatter_default] format = [%(asctime)s] [%(threadName)s:%(processName)s:%(levelname)s] %(message)s datefmt = ################################################################################ ### Options for config merging # [configs] # path = "/etc/diamond/configs/" # extension = ".conf" #------------------------------------------------------------------------------- # Example: # /etc/diamond/configs/net.conf # [collectors] #