docker-compose.yml update
[platform-oam.git] / elk-stack / docker-compose.yml
1 # ===============LICENSE_START=======================================================
2 # Acumos Apache-2.0
3 # ===================================================================================
4 # Copyright (C) 2017-2019 AT&T Intellectual Property & Tech Mahindra. All rights reserved.
5 # ===================================================================================
6 # This Acumos software file is distributed by AT&T and Tech Mahindra
7 # under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 # http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # This file is distributed on an "AS IS" BASIS,
14 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 # See the License for the specific language governing permissions and
16 # limitations under the License.
17 # ===============LICENSE_END=========================================================
18 version: '2'
19
20 services:
21
22   elasticsearch:
23     image:  ${NEXUS3_RELEASE_REGISTRY_LF}/${ELASTICSEARCH_IMAGE}
24     volumes:
25       - acumos-esdata:/usr/share/elasticsearch/data
26     ports:
27     #Node client default listens at 9200, metricbeat and logstash index data into Elasticsearch using this port.
28      - "${ACUMOS_ELK_ELASTICSEARCH_PORT}:9200"
29     #Transport client default is 9300 this port is used for nodes communication. If this port is not open, your nodes will not be able to form a cluster.
30      - "${ACUMOS_ELK_NODE_PORT}:9300"
31     environment:
32       ES_JAVA_OPTS: "-Xmx${ACUMOS_ELK_ES_JAVA_HEAP_MAX_SIZE} -Xms${ACUMOS_ELK_ES_JAVA_HEAP_MIN_SIZE}"
33     networks:
34       - elk
35
36   logstash:
37     image:  ${NEXUS3_RELEASE_REGISTRY_LF}/${LOGSTASH_IMAGE}
38     volumes:
39       - ./logstash/pipeline:/usr/share/logstash/pipeline
40     ports:
41     #Logstash default listens at 5000, Filebeat agentship log to this port.
42       - "${ACUMOS_ELK_LOGSTASH_PORT}:5000"
43     environment:
44       LS_JAVA_OPTS: "-Xmx${ACUMOS_ELK_LS_JAVA_HEAP_MAX_SIZE} -Xms${ACUMOS_ELK_LS_JAVA_HEAP_MIN_SIZE}"
45       ACUMOS_ELK_JDBC_DRIVER_LIBRARY: "/usr/share/logstash/vendor/bundle/mariadb-java-client-2.3.0.jar"
46       ACUMOS_ELK_JDBC_DRIVER_CLASS: "org.mariadb.jdbc.Driver"
47       ACUMOS_ELK_JDBC_CONNECTION_STRING: "jdbc:mariadb://databaseurl:port/databasename"
48       ACUMOS_ELK_JDBC_USERNAME: "username"
49       ACUMOS_ELK_JDBC_PASSWORD: "password"
50     networks:
51       - elk
52     depends_on:
53       - elasticsearch
54
55   kibana:
56     image:  ${NEXUS3_RELEASE_REGISTRY_LF}/${KIBANA_IMAGE}
57     volumes:
58       - ./kibana/config/:/usr/share/kibana/config
59     ports:
60     #Kiban is accessed on the web browser. Used for visualization of logs.
61       - "${ACUMOS_ELK_KIBANA_PORT}:5601"
62     networks:
63       - elk
64     depends_on:
65       - elasticsearch
66
67   elk-client:
68       image: ${NEXUS3_RELEASE_REGISTRY_LF}/${ELK_CLIENT}
69       environment:
70           SPRING_APPLICATION_JSON: '{
71               "server" : { 
72                    "port" : 9006
73                },
74                "elk" : {
75                    "host" : {
76                        "url":"${ACUMOS_ELK_ELASTICSEARCH_HOST}"
77                    },
78                    "elasticssearch" : {
79                                "port":${ACUMOS_ELK_ELASTICSEARCH_PORT}
80                            },
81                    "cronschedule": {
82                        "createsnapshot":{
83                            "time":"${ELK_CLIENT_CRONSCHEDULE_CREATESNAPSHOT_TIME}"
84                        }
85                    }
86                }
87           }'
88       ports:
89           - ${ACUMOS_ELK_CLIENT_PORT}:9006
90       volumes:
91           - acumos-logs:/maven/logs
92           - acumos-esdata:/elasticsearch/data
93       logging:
94           driver: json-file          
95
96 networks:
97   elk:
98     driver: bridge
99
100 volumes:
101     acumos-esdata:
102         external: true
103     acumos-logs:
104         external: true
105