4a2ae2b460
Removed many StatsD logging calls in proxy-server and added swift-informant-style catch-all logging in the proxy-logger middleware. Many errors previously rolled into the "proxy-server.<type>.errors" counter will now appear broken down by response code and with timing data at: "proxy-server.<type>.<verb>.<status>.timing". Also, bytes transferred (sum of in + out) will be at: "proxy-server.<type>.<verb>.<status>.xfer". The proxy-logging middleware can get its StatsD config from standard vars in [DEFAULT] or from access_log_statsd_* config vars in its config section. Similarly to Swift Informant, request methods ("verbs") are filtered using the new proxy-logging config var, "log_statsd_valid_http_methods" which defaults to GET, HEAD, POST, PUT, DELETE, and COPY. Requests with methods not in this list use "BAD_METHOD" for <verb> in the metric name. To avoid user error, access_log_statsd_valid_http_methods is also accepted. Previously, proxy-server metrics used "Account", "Container", and "Object" for the <type>, but these are now all lowercase. Updated the admin guide's StatsD docs to reflect the above changes and also include the "proxy-server.<type>.handoff_count" and "proxy-server.<type>.handoff_all_count" metrics. The proxy server now saves off the original req.method and proxy_logging will use this if it can (both for request logging and as the "<verb>" in the statsd timing metric). This fixes bug 1025433. Removed some stale access_log_* related code in proxy/server.py. Also removed the BaseApplication/Application distinction as it's no longer necessary. Fixed up the sample config files a bit (logging lines, mostly). Fixed typo in SAIO development guide. Got proxy_logging.py test coverage to 100%. Fixed proxy_logging.py for PEP8 v1.3.2. Enhanced test.unit.FakeLogger to track more calls to enable testing StatsD metric calls. Change-Id: I45d94cb76450be96d66fcfab56359bdfdc3a2576
95 lines
2.8 KiB
Plaintext
95 lines
2.8 KiB
Plaintext
[DEFAULT]
|
|
# bind_ip = 0.0.0.0
|
|
# bind_port = 6002
|
|
# backlog = 4096
|
|
# workers = 1
|
|
# user = swift
|
|
# swift_dir = /etc/swift
|
|
# devices = /srv/node
|
|
# mount_check = true
|
|
# disable_fallocate = false
|
|
# You can specify default log routing here if you want:
|
|
# log_name = swift
|
|
# log_facility = LOG_LOCAL0
|
|
# log_level = INFO
|
|
# log_address = /dev/log
|
|
# If set, log_udp_host will override log_address
|
|
# log_udp_host =
|
|
# log_udp_port = 514
|
|
# You can enable StatsD logging here:
|
|
# log_statsd_host = localhost
|
|
# log_statsd_port = 8125
|
|
# log_statsd_default_sample_rate = 1
|
|
# log_statsd_metric_prefix =
|
|
# If you don't mind the extra disk space usage in overhead, you can turn this
|
|
# on to preallocate disk space with SQLite databases to decrease fragmentation.
|
|
# db_preallocation = off
|
|
|
|
[pipeline:main]
|
|
pipeline = recon account-server
|
|
|
|
[app:account-server]
|
|
use = egg:swift#account
|
|
# You can override the default log routing for this app here:
|
|
# set log_name = account-server
|
|
# set log_facility = LOG_LOCAL0
|
|
# set log_level = INFO
|
|
# set log_requests = True
|
|
# set log_address = /dev/log
|
|
# auto_create_account_prefix = .
|
|
|
|
[filter:recon]
|
|
use = egg:swift#recon
|
|
# recon_cache_path = /var/cache/swift
|
|
|
|
[account-replicator]
|
|
# You can override the default log routing for this app here (don't use set!):
|
|
# log_name = account-replicator
|
|
# log_facility = LOG_LOCAL0
|
|
# log_level = INFO
|
|
# log_address = /dev/log
|
|
# vm_test_mode = no
|
|
# per_diff = 1000
|
|
# max_diffs = 100
|
|
# concurrency = 8
|
|
# interval = 30
|
|
# How long without an error before a node's error count is reset. This will
|
|
# also be how long before a node is reenabled after suppression is triggered.
|
|
# error_suppression_interval = 60
|
|
# How many errors can accumulate before a node is temporarily ignored.
|
|
# error_suppression_limit = 10
|
|
# node_timeout = 10
|
|
# conn_timeout = 0.5
|
|
# The replicator also performs reclamation
|
|
# reclaim_age = 604800
|
|
# Time in seconds to wait between replication passes
|
|
# run_pause = 30
|
|
# recon_cache_path = /var/cache/swift
|
|
|
|
[account-auditor]
|
|
# You can override the default log routing for this app here (don't use set!):
|
|
# log_name = account-auditor
|
|
# log_facility = LOG_LOCAL0
|
|
# log_level = INFO
|
|
# log_address = /dev/log
|
|
# Will audit, at most, 1 account per device per interval
|
|
# interval = 1800
|
|
# log_facility = LOG_LOCAL0
|
|
# log_level = INFO
|
|
# recon_cache_path = /var/cache/swift
|
|
|
|
[account-reaper]
|
|
# You can override the default log routing for this app here (don't use set!):
|
|
# log_name = account-reaper
|
|
# log_facility = LOG_LOCAL0
|
|
# log_level = INFO
|
|
# log_address = /dev/log
|
|
# concurrency = 25
|
|
# interval = 3600
|
|
# node_timeout = 10
|
|
# conn_timeout = 0.5
|
|
# Normally, the reaper begins deleting account information for deleted accounts
|
|
# immediately; you can set this to delay its work however. The value is in
|
|
# seconds; 2592000 = 30 days for example.
|
|
# delay_reaping = 0
|