@@ -8,8 +8,8 @@ services:
88 entrypoint : /usr/share/logstash/scripts/custom-entrypoint.sh
99 container_name : logstash
1010 environment :
11- - node.name=${LOGSTASH_NODE_NAME:Logstash-1}
12- - xpack.monitoring.enabled=true
11+ - node.name=${LOGSTASH_NODE_NAME:- Logstash-1}
12+ - xpack.monitoring.enabled=${SELF_MONITORING_ENABLED:-false}
1313 - xpack.monitoring.elasticsearch.ssl.certificate_authority=${ELASTICSEARCH_CA}
1414 - xpack.monitoring.elasticsearch.hosts=[${ELASTICSEARCH_HOSTS}]
1515 - xpack.monitoring.elasticsearch.username=${LOGSTASH_SYSTEM_USERNAME}
@@ -56,7 +56,12 @@ services:
5656
5757 # This is the API-Builder project exposing the API-Gateway Manager REST-API
5858 apibuilder4elastic :
59- image : cwiechmann/apibuilder4elastic:v2.0.0
59+ image : cwiechmann/apibuilder4elastic:latest
60+ restart : always
61+ deploy :
62+ restart_policy :
63+ delay : 20s
64+ window : 120s
6065 container_name : apibuilder4elastic
6166 environment :
6267 - ELASTICSEARCH_HOSTS=${ELASTICSEARCH_HOSTS}
@@ -87,8 +92,47 @@ services:
8792 max-file : " 3"
8893 max-size : " 10m"
8994
95+ # Metricbeat monitoring Memcache, API-Builder and Logstash
96+ metricbeat :
97+ image : docker.elastic.co/beats/metricbeat:${ELASTIC_VERSION}
98+ entrypoint : /usr/local/scripts/metricbeat-entrypoint.sh
99+ container_name : metricbeat
100+ # Define a fixed hostname to be reported back to Kibana
101+ hostname : Logstash-APIBuilder
102+ command : --strict.perms=false -e -c configs/metricbeat.logstash-apibuilder-memcache.yml
103+ user : root # Required to monitor docker containers
104+ environment :
105+ - ELASTICSEARCH_HOSTS=${ELASTICSEARCH_HOSTS}
106+ - KIBANA_HOST=${KIBANA_HOST}
107+ - ELASTICSEARCH_CLUSTER_UUID=${ELASTICSEARCH_CLUSTER_UUID}
108+ - ELASTICSEARCH_CA=${ELASTICSEARCH_CA}
109+ - METRICBEAT_USERNAME=${METRICBEAT_USERNAME}
110+ - METRICBEAT_PASSWORD=${METRICBEAT_PASSWORD}
111+ - METRICBEAT_ENABLED=${METRICBEAT_ENABLED}
112+ - METRICBEAT_SETUP_DASHBOARDS=${METRICBEAT_SETUP_DASHBOARDS}
113+ ports :
114+ - 9000:9000
115+ volumes :
116+ - type : volume
117+ source : metricbeatdata
118+ target : /usr/share/metricbeat/data # Required to make sure that Filebeat remembers the last position, even if the container is recreated
119+ - /etc/localtime:/etc/localtime:ro # Required to sync timezone of the server into the Filebeat Docker-Container
120+ - ${PWD}/metricbeat/configs:/usr/share/metricbeat/configs
121+ - ${PWD}/metricbeat/activeDashboards:/usr/share/metricbeat/activeDashboards
122+ - /var/lib/docker/containers:/var/lib/docker/containers:ro
123+ - /var/run/docker.sock:/var/run/docker.sock
124+ - ${PWD}/config/certificates:/usr/share/metricbeat/config/certificates
125+ - ${PWD}/metricbeat/scripts:/usr/local/scripts
126+ networks :
127+ - elastic
128+ logging :
129+ options :
130+ max-file : " 3"
131+ max-size : " 10m"
132+
90133volumes :
91134 logs :
135+ metricbeatdata :
92136
93137networks :
94138 elastic :
0 commit comments