From 3fdba44bfad4c64e24dfb927fb1c78f8e938ded0 Mon Sep 17 00:00:00 2001 From: AlfonsoRBJ Date: Thu, 21 Mar 2019 16:29:48 +0100 Subject: [PATCH] cond. race for logstash and improve it for kibana --- kibana/config/entrypoint.sh | 6 ++++-- logstash/Dockerfile | 2 +- logstash/config/entrypoint.sh | 24 +++++++++++++++++++++++- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/kibana/config/entrypoint.sh b/kibana/config/entrypoint.sh index c38bb1d7..1ba0a44d 100644 --- a/kibana/config/entrypoint.sh +++ b/kibana/config/entrypoint.sh @@ -10,11 +10,13 @@ else fi until curl -XGET $el_url; do - >&2 echo "Elastic is unavailable - sleeping" + >&2 echo "Elastic is unavailable - sleeping." sleep 5 done ->&2 echo "Elastic is up - executing command" +sleep 10 + +>&2 echo "Elasticsearch is up." ./wazuh_app_config.sh diff --git a/logstash/Dockerfile b/logstash/Dockerfile index 00322375..b53d0806 100644 --- a/logstash/Dockerfile +++ b/logstash/Dockerfile @@ -9,4 +9,4 @@ USER root COPY config/run.sh /run.sh RUN chmod +x /run.sh -ENTRYPOINT ["/run.sh"] +ENTRYPOINT /entrypoint.sh diff --git a/logstash/config/entrypoint.sh b/logstash/config/entrypoint.sh index a523ec8f..4eef7fa7 100644 --- a/logstash/config/entrypoint.sh +++ b/logstash/config/entrypoint.sh @@ -1,24 +1,46 @@ -#!/bin/bash -e +#!/bin/bash # Wazuh App Copyright (C) 2019 Wazuh Inc. (License GPLv2) # # OSSEC container bootstrap. See the README for information of the environment # variables expected by this script. # +set -e +############################################################################## +# Waiting for elasticsearch +############################################################################## + +if [ "x${ELASTICSEARCH_URL}" = "x" ]; then + el_url="http://elasticsearch:9200" +else + el_url="${ELASTICSEARCH_URL}" +fi + +until curl -XGET $el_url; do + >&2 echo "Elastic is unavailable - sleeping." + sleep 5 +done + +sleep 10 + +>&2 echo "Elasticsearch is up." ############################################################################## # Customize logstash output ip ############################################################################## if [ "$LOGSTASH_OUTPUT" != "" ]; then + echo "Customize Logstash ouput ip." sed -i "s/elasticsearch:9200/$LOGSTASH_OUTPUT:9200/" /usr/share/logstash/pipeline/01-wazuh.conf sed -i "s/elasticsearch:9200/$LOGSTASH_OUTPUT:9200/" /usr/share/logstash/config/logstash.yml fi +############################################################################## # Map environment variables to entries in logstash.yml. # Note that this will mutate logstash.yml in place if any such settings are found. # This may be undesirable, especially if logstash.yml is bind-mounted from the # host system. +############################################################################## env2yaml /usr/share/logstash/config/logstash.yml