Revert "Remove installers/docker folder"
This reverts commit a282db1e1960066376bc5475488edfc939235a66.
Change-Id: I88523ad80885c6aee41f0ecb799057362a5606ae
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/installers/docker/osm_elk/docker-compose.yml b/installers/docker/osm_elk/docker-compose.yml
new file mode 100644
index 0000000..f18d2e2
--- /dev/null
+++ b/installers/docker/osm_elk/docker-compose.yml
@@ -0,0 +1,62 @@
+version: '3'
+
+volumes:
+ elasticsearch_data:
+
+services:
+
+ filebeat:
+ image: docker.elastic.co/beats/filebeat:${ELASTIC_VERSION:-6.4.2}
+ hostname: "{{.Node.Hostname}}-filebeat"
+ user: root
+ networks:
+ - elk
+ volumes:
+ - /var/run/docker.sock:/var/run/docker.sock
+ - /var/lib/docker/containers/:/var/lib/docker/containers/:ro
+ - ./filebeat.yml:/usr/share/filebeat/filebeat.yml
+ command: ["--strict.perms=false"]
+
+ metricbeat:
+ image: docker.elastic.co/beats/metricbeat:${ELASTIC_VERSION:-6.4.2}
+ user: root
+ deploy:
+ mode: global
+ volumes:
+ - /proc:/hostfs/proc:ro
+ - /sys/fs/cgroup:/hostfs/sys/fs/cgroup:ro
+ - /:/hostfs:ro
+ - ./metricbeat.yml:/usr/share/metricbeat/metricbeat.yml
+ - /var/run/docker.sock:/var/run/docker.sock:ro
+ command: --strict.perms=false -e -c /usr/share/metricbeat/metricbeat.yml -system.hostfs=/hostfs # -e flag to log to stderr and disable syslog/file output
+ networks:
+ - elk
+ depends_on: ['elasticsearch', 'kibana']
+
+ elasticsearch:
+ image: docker.elastic.co/elasticsearch/elasticsearch-oss:${ELASTIC_VERSION:-6.4.2}
+ volumes:
+ - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro
+ - elasticsearch_data:/usr/share/elasticsearch/data
+ ports:
+ - "9200:9200"
+ environment:
+ ES_JAVA_OPTS: "-Xmx256m -Xms256m"
+ networks:
+ - elk
+
+ kibana:
+ image: docker.elastic.co/kibana/kibana-oss:${ELASTIC_VERSION:-6.4.2}
+ volumes:
+ - ./kibana.yml:/usr/share/kibana/config/kibana.yml:ro
+ ports:
+ - "5601:5601"
+ networks:
+ - elk
+ depends_on:
+ - elasticsearch
+
+networks:
+ elk:
+ external:
+ name: ${OSM_NETWORK:-netosm}
diff --git a/installers/docker/osm_elk/elasticsearch.yml b/installers/docker/osm_elk/elasticsearch.yml
new file mode 100644
index 0000000..f6a7dd4
--- /dev/null
+++ b/installers/docker/osm_elk/elasticsearch.yml
@@ -0,0 +1,6 @@
+---
+network.host: 0.0.0.0
+cluster.name: "docker-cluster"
+discovery.type: single-node
+discovery.zen.minimum_master_nodes: 1
+bootstrap.memory_lock: true
diff --git a/installers/docker/osm_elk/filebeat.yml b/installers/docker/osm_elk/filebeat.yml
new file mode 100644
index 0000000..6769a9f
--- /dev/null
+++ b/installers/docker/osm_elk/filebeat.yml
@@ -0,0 +1,51 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+
+# http://www.apache.org/licenses/LICENSE-2.0
+
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+######################## Filebeat Configuration ############################
+
+filebeat.inputs:
+#------------------------------ Docker input --------------------------------
+# Experimental: Docker input reads and parses `json-file` logs from Docker
+- type: docker
+ enabled: true
+ # Combine partial lines flagged by `json-file` format
+ #combine_partials: true
+
+ # Use this to read from all containers, replace * with a container id to read from one:
+ containers:
+ # stream: all # can be all, stdout or stderr
+ ids:
+ - '*'
+
+processors:
+- add_docker_metadata: ~
+#
+# The following example enriches each event with host metadata.
+#
+#processors:
+#- add_host_metadata:
+# netinfo.enabled: false
+#
+
+#-------------------------- Elasticsearch output -------------------------------
+output.elasticsearch:
+ # Boolean flag to enable or disable the output module.
+ #enabled: true
+
+ # Array of hosts to connect to.
+ # Scheme and port can be left out and will be set to the default (http and 9200)
+ # In case you specify and additional path, the scheme is required: http://localhost:9200/path
+ # IPv6 addresses should always be defined as: https://[2001:db8::1]:9200
+ hosts: ["elasticsearch:9200"]
+
+
+logging.to_files: true
diff --git a/installers/docker/osm_elk/kibana.yml b/installers/docker/osm_elk/kibana.yml
new file mode 100644
index 0000000..a8a39a9
--- /dev/null
+++ b/installers/docker/osm_elk/kibana.yml
@@ -0,0 +1,4 @@
+---
+server.host: "0"
+server.name: kibana
+elasticsearch.url: http://elasticsearch:9200
diff --git a/installers/docker/osm_elk/metricbeat.yml b/installers/docker/osm_elk/metricbeat.yml
new file mode 100644
index 0000000..389ecd4
--- /dev/null
+++ b/installers/docker/osm_elk/metricbeat.yml
@@ -0,0 +1,29 @@
+metricbeat.modules:
+- module: docker
+ metricsets: ["container", "cpu", "diskio", "healthcheck", "info", "memory", "network"]
+ hosts: ["unix:///var/run/docker.sock"]
+ period: 30s
+ enabled: true
+- module: system
+ enabled: true
+ period: 30s
+ metricsets:
+ - cpu # CPU usage
+ - load # CPU load averages
+ - memory # Memory usage
+ - network # Network IO
+ - process # Per process metrics
+ - process_summary # Process summary
+ - uptime # System Uptime
+ #- core # Per CPU core usage
+ - diskio # Disk IO
+ - filesystem # File system usage for each mountpoint
+ - fsstat # File system summary metrics
+ #- raid # Raid
+ #- socket # Sockets and connection info (linux only)
+ processes: ['.*']
+ cpu.metrics: ["percentages"] # The other available options are normalized_percentages and ticks.
+ core.metrics: ["percentages"] # The other available option is ticks.
+
+output.elasticsearch:
+ hosts: ["elasticsearch:9200"]