forked from wazuh/wazuh-docker
Merge pull request #135 from wazuh/dev-logstash-entrypoint
New Logstash entrypoint added
This commit is contained in:
@@ -10,8 +10,10 @@ All notable changes to this project will be documented in this file.
|
|||||||
- Adding the option to disable some xpack features. ([#111](https://github.com/wazuh/wazuh-docker/pull/111))
|
- Adding the option to disable some xpack features. ([#111](https://github.com/wazuh/wazuh-docker/pull/111))
|
||||||
- Wazuh-Kibana customizable at plugin level. ([#117](https://github.com/wazuh/wazuh-docker/pull/117))
|
- Wazuh-Kibana customizable at plugin level. ([#117](https://github.com/wazuh/wazuh-docker/pull/117))
|
||||||
- Adding env variables for alerts data flow. ([#118](https://github.com/wazuh/wazuh-docker/pull/118))
|
- Adding env variables for alerts data flow. ([#118](https://github.com/wazuh/wazuh-docker/pull/118))
|
||||||
|
- New Logstash entrypoint added. ([#135](https://github.com/wazuh/wazuh-docker/pull/135/files))
|
||||||
- Welcome screen management. ([#133](https://github.com/wazuh/wazuh-docker/pull/133))
|
- Welcome screen management. ([#133](https://github.com/wazuh/wazuh-docker/pull/133))
|
||||||
|
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
- Update to Wazuh version 3.8.2. ([#105](https://github.com/wazuh/wazuh-docker/pull/105))
|
- Update to Wazuh version 3.8.2. ([#105](https://github.com/wazuh/wazuh-docker/pull/105))
|
||||||
|
|||||||
@@ -3,6 +3,10 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
# Waiting for elasticsearch
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
if [ "x${ELASTICSEARCH_URL}" = "x" ]; then
|
if [ "x${ELASTICSEARCH_URL}" = "x" ]; then
|
||||||
el_url="http://elasticsearch:9200"
|
el_url="http://elasticsearch:9200"
|
||||||
else
|
else
|
||||||
@@ -10,11 +14,32 @@ else
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
until curl -XGET $el_url; do
|
until curl -XGET $el_url; do
|
||||||
>&2 echo "Elastic is unavailable - sleeping"
|
>&2 echo "Elastic is unavailable - sleeping."
|
||||||
sleep 5
|
sleep 5
|
||||||
done
|
done
|
||||||
|
|
||||||
>&2 echo "Elastic is up - executing command"
|
sleep 2
|
||||||
|
|
||||||
|
>&2 echo "Elasticsearch is up."
|
||||||
|
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
# Waiting for wazuh alerts template
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
strlen=0
|
||||||
|
|
||||||
|
while [[ $strlen -eq 0 ]]
|
||||||
|
do
|
||||||
|
template=$(curl $el_url/_cat/templates/wazuh -s)
|
||||||
|
strlen=${#template}
|
||||||
|
>&2 echo "Wazuh alerts template not loaded - sleeping."
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
|
|
||||||
|
sleep 2
|
||||||
|
|
||||||
|
>&2 echo "Wazuh alerts template is loaded."
|
||||||
|
|
||||||
|
|
||||||
./wazuh_app_config.sh
|
./wazuh_app_config.sh
|
||||||
|
|||||||
+5
-5
@@ -1,12 +1,12 @@
|
|||||||
# Wazuh App Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
# Wazuh App Copyright (C) 2019 Wazuh Inc. (License GPLv2)
|
||||||
FROM docker.elastic.co/logstash/logstash:6.5.4
|
FROM docker.elastic.co/logstash/logstash:6.5.4
|
||||||
|
|
||||||
|
COPY --chown=logstash:logstash config/entrypoint.sh /entrypoint.sh
|
||||||
|
|
||||||
|
RUN chmod 755 /entrypoint.sh
|
||||||
|
|
||||||
RUN rm -f /usr/share/logstash/pipeline/logstash.conf
|
RUN rm -f /usr/share/logstash/pipeline/logstash.conf
|
||||||
|
|
||||||
COPY config/01-wazuh.conf /usr/share/logstash/pipeline/01-wazuh.conf
|
COPY config/01-wazuh.conf /usr/share/logstash/pipeline/01-wazuh.conf
|
||||||
|
|
||||||
USER root
|
ENTRYPOINT /entrypoint.sh
|
||||||
COPY config/run.sh /run.sh
|
|
||||||
RUN chmod +x /run.sh
|
|
||||||
|
|
||||||
ENTRYPOINT ["/run.sh"]
|
|
||||||
|
|||||||
@@ -0,0 +1,72 @@
|
|||||||
|
#!/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 2
|
||||||
|
|
||||||
|
>&2 echo "Elasticsearch is up."
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
# Waiting for wazuh alerts template
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
strlen=0
|
||||||
|
|
||||||
|
while [[ $strlen -eq 0 ]]
|
||||||
|
do
|
||||||
|
template=$(curl $el_url/_cat/templates/wazuh -s)
|
||||||
|
strlen=${#template}
|
||||||
|
>&2 echo "Wazuh alerts template not loaded - sleeping."
|
||||||
|
sleep 2
|
||||||
|
done
|
||||||
|
|
||||||
|
sleep 2
|
||||||
|
|
||||||
|
>&2 echo "Wazuh alerts template is loaded."
|
||||||
|
|
||||||
|
##############################################################################
|
||||||
|
# Customize logstash output ip
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
if [ "$LOGSTASH_OUTPUT" != "" ]; then
|
||||||
|
>&2 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
|
||||||
|
|
||||||
|
export LS_JAVA_OPTS="-Dls.cgroup.cpuacct.path.override=/ -Dls.cgroup.cpu.path.override=/ $LS_JAVA_OPTS"
|
||||||
|
|
||||||
|
if [[ -z $1 ]] || [[ ${1:0:1} == '-' ]] ; then
|
||||||
|
exec logstash "$@"
|
||||||
|
else
|
||||||
|
exec "$@"
|
||||||
|
fi
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
#!/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.
|
|
||||||
#
|
|
||||||
|
|
||||||
##############################################################################
|
|
||||||
# Customize logstash output ip
|
|
||||||
##############################################################################
|
|
||||||
if [ "$LOGSTASH_OUTPUT" != "" ]; then
|
|
||||||
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
|
|
||||||
|
|
||||||
/usr/local/bin/docker-entrypoint
|
|
||||||
Reference in New Issue
Block a user