├── .env.default ├── .gitignore ├── LICENSE ├── Makefile ├── README.md ├── docker-compose.yml ├── scripts ├── bash.sh ├── build.sh └── pull.sh ├── templates ├── influxdb.conf ├── kapacitor.conf └── telegraf.conf └── volumes ├── chronograf └── .gitkeep ├── config ├── .gitkeep └── telegraf.d │ └── .gitkeep ├── influxdb └── .gitkeep └── kapacitor └── .gitkeep /.env.default: -------------------------------------------------------------------------------- 1 | # Docker 2 | CONTAINER_NAMESPACE= 3 | TELEGRAF_VERSION=1.8-alpine 4 | INFLUXDB_VERSION=1.6-alpine 5 | CHRONOGRAF_VERSION=1.6-alpine 6 | KAPACITOR_VERSION=1.5-alpine 7 | 8 | # Nginx 9 | INFLUXDB_HOST=influxdb.company.io 10 | CHRONOGRAF_HOST=chronograf.company.io 11 | KAPACITOR_HOST=kapacitor.company.io 12 | LETSENCRYPT_EMAIL=contact@company.io 13 | 14 | # Influxdb 15 | INFLUXDB_DB=telegraf 16 | INFLUXDB_ADMIN_USER=admin 17 | INFLUXDB_ADMIN_PASSWORD=foopassword 18 | INFLUXDB_USER=company 19 | INFLUXDB_USER_PASSWORD=barpassword 20 | INFLUXDB_READ_USER=chronograf 21 | INFLUXDB_READ_USER_PASSWORD=bazpassword 22 | INFLUXDB_WRITE_USER=telegraf 23 | INFLUXDB_WRITE_USER_PASSWORD=quxpassword 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | volumes/ 2 | .history/ 3 | .idea/ 4 | .env 5 | .remote-sync.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License 2 | 3 | Copyright (c) 2017 Olivier Louvignes 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | SHELL := /bin/bash 2 | 3 | all: build 4 | 5 | bash: 6 | @bash scripts/bash.sh influxdb 7 | 8 | pull: 9 | @bash scripts/pull.sh 10 | 11 | build: 12 | @bash scripts/build.sh 13 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Compose file for the TICK stack! 2 | ## Telegraf, InfluxDB, Chronograf, Kapacitor 3 | 4 | [![License](https://img.shields.io/github/license/mgcrea/docker-compose-tick-stack.svg?style=flat)](https://tldrlegal.com/license/mit-license) 5 | [![Docker Stars](https://img.shields.io/docker/stars/_/influxdb.svg)](https://registry.hub.docker.com/u/_/influxdb/) 6 | [![Docker Pulls](https://img.shields.io/docker/pulls/_/influxdb.svg)](https://registry.hub.docker.com/u/_/influxdb/) 7 | 8 | Working `docker-compose.yml` for official [influxdata](https://www.influxdata.com/) TICK stack: 9 | 10 | - [telegraf](https://hub.docker.com/_/telegraf/) 11 | - [influxdb](https://hub.docker.com/_/influxdb/) 12 | - [chronograf](https://hub.docker.com/_/chronograf/) 13 | - [kapacitor](https://hub.docker.com/_/kapacitor/) 14 | 15 | Made to work behind a separate automated [nginx-proxy](https://github.com/jwilder/nginx-proxy) with SSL support via letsencrypt. 16 | 17 | ## Docs 18 | 19 | - [telegraf](https://docs.influxdata.com/telegraf/v1.8/administration/configuration/) 20 | - [influxdb](https://docs.influxdata.com/influxdb/v1.6/administration/config/) 21 | - [chronograf](https://docs.influxdata.com/chronograf/v1.6/administration/configuration/) 22 | - [kapacitor](https://docs.influxdata.com/kapacitor/v1.5/administration/configuration/) 23 | 24 | ## Configuration 25 | 26 | - [telegraf](https://github.com/influxdata/telegraf/blob/release-1.8/etc/telegraf.conf) 27 | 28 | Generate an up-to-date sample telegraf config 29 | 30 | ```bash 31 | bash scripts/bash.sh telegraf "telegraf config" > /tmp/telegraf.conf 32 | ``` 33 | 34 | - [influxdb](https://raw.githubusercontent.com/influxdata/influxdb/1.6/etc/config.sample.toml) 35 | 36 | Generate an up-to-date sample telegraf config 37 | 38 | ```bash 39 | bash scripts/bash.sh influxdb "influxd config" > /tmp/influxd.conf 40 | ``` 41 | 42 | - [chronograf](https://github.com/influxdata/chronograf/blob/1.6.x/etc/config.sample.toml) 43 | 44 | 45 | - [kapacitor](https://github.com/influxdata/kapacitor/blob/master/etc/kapacitor/kapacitor.conf) 46 | 47 | Generate an up-to-date sample kapacitor config 48 | 49 | ```bash 50 | bash scripts/bash.sh kapacitor "kapacitord config" > /tmp/kapacitord.conf 51 | ``` 52 | 53 | ## Quickstart 54 | 55 | - You can quickly start your compose gitlab instance (requires a working automated nginx_proxy compose instance) 56 | 57 | ```bash 58 | git clone git@github.com:mgcrea/docker-compose-tick-stack.git tick_stack; cd $_ 59 | cp .env.default .env; nano .env # edit your variables 60 | make 61 | docker-compose up -d 62 | ``` 63 | -------------------------------------------------------------------------------- /docker-compose.yml: -------------------------------------------------------------------------------- 1 | version: '3.3' 2 | services: 3 | telegraf: 4 | image: telegraf:${TELEGRAF_VERSION} 5 | command: -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d 6 | restart: always 7 | container_name: ${CONTAINER_NAMESPACE}telegraf 8 | hostname: telegraf 9 | volumes: 10 | - ./volumes/config/telegraf.conf:/etc/telegraf/telegraf.conf:ro 11 | - ./volumes/config/telegraf.d:/etc/telegraf/telegraf.d:ro 12 | depends_on: 13 | - influxdb 14 | networks: 15 | - default 16 | 17 | influxdb: 18 | image: influxdb:${INFLUXDB_VERSION} 19 | restart: always 20 | container_name: ${CONTAINER_NAMESPACE}influxdb 21 | hostname: influxdb 22 | environment: 23 | - VIRTUAL_HOST=${INFLUXDB_HOST} 24 | - VIRTUAL_PORT=8086 25 | - LETSENCRYPT_HOST=${INFLUXDB_HOST} 26 | - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL} 27 | volumes: 28 | - ./volumes/config/influxdb.conf:/etc/influxdb/influxdb.conf:ro 29 | - ./volumes/influxdb:/var/lib/influxdb:rw 30 | networks: 31 | default: 32 | aliases: 33 | - ${CONTAINER_NAMESPACE}influxdb 34 | nginx_proxy: 35 | 36 | chronograf: 37 | image: chronograf:${CHRONOGRAF_VERSION} 38 | restart: always 39 | container_name: ${CONTAINER_NAMESPACE}chronograf 40 | hostname: chronograf 41 | environment: 42 | - VIRTUAL_HOST=${CHRONOGRAF_HOST} 43 | - VIRTUAL_PORT=8888 44 | - LETSENCRYPT_HOST=${CHRONOGRAF_HOST} 45 | - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL} 46 | - INFLUXDB_URL=http://${CONTAINER_NAMESPACE}influxdb:8086 47 | - INFLUXDB_USERNAME=${INFLUXDB_ADMIN_USER} 48 | - INFLUXDB_PASSWORD=${INFLUXDB_ADMIN_PASSWORD} 49 | - KAPACITOR_URL=http://${CONTAINER_NAMESPACE}kapacitor:9092 50 | - KAPACITOR_USERNAME=${INFLUXDB_ADMIN_USER} 51 | - KAPACITOR_PASSWORD=${INFLUXDB_ADMIN_PASSWORD} 52 | volumes: 53 | - ./volumes/chronograf:/var/lib/chronograf:rw 54 | depends_on: 55 | - influxdb 56 | networks: 57 | default: 58 | aliases: 59 | - ${CONTAINER_NAMESPACE}chronograf 60 | nginx_proxy: 61 | 62 | kapacitor: 63 | image: kapacitor:${KAPACITOR_VERSION} 64 | restart: always 65 | container_name: ${CONTAINER_NAMESPACE}kapacitor 66 | hostname: kapacitor 67 | environment: 68 | - VIRTUAL_HOST=${KAPACITOR_HOST} 69 | - VIRTUAL_PORT=9092 70 | - LETSENCRYPT_HOST=${KAPACITOR_HOST} 71 | - LETSENCRYPT_EMAIL=${LETSENCRYPT_EMAIL} 72 | volumes: 73 | - ./volumes/config/kapacitor.conf:/etc/kapacitor/kapacitor.conf:ro 74 | - ./volumes/kapacitor:/var/lib/kapacitor:rw 75 | depends_on: 76 | - influxdb 77 | networks: 78 | default: 79 | aliases: 80 | - ${CONTAINER_NAMESPACE}kapacitor 81 | nginx_proxy: 82 | 83 | networks: 84 | nginx_proxy: 85 | external: 86 | name: nginx_proxy_default 87 | -------------------------------------------------------------------------------- /scripts/bash.sh: -------------------------------------------------------------------------------- 1 | source .env 2 | 3 | CMD=${2:-"/bin/sh"} 4 | 5 | case "$1" in 6 | "telegraf") 7 | DOCKER_IMAGE="${1}:${TELEGRAF_VERSION}" 8 | ;; 9 | "influxdb") 10 | DOCKER_IMAGE="${1}:${INFLUXDB_VERSION}" 11 | ;; 12 | "chronograf") 13 | DOCKER_IMAGE="${1}:${CHRONOGRAF_VERSION}" 14 | ;; 15 | "kapacitor") 16 | DOCKER_IMAGE="${1}:${KAPACITOR_VERSION}" 17 | ;; 18 | *) 19 | DOCKER_IMAGE="ubuntu:16.04" 20 | ;; 21 | esac 22 | 23 | >&2 echo "$ docker run --rm --net=host -it ${DOCKER_IMAGE} ${CMD}" 24 | docker run --rm --net=host -it ${DOCKER_IMAGE} ${CMD} 25 | -------------------------------------------------------------------------------- /scripts/build.sh: -------------------------------------------------------------------------------- 1 | set -a 2 | source .env 3 | 4 | >&2 echo "Building \"telegraf.conf\" via envsubst" 5 | envsubst < templates/telegraf.conf > "volumes/config/telegraf.conf" 6 | >&2 echo "Building \"influxdb.conf\" via envsubst" 7 | envsubst < templates/influxdb.conf > "volumes/config/influxdb.conf" 8 | >&2 echo "Building \"kapacitor.conf\" via envsubst" 9 | envsubst < templates/kapacitor.conf > "volumes/config/kapacitor.conf" 10 | 11 | ENV_VARS="" 12 | if [[ -v INFLUXDB_DB ]]; then ENV_VARS="${ENV_VARS} -e INFLUXDB_DB=${INFLUXDB_DB}"; fi 13 | if [[ -v INFLUXDB_ADMIN_USER ]]; then ENV_VARS="${ENV_VARS} -e INFLUXDB_ADMIN_USER=${INFLUXDB_ADMIN_USER}"; fi 14 | if [[ -v INFLUXDB_ADMIN_PASSWORD ]]; then ENV_VARS="${ENV_VARS} -e INFLUXDB_ADMIN_PASSWORD=${INFLUXDB_ADMIN_PASSWORD}"; fi 15 | if [[ -v INFLUXDB_USER ]]; then ENV_VARS="${ENV_VARS} -e INFLUXDB_USER=${INFLUXDB_USER}"; fi 16 | if [[ -v INFLUXDB_USER_PASSWORD ]]; then ENV_VARS="${ENV_VARS} -e INFLUXDB_USER_PASSWORD=${INFLUXDB_USER_PASSWORD}"; fi 17 | if [[ -v INFLUXDB_READ_USER ]]; then ENV_VARS="${ENV_VARS} -e INFLUXDB_READ_USER=${INFLUXDB_READ_USER}"; fi 18 | if [[ -v INFLUXDB_READ_USER_PASSWORD ]]; then ENV_VARS="${ENV_VARS} -e INFLUXDB_READ_USER_PASSWORD=${INFLUXDB_READ_USER_PASSWORD}"; fi 19 | if [[ -v INFLUXDB_WRITE_USER ]]; then ENV_VARS="${ENV_VARS} -e INFLUXDB_WRITE_USER=${INFLUXDB_WRITE_USER}"; fi 20 | if [[ -v INFLUXDB_WRITE_USER_PASSWORD ]]; then ENV_VARS="${ENV_VARS} -e INFLUXDB_WRITE_USER_PASSWORD=${INFLUXDB_WRITE_USER_PASSWORD}"; fi 21 | 22 | >&2 echo "Initializing InfluxDB database" 23 | docker run --rm $ENV_VARS \ 24 | -v $PWD/volumes/config/influxdb.conf:/etc/influxdb/influxdb.conf:ro \ 25 | -v $PWD/volumes/influxdb:/var/lib/influxdb:rw \ 26 | influxdb:${INFLUXDB_VERSION} /init-influxdb.sh 27 | -------------------------------------------------------------------------------- /scripts/pull.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # source .env 4 | 5 | # docker pull telegraf:${TELEGRAF_VERSION} 6 | # docker pull influxdb:${INFLUXDB_VERSION} 7 | # docker pull chronograf:${CHRONOGRAF_VERSION} 8 | # docker pull kapacitor:${KAPACITOR_VERSION} 9 | 10 | >&2 echo "Pulling latest images from Docker registry" 11 | cat docker-compose.yml | grep image: | cut -d':' -f2-3 | while read line; do docker pull $line; done -------------------------------------------------------------------------------- /templates/influxdb.conf: -------------------------------------------------------------------------------- 1 | ### Welcome to the InfluxDB configuration file. 2 | 3 | # The values in this file override the default values used by the system if 4 | # a config option is not specified. The commented out lines are the configuration 5 | # field and the default value used. Uncommenting a line and changing the value 6 | # will change the value used at runtime when the process is restarted. 7 | 8 | # Once every 24 hours InfluxDB will report usage data to usage.influxdata.com 9 | # The data includes a random ID, os, arch, version, the number of series and other 10 | # usage data. No data from user databases is ever transmitted. 11 | # Change this option to true to disable reporting. 12 | # reporting-disabled = false 13 | 14 | # Bind address to use for the RPC service for backup and restore. 15 | # bind-address = "127.0.0.1:8088" 16 | 17 | ### 18 | ### [meta] 19 | ### 20 | ### Controls the parameters for the Raft consensus group that stores metadata 21 | ### about the InfluxDB cluster. 22 | ### 23 | 24 | [meta] 25 | # Where the metadata/raft database is stored 26 | dir = "/var/lib/influxdb/meta" 27 | 28 | # Automatically create a default retention policy when creating a database. 29 | # retention-autocreate = true 30 | 31 | # If log messages are printed for the meta service 32 | # logging-enabled = true 33 | 34 | ### 35 | ### [data] 36 | ### 37 | ### Controls where the actual shard data for InfluxDB lives and how it is 38 | ### flushed from the WAL. "dir" may need to be changed to a suitable place 39 | ### for your system, but the WAL settings are an advanced configuration. The 40 | ### defaults should work for most systems. 41 | ### 42 | 43 | [data] 44 | # The directory where the TSM storage engine stores TSM files. 45 | dir = "/var/lib/influxdb/data" 46 | 47 | # The directory where the TSM storage engine stores WAL files. 48 | wal-dir = "/var/lib/influxdb/wal" 49 | 50 | # The amount of time that a write will wait before fsyncing. A duration 51 | # greater than 0 can be used to batch up multiple fsync calls. This is useful for slower 52 | # disks or when WAL write contention is seen. A value of 0s fsyncs every write to the WAL. 53 | # Values in the range of 0-100ms are recommended for non-SSD disks. 54 | # wal-fsync-delay = "0s" 55 | 56 | 57 | # The type of shard index to use for new shards. The default is an in-memory index that is 58 | # recreated at startup. A value of "tsi1" will use a disk based index that supports higher 59 | # cardinality datasets. 60 | # index-version = "inmem" 61 | 62 | # Trace logging provides more verbose output around the tsm engine. Turning 63 | # this on can provide more useful output for debugging tsm engine issues. 64 | # trace-logging-enabled = false 65 | 66 | # Whether queries should be logged before execution. Very useful for troubleshooting, but will 67 | # log any sensitive data contained within a query. 68 | # query-log-enabled = true 69 | 70 | # Settings for the TSM engine 71 | 72 | # CacheMaxMemorySize is the maximum size a shard's cache can 73 | # reach before it starts rejecting writes. 74 | # Valid size suffixes are k, m, or g (case insensitive, 1024 = 1k). 75 | # Values without a size suffix are in bytes. 76 | # cache-max-memory-size = "1g" 77 | 78 | # CacheSnapshotMemorySize is the size at which the engine will 79 | # snapshot the cache and write it to a TSM file, freeing up memory 80 | # Valid size suffixes are k, m, or g (case insensitive, 1024 = 1k). 81 | # Values without a size suffix are in bytes. 82 | # cache-snapshot-memory-size = "25m" 83 | 84 | # CacheSnapshotWriteColdDuration is the length of time at 85 | # which the engine will snapshot the cache and write it to 86 | # a new TSM file if the shard hasn't received writes or deletes 87 | # cache-snapshot-write-cold-duration = "10m" 88 | 89 | # CompactFullWriteColdDuration is the duration at which the engine 90 | # will compact all TSM files in a shard if it hasn't received a 91 | # write or delete 92 | # compact-full-write-cold-duration = "4h" 93 | 94 | # The maximum number of concurrent full and level compactions that can run at one time. A 95 | # value of 0 results in 50% of runtime.GOMAXPROCS(0) used at runtime. Any number greater 96 | # than 0 limits compactions to that value. This setting does not apply 97 | # to cache snapshotting. 98 | # max-concurrent-compactions = 0 99 | 100 | # The threshold, in bytes, when an index write-ahead log file will compact 101 | # into an index file. Lower sizes will cause log files to be compacted more 102 | # quickly and result in lower heap usage at the expense of write throughput. 103 | # Higher sizes will be compacted less frequently, store more series in-memory, 104 | # and provide higher write throughput. 105 | # Valid size suffixes are k, m, or g (case insensitive, 1024 = 1k). 106 | # Values without a size suffix are in bytes. 107 | # max-index-log-file-size = "1m" 108 | 109 | # The maximum series allowed per database before writes are dropped. This limit can prevent 110 | # high cardinality issues at the database level. This limit can be disabled by setting it to 111 | # 0. 112 | # max-series-per-database = 1000000 113 | 114 | # The maximum number of tag values per tag that are allowed before writes are dropped. This limit 115 | # can prevent high cardinality tag values from being written to a measurement. This limit can be 116 | # disabled by setting it to 0. 117 | # max-values-per-tag = 100000 118 | 119 | # If true, then the mmap advise value MADV_WILLNEED will be provided to the kernel with respect to 120 | # TSM files. This setting has been found to be problematic on some kernels, and defaults to off. 121 | # It might help users who have slow disks in some cases. 122 | # tsm-use-madv-willneed = false 123 | 124 | ### 125 | ### [coordinator] 126 | ### 127 | ### Controls the clustering service configuration. 128 | ### 129 | 130 | [coordinator] 131 | # The default time a write request will wait until a "timeout" error is returned to the caller. 132 | # write-timeout = "10s" 133 | 134 | # The maximum number of concurrent queries allowed to be executing at one time. If a query is 135 | # executed and exceeds this limit, an error is returned to the caller. This limit can be disabled 136 | # by setting it to 0. 137 | # max-concurrent-queries = 0 138 | 139 | # The maximum time a query will is allowed to execute before being killed by the system. This limit 140 | # can help prevent run away queries. Setting the value to 0 disables the limit. 141 | # query-timeout = "0s" 142 | 143 | # The time threshold when a query will be logged as a slow query. This limit can be set to help 144 | # discover slow or resource intensive queries. Setting the value to 0 disables the slow query logging. 145 | # log-queries-after = "0s" 146 | 147 | # The maximum number of points a SELECT can process. A value of 0 will make 148 | # the maximum point count unlimited. This will only be checked every second so queries will not 149 | # be aborted immediately when hitting the limit. 150 | # max-select-point = 0 151 | 152 | # The maximum number of series a SELECT can run. A value of 0 will make the maximum series 153 | # count unlimited. 154 | # max-select-series = 0 155 | 156 | # The maxium number of group by time bucket a SELECT can create. A value of zero will max the maximum 157 | # number of buckets unlimited. 158 | # max-select-buckets = 0 159 | 160 | ### 161 | ### [retention] 162 | ### 163 | ### Controls the enforcement of retention policies for evicting old data. 164 | ### 165 | 166 | [retention] 167 | # Determines whether retention policy enforcement enabled. 168 | # enabled = true 169 | 170 | # The interval of time when retention policy enforcement checks run. 171 | # check-interval = "30m" 172 | 173 | ### 174 | ### [shard-precreation] 175 | ### 176 | ### Controls the precreation of shards, so they are available before data arrives. 177 | ### Only shards that, after creation, will have both a start- and end-time in the 178 | ### future, will ever be created. Shards are never precreated that would be wholly 179 | ### or partially in the past. 180 | 181 | [shard-precreation] 182 | # Determines whether shard pre-creation service is enabled. 183 | # enabled = true 184 | 185 | # The interval of time when the check to pre-create new shards runs. 186 | # check-interval = "10m" 187 | 188 | # The default period ahead of the endtime of a shard group that its successor 189 | # group is created. 190 | # advance-period = "30m" 191 | 192 | ### 193 | ### Controls the system self-monitoring, statistics and diagnostics. 194 | ### 195 | ### The internal database for monitoring data is created automatically if 196 | ### if it does not already exist. The target retention within this database 197 | ### is called 'monitor' and is also created with a retention period of 7 days 198 | ### and a replication factor of 1, if it does not exist. In all cases the 199 | ### this retention policy is configured as the default for the database. 200 | 201 | [monitor] 202 | # Whether to record statistics internally. 203 | # store-enabled = true 204 | 205 | # The destination database for recorded statistics 206 | # store-database = "_internal" 207 | 208 | # The interval at which to record statistics 209 | # store-interval = "10s" 210 | 211 | ### 212 | ### [http] 213 | ### 214 | ### Controls how the HTTP endpoints are configured. These are the primary 215 | ### mechanism for getting data into and out of InfluxDB. 216 | ### 217 | 218 | [http] 219 | # Determines whether HTTP endpoint is enabled. 220 | # enabled = true 221 | 222 | # The bind address used by the HTTP service. 223 | # bind-address = ":8086" 224 | 225 | # Determines whether user authentication is enabled over HTTP/HTTPS. 226 | # auth-enabled = false 227 | 228 | # The default realm sent back when issuing a basic auth challenge. 229 | # realm = "InfluxDB" 230 | 231 | # Determines whether HTTP request logging is enabled. 232 | # log-enabled = true 233 | 234 | # Determines whether the HTTP write request logs should be suppressed when the log is enabled. 235 | # suppress-write-log = false 236 | 237 | # When HTTP request logging is enabled, this option specifies the path where 238 | # log entries should be written. If unspecified, the default is to write to stderr, which 239 | # intermingles HTTP logs with internal InfluxDB logging. 240 | # 241 | # If influxd is unable to access the specified path, it will log an error and fall back to writing 242 | # the request log to stderr. 243 | # access-log-path = "" 244 | 245 | # Determines whether detailed write logging is enabled. 246 | # write-tracing = false 247 | 248 | # Determines whether the pprof endpoint is enabled. This endpoint is used for 249 | # troubleshooting and monitoring. 250 | # pprof-enabled = true 251 | 252 | # Enables a pprof endpoint that binds to localhost:6060 immediately on startup. 253 | # This is only needed to debug startup issues. 254 | # debug-pprof-enabled = false 255 | 256 | # Determines whether HTTPS is enabled. 257 | # https-enabled = false 258 | 259 | # The SSL certificate to use when HTTPS is enabled. 260 | # https-certificate = "/etc/ssl/influxdb.pem" 261 | 262 | # Use a separate private key location. 263 | # https-private-key = "" 264 | 265 | # The JWT auth shared secret to validate requests using JSON web tokens. 266 | # shared-secret = "" 267 | 268 | # The default chunk size for result sets that should be chunked. 269 | # max-row-limit = 0 270 | 271 | # The maximum number of HTTP connections that may be open at once. New connections that 272 | # would exceed this limit are dropped. Setting this value to 0 disables the limit. 273 | # max-connection-limit = 0 274 | 275 | # Enable http service over unix domain socket 276 | # unix-socket-enabled = false 277 | 278 | # The path of the unix domain socket. 279 | # bind-socket = "/var/run/influxdb.sock" 280 | 281 | # The maximum size of a client request body, in bytes. Setting this value to 0 disables the limit. 282 | # max-body-size = 25000000 283 | 284 | # The maximum number of writes processed concurrently. 285 | # Setting this to 0 disables the limit. 286 | # max-concurrent-write-limit = 0 287 | 288 | # The maximum number of writes queued for processing. 289 | # Setting this to 0 disables the limit. 290 | # max-enqueued-write-limit = 0 291 | 292 | # The maximum duration for a write to wait in the queue to be processed. 293 | # Setting this to 0 or setting max-concurrent-write-limit to 0 disables the limit. 294 | # enqueued-write-timeout = 0 295 | 296 | 297 | ### 298 | ### [ifql] 299 | ### 300 | ### Configures the ifql RPC API. 301 | ### 302 | 303 | [ifql] 304 | # Determines whether the RPC service is enabled. 305 | # enabled = true 306 | 307 | # Determines whether additional logging is enabled. 308 | # log-enabled = true 309 | 310 | # The bind address used by the ifql RPC service. 311 | # bind-address = ":8082" 312 | 313 | 314 | ### 315 | ### [logging] 316 | ### 317 | ### Controls how the logger emits logs to the output. 318 | ### 319 | 320 | [logging] 321 | # Determines which log encoder to use for logs. Available options 322 | # are auto, logfmt, and json. auto will use a more a more user-friendly 323 | # output format if the output terminal is a TTY, but the format is not as 324 | # easily machine-readable. When the output is a non-TTY, auto will use 325 | # logfmt. 326 | # format = "auto" 327 | 328 | # Determines which level of logs will be emitted. The available levels 329 | # are error, warn, info, and debug. Logs that are equal to or above the 330 | # specified level will be emitted. 331 | # level = "info" 332 | 333 | # Suppresses the logo output that is printed when the program is started. 334 | # The logo is always suppressed if STDOUT is not a TTY. 335 | # suppress-logo = false 336 | 337 | ### 338 | ### [subscriber] 339 | ### 340 | ### Controls the subscriptions, which can be used to fork a copy of all data 341 | ### received by the InfluxDB host. 342 | ### 343 | 344 | [subscriber] 345 | # Determines whether the subscriber service is enabled. 346 | # enabled = true 347 | 348 | # The default timeout for HTTP writes to subscribers. 349 | # http-timeout = "30s" 350 | 351 | # Allows insecure HTTPS connections to subscribers. This is useful when testing with self- 352 | # signed certificates. 353 | # insecure-skip-verify = false 354 | 355 | # The path to the PEM encoded CA certs file. If the empty string, the default system certs will be used 356 | # ca-certs = "" 357 | 358 | # The number of writer goroutines processing the write channel. 359 | # write-concurrency = 40 360 | 361 | # The number of in-flight writes buffered in the write channel. 362 | # write-buffer-size = 1000 363 | 364 | 365 | ### 366 | ### [[graphite]] 367 | ### 368 | ### Controls one or many listeners for Graphite data. 369 | ### 370 | 371 | [[graphite]] 372 | # Determines whether the graphite endpoint is enabled. 373 | # enabled = false 374 | # database = "graphite" 375 | # retention-policy = "" 376 | # bind-address = ":2003" 377 | # protocol = "tcp" 378 | # consistency-level = "one" 379 | 380 | # These next lines control how batching works. You should have this enabled 381 | # otherwise you could get dropped metrics or poor performance. Batching 382 | # will buffer points in memory if you have many coming in. 383 | 384 | # Flush if this many points get buffered 385 | # batch-size = 5000 386 | 387 | # number of batches that may be pending in memory 388 | # batch-pending = 10 389 | 390 | # Flush at least this often even if we haven't hit buffer limit 391 | # batch-timeout = "1s" 392 | 393 | # UDP Read buffer size, 0 means OS default. UDP listener will fail if set above OS max. 394 | # udp-read-buffer = 0 395 | 396 | ### This string joins multiple matching 'measurement' values providing more control over the final measurement name. 397 | # separator = "." 398 | 399 | ### Default tags that will be added to all metrics. These can be overridden at the template level 400 | ### or by tags extracted from metric 401 | # tags = ["region=us-east", "zone=1c"] 402 | 403 | ### Each template line requires a template pattern. It can have an optional 404 | ### filter before the template and separated by spaces. It can also have optional extra 405 | ### tags following the template. Multiple tags should be separated by commas and no spaces 406 | ### similar to the line protocol format. There can be only one default template. 407 | # templates = [ 408 | # "*.app env.service.resource.measurement", 409 | # # Default template 410 | # "server.*", 411 | # ] 412 | 413 | ### 414 | ### [collectd] 415 | ### 416 | ### Controls one or many listeners for collectd data. 417 | ### 418 | 419 | [[collectd]] 420 | # enabled = false 421 | # bind-address = ":25826" 422 | # database = "collectd" 423 | # retention-policy = "" 424 | # 425 | # The collectd service supports either scanning a directory for multiple types 426 | # db files, or specifying a single db file. 427 | # typesdb = "/usr/local/share/collectd" 428 | # 429 | # security-level = "none" 430 | # auth-file = "/etc/collectd/auth_file" 431 | 432 | # These next lines control how batching works. You should have this enabled 433 | # otherwise you could get dropped metrics or poor performance. Batching 434 | # will buffer points in memory if you have many coming in. 435 | 436 | # Flush if this many points get buffered 437 | # batch-size = 5000 438 | 439 | # Number of batches that may be pending in memory 440 | # batch-pending = 10 441 | 442 | # Flush at least this often even if we haven't hit buffer limit 443 | # batch-timeout = "10s" 444 | 445 | # UDP Read buffer size, 0 means OS default. UDP listener will fail if set above OS max. 446 | # read-buffer = 0 447 | 448 | # Multi-value plugins can be handled two ways. 449 | # "split" will parse and store the multi-value plugin data into separate measurements 450 | # "join" will parse and store the multi-value plugin as a single multi-value measurement. 451 | # "split" is the default behavior for backward compatability with previous versions of influxdb. 452 | # parse-multivalue-plugin = "split" 453 | ### 454 | ### [opentsdb] 455 | ### 456 | ### Controls one or many listeners for OpenTSDB data. 457 | ### 458 | 459 | [[opentsdb]] 460 | # enabled = false 461 | # bind-address = ":4242" 462 | # database = "opentsdb" 463 | # retention-policy = "" 464 | # consistency-level = "one" 465 | # tls-enabled = false 466 | # certificate= "/etc/ssl/influxdb.pem" 467 | 468 | # Log an error for every malformed point. 469 | # log-point-errors = true 470 | 471 | # These next lines control how batching works. You should have this enabled 472 | # otherwise you could get dropped metrics or poor performance. Only points 473 | # metrics received over the telnet protocol undergo batching. 474 | 475 | # Flush if this many points get buffered 476 | # batch-size = 1000 477 | 478 | # Number of batches that may be pending in memory 479 | # batch-pending = 5 480 | 481 | # Flush at least this often even if we haven't hit buffer limit 482 | # batch-timeout = "1s" 483 | 484 | ### 485 | ### [[udp]] 486 | ### 487 | ### Controls the listeners for InfluxDB line protocol data via UDP. 488 | ### 489 | 490 | [[udp]] 491 | # enabled = false 492 | # bind-address = ":8089" 493 | # database = "udp" 494 | # retention-policy = "" 495 | 496 | # InfluxDB precision for timestamps on received points ("" or "n", "u", "ms", "s", "m", "h") 497 | # precision = "" 498 | 499 | # These next lines control how batching works. You should have this enabled 500 | # otherwise you could get dropped metrics or poor performance. Batching 501 | # will buffer points in memory if you have many coming in. 502 | 503 | # Flush if this many points get buffered 504 | # batch-size = 5000 505 | 506 | # Number of batches that may be pending in memory 507 | # batch-pending = 10 508 | 509 | # Will flush at least this often even if we haven't hit buffer limit 510 | # batch-timeout = "1s" 511 | 512 | # UDP Read buffer size, 0 means OS default. UDP listener will fail if set above OS max. 513 | # read-buffer = 0 514 | 515 | ### 516 | ### [continuous_queries] 517 | ### 518 | ### Controls how continuous queries are run within InfluxDB. 519 | ### 520 | 521 | [continuous_queries] 522 | # Determines whether the continuous query service is enabled. 523 | # enabled = true 524 | 525 | # Controls whether queries are logged when executed by the CQ service. 526 | # log-enabled = true 527 | 528 | # Controls whether queries are logged to the self-monitoring data store. 529 | # query-stats-enabled = false 530 | 531 | # interval for how often continuous queries will be checked if they need to run 532 | # run-interval = "1s" 533 | 534 | ### 535 | ### [tls] 536 | ### 537 | ### Global configuration settings for TLS in InfluxDB. 538 | ### 539 | 540 | [tls] 541 | # Determines the available set of cipher suites. See https://golang.org/pkg/crypto/tls/#pkg-constants 542 | # for a list of available ciphers, which depends on the version of Go (use the query 543 | # SHOW DIAGNOSTICS to see the version of Go used to build InfluxDB). If not specified, uses 544 | # the default settings from Go's crypto/tls package. 545 | # ciphers = [ 546 | # "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305", 547 | # "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", 548 | # ] 549 | 550 | # Minimum version of the tls protocol that will be negotiated. If not specified, uses the 551 | # default settings from Go's crypto/tls package. 552 | # min-version = "tls1.2" 553 | 554 | # Maximum version of the tls protocol that will be negotiated. If not specified, uses the 555 | # default settings from Go's crypto/tls package. 556 | # max-version = "tls1.2" -------------------------------------------------------------------------------- /templates/kapacitor.conf: -------------------------------------------------------------------------------- 1 | data_dir = "/var/lib/kapacitor" 2 | skip-config-overrides = false 3 | default-retention-policy = "" 4 | 5 | [http] 6 | bind-address = ":9092" 7 | auth-enabled = true 8 | log-enabled = true 9 | write-tracing = false 10 | pprof-enabled = false 11 | https-enabled = false 12 | https-certificate = "/etc/ssl/kapacitor.pem" 13 | https-private-key = "" 14 | shutdown-timeout = "10s" 15 | shared-secret = "" 16 | 17 | [replay] 18 | dir = "/var/lib/kapacitor/replay" 19 | 20 | [storage] 21 | boltdb = "/var/lib/kapacitor/kapacitor.db" 22 | 23 | [task] 24 | dir = "/root/.kapacitor/tasks" 25 | snapshot-interval = "1m0s" 26 | 27 | [load] 28 | enabled = false 29 | dir = "/root/.kapacitor/load" 30 | 31 | [[influxdb]] 32 | enabled = true 33 | name = "default" 34 | default = false 35 | urls = ["http://${CONTAINER_NAMESPACE}influxdb:8086"] 36 | username = "${INFLUXDB_ADMIN_USER}" 37 | password = "${INFLUXDB_ADMIN_PASSWORD}" 38 | ssl-ca = "" 39 | ssl-cert = "" 40 | ssl-key = "" 41 | insecure-skip-verify = false 42 | timeout = "0s" 43 | disable-subscriptions = false 44 | subscription-protocol = "http" 45 | subscription-mode = "cluster" 46 | kapacitor-hostname = "" 47 | http-port = 0 48 | udp-bind = "" 49 | udp-buffer = 1000 50 | udp-read-buffer = 0 51 | startup-timeout = "5m0s" 52 | subscriptions-sync-interval = "1m0s" 53 | [influxdb.excluded-subscriptions] 54 | _kapacitor = ["autogen"] 55 | 56 | [logging] 57 | file = "STDERR" 58 | level = "DEBUG" 59 | 60 | [config-override] 61 | enabled = true 62 | 63 | [collectd] 64 | enabled = false 65 | bind-address = ":25826" 66 | database = "collectd" 67 | retention-policy = "" 68 | batch-size = 5000 69 | batch-pending = 10 70 | batch-timeout = "10s" 71 | read-buffer = 0 72 | typesdb = "/usr/share/collectd/types.db" 73 | 74 | [opentsdb] 75 | enabled = false 76 | bind-address = ":4242" 77 | database = "opentsdb" 78 | retention-policy = "" 79 | consistency-level = "one" 80 | tls-enabled = false 81 | certificate = "/etc/ssl/influxdb.pem" 82 | batch-size = 1000 83 | batch-pending = 5 84 | batch-timeout = "1s" 85 | log-point-errors = true 86 | 87 | [alerta] 88 | enabled = false 89 | url = "" 90 | insecure-skip-verify = false 91 | token = "" 92 | token-prefix = "" 93 | environment = "" 94 | origin = "" 95 | timeout = "0s" 96 | 97 | [hipchat] 98 | enabled = false 99 | url = "" 100 | token = "" 101 | room = "" 102 | global = false 103 | state-changes-only = false 104 | 105 | [[kafka]] 106 | enabled = false 107 | id = "default" 108 | timeout = "0s" 109 | batch-size = 0 110 | batch-timeout = "0s" 111 | use-ssl = false 112 | ssl-ca = "" 113 | ssl-cert = "" 114 | ssl-key = "" 115 | insecure-skip-verify = false 116 | 117 | [[mqtt]] 118 | enabled = false 119 | name = "default" 120 | default = false 121 | url = "" 122 | ssl-ca = "" 123 | ssl-cert = "" 124 | ssl-key = "" 125 | insecure-skip-verify = false 126 | client-id = "" 127 | username = "" 128 | password = "" 129 | 130 | [opsgenie] 131 | enabled = false 132 | api-key = "" 133 | url = "https://api.opsgenie.com/v1/json/alert" 134 | recovery_url = "https://api.opsgenie.com/v1/json/alert/note" 135 | global = false 136 | 137 | [opsgenie2] 138 | enabled = false 139 | api-key = "" 140 | url = "https://api.opsgenie.com/v2/alerts" 141 | recovery_action = "notes" 142 | global = false 143 | 144 | [pagerduty] 145 | enabled = false 146 | url = "https://events.pagerduty.com/generic/2010-04-15/create_event.json" 147 | service-key = "" 148 | global = false 149 | 150 | [pagerduty2] 151 | enabled = false 152 | url = "https://events.pagerduty.com/v2/enqueue" 153 | routing-key = "" 154 | global = false 155 | 156 | [pushover] 157 | enabled = false 158 | token = "" 159 | user-key = "" 160 | url = "https://api.pushover.net/1/messages.json" 161 | 162 | [[httppost]] 163 | endpoint = "example" 164 | url = "http://example.com" 165 | alert-template = "" 166 | alert-template-file = "" 167 | row-template = "" 168 | row-template-file = "" 169 | [httppost.basic-auth] 170 | username = "" 171 | password = "" 172 | 173 | [smtp] 174 | enabled = false 175 | host = "localhost" 176 | port = 25 177 | username = "" 178 | password = "" 179 | no-verify = false 180 | global = false 181 | state-changes-only = false 182 | from = "" 183 | idle-timeout = "30s" 184 | 185 | [snmptrap] 186 | enabled = false 187 | addr = "localhost:162" 188 | community = "kapacitor" 189 | retries = 1 190 | 191 | [sensu] 192 | enabled = false 193 | addr = "" 194 | source = "Kapacitor" 195 | 196 | [[slack]] 197 | enabled = false 198 | default = true 199 | workspace = "" 200 | url = "" 201 | channel = "" 202 | username = "kapacitor" 203 | icon-emoji = "" 204 | global = false 205 | state-changes-only = false 206 | ssl-ca = "" 207 | ssl-cert = "" 208 | ssl-key = "" 209 | insecure-skip-verify = false 210 | 211 | [talk] 212 | enabled = false 213 | url = "" 214 | author_name = "" 215 | 216 | [telegram] 217 | enabled = false 218 | url = "https://api.telegram.org/bot" 219 | token = "" 220 | chat-id = "" 221 | parse-mode = "" 222 | disable-web-page-preview = false 223 | disable-notification = false 224 | global = false 225 | state-changes-only = false 226 | 227 | [victorops] 228 | enabled = false 229 | api-key = "" 230 | routing-key = "" 231 | url = "https://alert.victorops.com/integrations/generic/20131114/alert" 232 | global = false 233 | json-data = false 234 | 235 | [reporting] 236 | enabled = true 237 | url = "https://usage.influxdata.com" 238 | 239 | [stats] 240 | enabled = true 241 | stats-interval = "10s" 242 | database = "_kapacitor" 243 | retention-policy = "autogen" 244 | timing-sample-rate = 0.1 245 | timing-movavg-size = 1000 246 | 247 | [udf] 248 | 249 | [deadman] 250 | interval = "10s" 251 | threshold = 0.0 252 | id = "{{ .Group }}:NODE_NAME for task '{{ .TaskName }}'" 253 | message = "{{ .ID }} is {{ if eq .Level \"OK\" }}alive{{ else }}dead{{ end }}: {{ index .Fields \"emitted\" | printf \"%0.3f\" }} points/INTERVAL." 254 | global = false 255 | -------------------------------------------------------------------------------- /templates/telegraf.conf: -------------------------------------------------------------------------------- 1 | # Telegraf Configuration 2 | # 3 | # Telegraf is entirely plugin driven. All metrics are gathered from the 4 | # declared inputs, and sent to the declared outputs. 5 | # 6 | # Plugins must be declared in here to be active. 7 | # To deactivate a plugin, comment out the name and any variables. 8 | # 9 | # Use 'telegraf -config telegraf.conf -test' to see what metrics a config 10 | # file would generate. 11 | # 12 | # Environment variables can be used anywhere in this config file, simply prepend 13 | # them with $. For strings the variable must be within quotes (ie, "$STR_VAR"), 14 | # for numbers and booleans they should be plain (ie, $INT_VAR, $BOOL_VAR) 15 | 16 | 17 | # Global tags can be specified here in key="value" format. 18 | [global_tags] 19 | # dc = "us-east-1" # will tag all metrics with dc=us-east-1 20 | # rack = "1a" 21 | ## Environment variables can be used as tags, and throughout the config file 22 | # user = "$USER" 23 | 24 | 25 | # Configuration for telegraf agent 26 | [agent] 27 | ## Default data collection interval for all inputs 28 | interval = "10s" 29 | ## Rounds collection interval to 'interval' 30 | ## ie, if interval="10s" then always collect on :00, :10, :20, etc. 31 | round_interval = true 32 | 33 | ## Telegraf will send metrics to outputs in batches of at most 34 | ## metric_batch_size metrics. 35 | ## This controls the size of writes that Telegraf sends to output plugins. 36 | metric_batch_size = 1000 37 | 38 | ## For failed writes, telegraf will cache metric_buffer_limit metrics for each 39 | ## output, and will flush this buffer on a successful write. Oldest metrics 40 | ## are dropped first when this buffer fills. 41 | ## This buffer only fills when writes fail to output plugin(s). 42 | metric_buffer_limit = 10000 43 | 44 | ## Collection jitter is used to jitter the collection by a random amount. 45 | ## Each plugin will sleep for a random time within jitter before collecting. 46 | ## This can be used to avoid many plugins querying things like sysfs at the 47 | ## same time, which can have a measurable effect on the system. 48 | collection_jitter = "0s" 49 | 50 | ## Default flushing interval for all outputs. Maximum flush_interval will be 51 | ## flush_interval + flush_jitter 52 | flush_interval = "10s" 53 | ## Jitter the flush interval by a random amount. This is primarily to avoid 54 | ## large write spikes for users running a large number of telegraf instances. 55 | ## ie, a jitter of 5s and interval 10s means flushes will happen every 10-15s 56 | flush_jitter = "0s" 57 | 58 | ## By default or when set to "0s", precision will be set to the same 59 | ## timestamp order as the collection interval, with the maximum being 1s. 60 | ## ie, when interval = "10s", precision will be "1s" 61 | ## when interval = "250ms", precision will be "1ms" 62 | ## Precision will NOT be used for service inputs. It is up to each individual 63 | ## service input to set the timestamp at the appropriate precision. 64 | ## Valid time units are "ns", "us" (or "µs"), "ms", "s". 65 | precision = "" 66 | 67 | ## Logging configuration: 68 | ## Run telegraf with debug log messages. 69 | debug = false 70 | ## Run telegraf in quiet mode (error log messages only). 71 | quiet = false 72 | ## Specify the log file name. The empty string means to log to stderr. 73 | logfile = "" 74 | 75 | ## Override default hostname, if empty use os.Hostname() 76 | hostname = "" 77 | ## If set to true, do no set the "host" tag in the telegraf agent. 78 | omit_hostname = false 79 | 80 | 81 | ############################################################################### 82 | # OUTPUT PLUGINS # 83 | ############################################################################### 84 | 85 | # Configuration for sending metrics to InfluxDB 86 | [[outputs.influxdb]] 87 | ## The full HTTP or UDP URL for your InfluxDB instance. 88 | ## 89 | ## Multiple URLs can be specified for a single cluster, only ONE of the 90 | ## urls will be written to each interval. 91 | urls = ["http://${CONTAINER_NAMESPACE}influxdb:8086"] 92 | # urls = ["unix:///var/run/influxdb.sock"] 93 | # urls = ["udp://127.0.0.1:8089"] 94 | # urls = ["http://127.0.0.1:8086"] 95 | 96 | ## The target database for metrics; will be created as needed. 97 | database = "${INFLUXDB_DB}" 98 | # database = "telegraf" 99 | 100 | ## If true, no CREATE DATABASE queries will be sent. Set to true when using 101 | ## Telegraf with a user without permissions to create databases or when the 102 | ## database already exists. 103 | # skip_database_creation = false 104 | 105 | ## Name of existing retention policy to write to. Empty string writes to 106 | ## the default retention policy. Only takes effect when using HTTP. 107 | # retention_policy = "" 108 | 109 | ## Write consistency (clusters only), can be: "any", "one", "quorum", "all". 110 | ## Only takes effect when using HTTP. 111 | # write_consistency = "any" 112 | 113 | ## Timeout for HTTP messages. 114 | # timeout = "5s" 115 | 116 | ## HTTP Basic Auth 117 | username = "${INFLUXDB_ADMIN_USER}" 118 | password = "${INFLUXDB_ADMIN_PASSWORD}" 119 | # username = "telegraf" 120 | # password = "metricsmetricsmetricsmetrics" 121 | 122 | ## HTTP User-Agent 123 | # user_agent = "telegraf" 124 | 125 | ## UDP payload size is the maximum packet size to send. 126 | # udp_payload = 512 127 | 128 | ## Optional TLS Config for use on HTTP connections. 129 | # tls_ca = "/etc/telegraf/ca.pem" 130 | # tls_cert = "/etc/telegraf/cert.pem" 131 | # tls_key = "/etc/telegraf/key.pem" 132 | ## Use TLS but skip chain & host verification 133 | # insecure_skip_verify = false 134 | 135 | ## HTTP Proxy override, if unset values the standard proxy environment 136 | ## variables are consulted to determine which proxy, if any, should be used. 137 | # http_proxy = "http://corporate.proxy:3128" 138 | 139 | ## Additional HTTP headers 140 | # http_headers = {"X-Special-Header" = "Special-Value"} 141 | 142 | ## HTTP Content-Encoding for write request body, can be set to "gzip" to 143 | ## compress body or "identity" to apply no encoding. 144 | # content_encoding = "identity" 145 | 146 | ## When true, Telegraf will output unsigned integers as unsigned values, 147 | ## i.e.: "42u". You will need a version of InfluxDB supporting unsigned 148 | ## integer values. Enabling this option will result in field type errors if 149 | ## existing data has been written. 150 | # influx_uint_support = false 151 | -------------------------------------------------------------------------------- /volumes/chronograf/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mgcrea/docker-compose-tick-stack/88ec548980da99698224eb1303e2c0040433ec34/volumes/chronograf/.gitkeep -------------------------------------------------------------------------------- /volumes/config/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mgcrea/docker-compose-tick-stack/88ec548980da99698224eb1303e2c0040433ec34/volumes/config/.gitkeep -------------------------------------------------------------------------------- /volumes/config/telegraf.d/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mgcrea/docker-compose-tick-stack/88ec548980da99698224eb1303e2c0040433ec34/volumes/config/telegraf.d/.gitkeep -------------------------------------------------------------------------------- /volumes/influxdb/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mgcrea/docker-compose-tick-stack/88ec548980da99698224eb1303e2c0040433ec34/volumes/influxdb/.gitkeep -------------------------------------------------------------------------------- /volumes/kapacitor/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mgcrea/docker-compose-tick-stack/88ec548980da99698224eb1303e2c0040433ec34/volumes/kapacitor/.gitkeep --------------------------------------------------------------------------------