Skip to content

Instantly share code, notes, and snippets.

@ericaovo
Created March 15, 2019 11:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save ericaovo/de34f97164e57d01a6c64d4e49637015 to your computer and use it in GitHub Desktop.
Save ericaovo/de34f97164e57d01a6c64d4e49637015 to your computer and use it in GitHub Desktop.
TICK Stack configuration files example
version: '2'
services:
influxdb:
image: ${influxdb_repo}:$${INFLUXDB_VERSION}
ulimits:
nofile:
soft: 65536
hard: 65536
environment:
- INFLUXDB_CONFIG_PATH=/etc/influxdb/influxdb.conf
ports:
- "8086:8086"
- "8189:8189/udp"
volumes:
- /data/influxdb:/var/lib/influxdb
logging:
driver: awslogs
options:
awslogs-group: monitoring
awslogs-region: ${aws_region}
awslogs-stream-prefix: monitoring-influxdb-
version: 1
task_definition:
task_role_arn: ${ecs_task_role}
task_execution_role: ${ecs_role}
ecs_network_mode: awsvpc
task_size:
cpu_limit: 512
services:
influxdb:
essential: true
cpu_shares: 512
mem_reservation: 4GB
run_params:
network_configuration:
awsvpc_configuration:
subnets: ${private_subnets}
security_groups: ${security_groups}
assign_public_ip: DISABLED
service_discovery:
private_dns_namespace:
name: ${internal_namespace}
vpc: ${vpc_id}
description: Monitoring private DNS
service_discovery_service:
name: influxdb
version: '2'
services:
chronograf:
image: ${chronograf_repo}:$${CHRONOGRAF_VERSION}
ports:
- "80:80"
environment:
- RESOURCES_PATH=/usr/share/chronograf/resources
- INFLUXDB_URL=${influxdb_url}:8086
- KAPACITOR_URL=http://localhost:9092
- ENVIRONMENT=${environment}
- PORT=80
command: ./usr/local/bin/chronograf.sh
logging:
driver: awslogs
options:
awslogs-group: monitoring
awslogs-region: ${aws_region}
awslogs-stream-prefix: monitoring-chronograf-
telegraf:
image: ${telegraf_repo}:$${TELEGRAF_VERSION}
command: /bin/bash -c "envsubst < /etc/telegraf/telegraf.conf.tpl > /etc/telegraf/telegraf.conf && telegraf"
environment:
- HOST_PROC=/rootfs/proc
- HOST_SYS=/rootfs/sys
- HOST_ETC=/rootfs/etc
- INFLUXDB_URL=${influxdb_url}:8086
volumes:
- /sys:/rootfs/sys:ro
- /proc:/rootfs/proc:ro
- /etc:/rootfs/etc:ro
logging:
driver: awslogs
options:
awslogs-group: monitoring
awslogs-region: ${aws_region}
awslogs-stream-prefix: monitoring-telegraf-
kapacitor:
command: /bin/bash -c "envsubst < /etc/kapacitor/kapacitor.conf.tpl > /etc/kapacitor/kapacitor.conf && ./var/kapacitor.sh"
image: ${kapacitor_repo}:$${KAPACITOR_VERSION}
environment:
- KAPACITOR_HOSTNAME=${kapacitor_url}
- KAPACITOR_INFLUXDB_0_URLS_0=${influxdb_url}:8086
- KAPACITOR_CONFIG_PATH=/etc/kapacitor/kapacitor.conf
- KAPACITOR_URL=http://localhost:9092
- ENVIRONMENT=${environment}
- INFLUXDB_URL=${influxdb_url}:8086
ports:
- "9092:9092"
volumes:
- /var/lib/kapacitor:/var/lib/kapacitor
ulimits:
nofile:
soft: 65536
hard: 65536
logging:
driver: awslogs
options:
awslogs-group: monitoring
awslogs-region: ${aws_region}
awslogs-stream-prefix: monitoring-kapacitor-
version: 1
task_definition:
task_role_arn: ${ecs_task_role}
task_execution_role: ${ecs_role}
ecs_network_mode: awsvpc
task_size:
cpu_limit: 256
services:
chronograf:
essential: true
cpu_shares: 64
mem_reservation: 32M
telegraf:
essential: true
cpu_shares: 64
mem_reservation: 32M
kapacitor:
essential: true
cpu_shares: 64
mem_reservation: 1GB
run_params:
network_configuration:
awsvpc_configuration:
subnets: ${private_subnets}
security_groups: ${security_groups}
assign_public_ip: DISABLED
service_discovery:
public_dns_namespace:
id: ${namespace_id}
service_discovery_service:
name: green
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment