aboutsummaryrefslogtreecommitdiff
path: root/app/telemetry/deploy/docker-compose.yml
diff options
context:
space:
mode:
authorAlex Auvolat <alex@adnab.me>2022-02-17 15:06:09 +0100
committerAlex Auvolat <alex@adnab.me>2022-02-17 15:06:09 +0100
commit65ca536b3b3bf92115d0fd2618555ea056dc6b6f (patch)
tree6c5804fa5f0685809b0b9d698a1aad53aa5bdd1c /app/telemetry/deploy/docker-compose.yml
parent689870ec00147bced3c7105daf617b0fc1e3c5eb (diff)
downloadnixcfg-65ca536b3b3bf92115d0fd2618555ea056dc6b6f.tar.gz
nixcfg-65ca536b3b3bf92115d0fd2618555ea056dc6b6f.zip
Add telemetry to garage staging
Diffstat (limited to 'app/telemetry/deploy/docker-compose.yml')
-rw-r--r--app/telemetry/deploy/docker-compose.yml69
1 files changed, 69 insertions, 0 deletions
diff --git a/app/telemetry/deploy/docker-compose.yml b/app/telemetry/deploy/docker-compose.yml
new file mode 100644
index 0000000..576e0a9
--- /dev/null
+++ b/app/telemetry/deploy/docker-compose.yml
@@ -0,0 +1,69 @@
+version: "2"
+services:
+
+ otel:
+ image: otel/opentelemetry-collector-contrib:${OTEL_COLLECT_TAG}
+ command: [ "--config=/etc/otel-config.yaml" ]
+ volumes:
+ - ../config/otel-config.yaml:/etc/otel-config.yaml
+ network_mode: "host"
+
+ elastic:
+ image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_BUNDLE_TAG}
+ container_name: elastic
+ environment:
+ - "node.name=elastic"
+ - "http.port=9200"
+ - "cluster.name=es-docker-cluster"
+ - "discovery.type=single-node"
+ - "bootstrap.memory_lock=true"
+ - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
+ ulimits:
+ memlock:
+ soft: -1
+ hard: -1
+ nofile: 65536
+ volumes:
+ - "es_data:/usr/share/elasticsearch/data"
+ network_mode: "host"
+
+ # kibana instance and collectors
+ # see https://www.elastic.co/guide/en/elastic-stack-get-started/current/get-started-docker.html
+ kibana:
+ image: docker.elastic.co/kibana/kibana:${ELASTIC_BUNDLE_TAG}
+ container_name: kibana
+ environment:
+ SERVER_NAME: "kibana.local"
+ # ELASTICSEARCH_URL: "http://localhost:9700"
+ ELASTICSEARCH_HOSTS: "http://localhost:9200"
+ depends_on: [ 'elastic' ]
+ network_mode: "host"
+
+ apm:
+ image: docker.elastic.co/apm/apm-server:${ELASTIC_BUNDLE_TAG}
+ container_name: apm
+ volumes:
+ - "../config/apm-config.yaml:/usr/share/apm-server/apm-server.yml:ro"
+ depends_on: [ 'elastic' ]
+ network_mode: "host"
+
+ grafana:
+ # see https://grafana.com/docs/grafana/latest/installation/docker/
+ image: "grafana/grafana:8.3.5"
+ container_name: grafana
+ # restart: unless-stopped
+ environment:
+ - "GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-simple-json-datasource,grafana-piechart-panel,grafana-worldmap-panel,grafana-polystat-panel"
+ network_mode: "host"
+ volumes:
+ # chown 472:472 if needed
+ - grafana:/var/lib/grafana
+ - ../config/grafana/provisioning/:/etc/grafana/provisioning/
+
+volumes:
+ es_data:
+ driver: local
+ grafana:
+ driver: local
+ metricbeat:
+ driver: local