diff --git a/templates/logstash/0/docker-compose.yml b/templates/logstash/0/docker-compose.yml new file mode 100644 index 0000000..fc9dfda --- /dev/null +++ b/templates/logstash/0/docker-compose.yml @@ -0,0 +1,53 @@ +logstash-indexer-config: + restart: always + image: rancher/logstash-config:v0.2.0 + labels: + io.rancher.container.hostname_override: container_name +redis: + restart: always + tty: true + image: redis:3.0.3 + stdin_open: true + labels: + io.rancher.container.hostname_override: container_name +logstash-indexer: + restart: always + tty: true + volumes_from: + - logstash-indexer-config + command: + - logstash + - -f + - /etc/logstash + image: logstash:1.5.3-1 + links: + - redis:redis + external_links: + - ${elasticsearch_link}:elasticsearch + stdin_open: true + labels: + io.rancher.sidekicks: logstash-indexer-config + io.rancher.container.hostname_override: container_name +logstash-collector-config: + restart: always + image: rancher/logstash-config:v0.2.0 + labels: + io.rancher.container.hostname_override: container_name +logstash-collector: + restart: always + tty: true + links: + - redis:redis + ports: + - "5000/udp" + volumes_from: + - logstash-collector-config + command: + - logstash + - -f + - /etc/logstash + image: logstash:1.5.3-1 + stdin_open: true + labels: + io.rancher.sidekicks: logstash-collector-config + io.rancher.container.hostname_override: container_name diff --git a/templates/logstash/0/rancher-compose.yml b/templates/logstash/0/rancher-compose.yml new file mode 100644 index 0000000..bbe7158 --- /dev/null +++ b/templates/logstash/0/rancher-compose.yml @@ -0,0 +1,72 @@ +.catalog: + name: "Logstash" + version: "1.5.3-1-rancher1" + description: "Logstash: Process Any Data, From Any Source" + questions: + - variable: "collector_inputs" + description: | + Logstash collection tier inputs. These will be added + directly to input { } section of logstash.conf + label: "Logstash inputs" + type: "multiline" + required: true + default: | + udp { + port => 5000 + codec => "json" + } + - variable: "indexer_filters" + description: | + Logstash indexing tier filters. These will be added + directly to filter { } section of logstash.conf + label: "Logstash filters" + type: "multiline" + required: false + default: "" + - variable: "indexer_outputs" + description: | + Logstash indexing tier outputs. These will be added + directly to output { } section of logstash.conf + label: "Logstash outputs" + type: "multiline" + required: true + default: | + elasticsearch { + host => "elasticsearch" + protocol => "http" + index => "logstash-%{+YYYY.MM.dd}" + } + - variable: "elasticsearch_link" + description: | + stack/service link or external service link to elasticsearch + cluster. + label: "Elasticsearch stack/service" + default: "es/elasticsearch-clients" + required: true + type: "service" +logstash-indexer: + metadata: + logstash: + inputs: | + redis { + host => "redis" + port => "6379" + data_type => "list" + key => "logstash" + } + filters: | + ${indexer_filters} + outputs: | + ${indexer_outputs} +logstash-collector: + metadata: + logstash: + inputs: | + ${collector_inputs} + outputs: | + redis { + host => "redis" + port => "6379" + data_type => "list" + key => "logstash" + } diff --git a/templates/logstash/catalogIcon-logstash.svg b/templates/logstash/catalogIcon-logstash.svg new file mode 100644 index 0000000..15f65af --- /dev/null +++ b/templates/logstash/catalogIcon-logstash.svg @@ -0,0 +1,145 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/templates/logstash/config.yml b/templates/logstash/config.yml new file mode 100644 index 0000000..2346f10 --- /dev/null +++ b/templates/logstash/config.yml @@ -0,0 +1,5 @@ +name: Logstash +description: | + Centralize data processing of all types +version: 1.5.3-1-rancher1 +category: ELK