From 9fcd7ce819ee5ff0e51cb4e1070b4da0cc00bba9 Mon Sep 17 00:00:00 2001 From: David Sargent Date: Mon, 30 Jul 2018 16:01:28 -0400 Subject: [PATCH 1/2] Add optional ELK stack --- docker-compose.logging.yml | 67 ++++++++++++++++++++++++++++++++++++++ elk-config/logstash.config | 24 ++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 docker-compose.logging.yml create mode 100644 elk-config/logstash.config diff --git a/docker-compose.logging.yml b/docker-compose.logging.yml new file mode 100644 index 0000000..1269628 --- /dev/null +++ b/docker-compose.logging.yml @@ -0,0 +1,67 @@ +version: '3' + +services: + logspout: + image: bekt/logspout-logstash + restart: on-failure + environment: + RETRY_STARTUP: 'true' + RETRY_SEND: 'true' + LOGSTASH_TAGS: 'docker' + ROUTE_URIS: 'logstash://logstash:25826' + links: + - logstash + volumes: + - '/var/run/docker.sock:/tmp/docker.sock' + logging: + driver: 'json-file' + options: + max-file: '5' + max-size: 10m + + elasticsearch: + image: docker.elastic.co/elasticsearch/elasticsearch:6.3.2 + restart: on-failure + ports: + - "9200:9200" + volumes: + - elastic:/usr/share/elasticsearch/data + depends_on: + - logstash + logging: + driver: 'json-file' + options: + max-file: '5' + max-size: 10m + + kibana: + image: docker.elastic.co/kibana/kibana:6.3.2 + restart: on-failure + ports: + - "5601:5601" + depends_on: + - elasticsearch + logging: + driver: 'json-file' + options: + max-file: '5' + max-size: 10m + + logstash: + image: docker.elastic.co/logstash/logstash:6.3.2 + restart: on-failure + environment: + LOGSPOUT: ignore + ports: + - "25826:25826" + volumes: + - ./elk-config/logstash.config:/usr/share/logstash/pipeline/logstash.config + command: logstash -f /usr/share/logstash/pipeline/logstash.config + logging: + driver: 'json-file' + options: + max-file: '5' + max-size: 10m + +volumes: + elastic: \ No newline at end of file diff --git a/elk-config/logstash.config b/elk-config/logstash.config new file mode 100644 index 0000000..26736d3 --- /dev/null +++ b/elk-config/logstash.config @@ -0,0 +1,24 @@ +input { + heartbeat { + id => 'heartbeat' + interval => 60 + message => 'logstash' + } + + udp { + id => 'docker-logspout' + port => 25826 + codec => json + } + + syslog { + id => 'docker-syslog' + port => 5001 + } +} + +output { + elasticsearch { + hosts => [ 'elasticsearch' ] + } +} \ No newline at end of file From 884ff940cddcb84db21058292e85f87c6169cbe3 Mon Sep 17 00:00:00 2001 From: David Sargent Date: Mon, 30 Jul 2018 16:10:09 -0400 Subject: [PATCH 2/2] Follow conventions --- docker-compose.logging.yml => docker-compose-logging.yml | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docker-compose.logging.yml => docker-compose-logging.yml (100%) diff --git a/docker-compose.logging.yml b/docker-compose-logging.yml similarity index 100% rename from docker-compose.logging.yml rename to docker-compose-logging.yml