|
| 1 | +[common] |
| 2 | +# Run as user. Works only in daemon mode |
| 3 | +user = "carbon" |
| 4 | +# Prefix for store all internal go-carbon graphs. Supported macroses: {host} |
| 5 | +graph-prefix = "carbon.agents.{host}" |
| 6 | +# Endpoint for store internal carbon metrics. Valid values: "" or "local", "tcp://host:port", "udp://host:port" |
| 7 | +metric-endpoint = "local" |
| 8 | +# Interval of storing internal metrics. Like CARBON_METRIC_INTERVAL |
| 9 | +metric-interval = "1m0s" |
| 10 | +# Increase for configuration with multi persister workers |
| 11 | +max-cpu = 4 |
| 12 | + |
| 13 | +[whisper] |
| 14 | +data-dir = "/var/lib/graphite/whisper" |
| 15 | +# http://graphite.readthedocs.org/en/latest/config-carbon.html#storage-schemas-conf. Required |
| 16 | +schemas-file = "/etc/go-carbon/storage-schemas.conf" |
| 17 | +# http://graphite.readthedocs.org/en/latest/config-carbon.html#storage-aggregation-conf. Optional |
| 18 | +aggregation-file = "/etc/go-carbon/storage-aggregation.conf" |
| 19 | +# Worker threads count. Metrics sharded by "crc32(metricName) % workers" |
| 20 | +workers = 8 |
| 21 | +# Limits the number of whisper update_many() calls per second. 0 - no limit |
| 22 | +max-updates-per-second = 0 |
| 23 | +# Sparse file creation |
| 24 | +sparse-create = true |
| 25 | +enabled = true |
| 26 | + |
| 27 | +[cache] |
| 28 | +# Limit of in-memory stored points (not metrics) |
| 29 | +max-size = 1000000 |
| 30 | +# Capacity of queue between receivers and cache |
| 31 | +# Strategy to persist metrics. Values: "max","sorted","noop" |
| 32 | +# "max" - write metrics with most unwritten datapoints first |
| 33 | +# "sorted" - sort by timestamp of first unwritten datapoint. |
| 34 | +# "noop" - pick metrics to write in unspecified order, |
| 35 | +# requires least CPU and improves cache responsiveness |
| 36 | +write-strategy = "max" |
| 37 | + |
| 38 | +[udp] |
| 39 | +listen = ":2003" |
| 40 | +enabled = true |
| 41 | +# Enable optional logging of incomplete messages (chunked by max UDP packet size) |
| 42 | +log-incomplete = false |
| 43 | +# Optional internal queue between receiver and cache |
| 44 | +buffer-size = 0 |
| 45 | + |
| 46 | +[tcp] |
| 47 | +listen = ":2003" |
| 48 | +enabled = true |
| 49 | +# Optional internal queue between receiver and cache |
| 50 | +buffer-size = 0 |
| 51 | + |
| 52 | +[pickle] |
| 53 | +listen = ":2004" |
| 54 | +# Limit message size for prevent memory overflow |
| 55 | +max-message-size = 67108864 |
| 56 | +enabled = true |
| 57 | +# Optional internal queue between receiver and cache |
| 58 | +buffer-size = 0 |
| 59 | + |
| 60 | +[carbonlink] |
| 61 | +listen = "127.0.0.1:7002" |
| 62 | +enabled = false |
| 63 | +# Close inactive connections after "read-timeout" |
| 64 | +read-timeout = "30s" |
| 65 | + |
| 66 | +[carbonserver] |
| 67 | +# Please NOTE: carbonserver is not intended to fully replace graphite-web |
| 68 | +# It acts as a "REMOTE_STORAGE" for graphite-web or carbonzipper/carbonapi |
| 69 | +listen = "127.0.0.1:8080" |
| 70 | +# Carbonserver support is still experimental and may contain bugs |
| 71 | +# Or be incompatible with github.com/grobian/carbonserver |
| 72 | +enabled = true |
| 73 | +# Buckets to track response times |
| 74 | +buckets = 10 |
| 75 | +# carbonserver-specific metrics will be sent as counters |
| 76 | +# For compatibility with grobian/carbonserver |
| 77 | +metrics-as-counters = false |
| 78 | +# Read and Write timeouts for HTTP server |
| 79 | +read-timeout = "60s" |
| 80 | +write-timeout = "60s" |
| 81 | +# Enable /render cache, it will cache the result for 1 minute |
| 82 | +query-cache-enabled = true |
| 83 | +# 0 for unlimited |
| 84 | +query-cache-size-mb = 0 |
| 85 | +# Enable /metrics/find cache, it will cache the result for 5 minutes |
| 86 | +find-cache-enabled = true |
| 87 | +# Control trigram index |
| 88 | +# This index is used to speed-up /find requests |
| 89 | +# However, it will lead to increased memory consumption |
| 90 | +# Estimated memory consumption is approx. 500 bytes per each metric on disk |
| 91 | +# Another drawback is that it will recreate index every scan-frequency interval |
| 92 | +# All new/deleted metrics will still be searchable until index is recreated |
| 93 | +trigram-index = true |
| 94 | +# carbonserver keeps track of all available whisper files |
| 95 | +# in memory. This determines how often it will check FS |
| 96 | +# for new or deleted metrics. |
| 97 | +scan-frequency = "5m0s" |
| 98 | +# Maximum amount of globs in a single metric in index |
| 99 | +# This value is used to speed-up /find requests with |
| 100 | +# a lot of globs, but will lead to increased memory consumption |
| 101 | +max-globs = 100 |
| 102 | +# graphite-web-10-mode |
| 103 | +# Use Graphite-web 1.0 native structs for pickle response |
| 104 | +# This mode will break compatibility with graphite-web 0.9.x |
| 105 | +# If false, carbonserver won't send graphite-web 1.0 specific structs |
| 106 | +# That might degrade performance of the cluster |
| 107 | +# But will be compatible with both graphite-web 1.0 and 0.9.x |
| 108 | +graphite-web-10-strict-mode = true |
| 109 | + |
| 110 | +[dump] |
| 111 | +# Enable dump/restore function on USR2 signal |
| 112 | +enabled = true |
| 113 | +# Directory for store dump data. Should be writeable for carbon |
| 114 | +path = "/var/lib/graphite/dump/" |
| 115 | +# Restore speed. 0 - unlimited |
| 116 | +restore-per-second = 0 |
| 117 | + |
| 118 | +[pprof] |
| 119 | +listen = "localhost:7007" |
| 120 | +enabled = false |
| 121 | + |
| 122 | +# Default logger |
| 123 | +[[logging]] |
| 124 | +# logger name |
| 125 | +# available loggers: |
| 126 | +# * "" - default logger for all messages without configured special logger |
| 127 | +# @TODO |
| 128 | +logger = "" |
| 129 | +# Log output: filename, "stderr", "stdout", "none", "" (same as "stderr") |
| 130 | +file = "stdout" |
| 131 | +# Log level: "debug", "info", "warn", "error", "dpanic", "panic", and "fatal" |
| 132 | +level = "info" |
| 133 | +# Log format: "json", "console", "mixed" |
| 134 | +encoding = "mixed" |
| 135 | +# Log time format: "millis", "nanos", "epoch", "iso8601" |
| 136 | +encoding-time = "iso8601" |
| 137 | +# Log duration format: "seconds", "nanos", "string" |
| 138 | +encoding-duration = "seconds" |
| 139 | + |
| 140 | +# You can define multiply loggers: |
| 141 | + |
| 142 | +# Copy errors to stderr for systemd |
| 143 | +# [[logging]] |
| 144 | +# logger = "" |
| 145 | +# file = "stderr" |
| 146 | +# level = "error" |
| 147 | +# encoding = "mixed" |
| 148 | +# encoding-time = "iso8601" |
| 149 | +# encoding-duration = "seconds" |
0 commit comments