mirror of
https://github.com/valitydev/wazuh-docker.git
synced 2024-11-06 09:45:19 +00:00
Merge pull request #213 from wazuh/3.9.3_fix_cluster_config
Fixed duplicated cluster configuration
This commit is contained in:
commit
a481d9c376
@ -12,22 +12,33 @@ services:
|
||||
- "514:514/udp"
|
||||
- "55000:55000"
|
||||
elasticsearch:
|
||||
image: wazuh/wazuh-elasticsearch:3.9.2_7.1.1
|
||||
build: elasticsearch
|
||||
hostname: elasticsearch
|
||||
restart: always
|
||||
ports:
|
||||
- "9200:9200"
|
||||
environment:
|
||||
- node.name=node-1
|
||||
- cluster.name=wazuh
|
||||
- network.host=0.0.0.0
|
||||
- bootstrap.memory_lock=true
|
||||
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
|
||||
- ELASTIC_CLUSTER=true
|
||||
- CLUSTER_NODE_MASTER=true
|
||||
- CLUSTER_MASTER_NODE_NAME=es01
|
||||
|
||||
es02:
|
||||
build: elasticsearch
|
||||
hostname: es02
|
||||
restart: always
|
||||
environment:
|
||||
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
|
||||
- ELASTIC_CLUSTER=true
|
||||
- CLUSTER_MASTER_NODE_NAME=elasticsearch
|
||||
- CLUSTER_NODE_NAME=es02
|
||||
ulimits:
|
||||
memlock:
|
||||
soft: -1
|
||||
hard: -1
|
||||
mem_limit: 2g
|
||||
|
||||
|
||||
kibana:
|
||||
image: wazuh/wazuh-kibana:3.9.2_7.1.1
|
||||
hostname: kibana
|
||||
|
@ -22,10 +22,11 @@ ARG TEMPLATE_VERSION=v3.9.2
|
||||
# CLUSTER_INITIAL_MASTER_NODES set to own node by default.
|
||||
ENV ELASTIC_CLUSTER="false" \
|
||||
CLUSTER_NAME="wazuh" \
|
||||
CLUSTER_NODE_MASTER="true" \
|
||||
CLUSTER_NODE_MASTER="false" \
|
||||
CLUSTER_NODE_DATA="true" \
|
||||
CLUSTER_NODE_INGEST="true" \
|
||||
CLUSTER_NODE_NAME="wazuh-elasticsearch" \
|
||||
CLUSTER_MASTER_NODE_NAME="master-node" \
|
||||
CLUSTER_MEMORY_LOCK="true" \
|
||||
CLUSTER_DISCOVERY_SERVICE="wazuh-elasticsearch" \
|
||||
CLUSTER_NUMBER_OF_MASTERS="2" \
|
||||
@ -33,8 +34,6 @@ ENV ELASTIC_CLUSTER="false" \
|
||||
CLUSTER_DELAYED_TIMEOUT="1m" \
|
||||
CLUSTER_INITIAL_MASTER_NODES="wazuh-elasticsearch"
|
||||
|
||||
ADD https://raw.githubusercontent.com/wazuh/wazuh/$TEMPLATE_VERSION/extensions/elasticsearch/7.x/wazuh-template.json /usr/share/elasticsearch/config
|
||||
|
||||
COPY config/entrypoint.sh /entrypoint.sh
|
||||
|
||||
RUN chmod 755 /entrypoint.sh
|
||||
|
@ -3,39 +3,52 @@
|
||||
|
||||
elastic_config_file="/usr/share/elasticsearch/config/elasticsearch.yml"
|
||||
|
||||
remove_single_node_conf(){
|
||||
if grep -Fq "discovery.type" $1; then
|
||||
sed -i '/discovery.type\: /d' $1
|
||||
fi
|
||||
}
|
||||
|
||||
# If Elasticsearch cluster is enable
|
||||
if [[ $ELASTIC_CLUSTER == "true" ]]
|
||||
then
|
||||
# If Elasticsearch cluster is enable, then set up the elasticsearch.yml
|
||||
if [[ $ELASTIC_CLUSTER == "true" && $CLUSTER_NODE_MASTER != "" && $CLUSTER_NODE_DATA != "" && $CLUSTER_NODE_INGEST != "" && $CLUSTER_MASTER_NODE_NAME != "" ]]; then
|
||||
|
||||
# Set the cluster.name and discovery.zen.minimun_master_nodes variables
|
||||
sed -i 's:cluster.name\: "docker-cluster":cluster.name\: "'$CLUSTER_NAME'":g' $elastic_config_file
|
||||
#sed -i 's:discovery.zen.minimum_master_nodes\: 1:discovery.zen.minimum_master_nodes\: '$CLUSTER_NUMBER_OF_MASTERS':g' $elastic_config_file
|
||||
remove_single_node_conf $elastic_config_file
|
||||
|
||||
# Add the cluster configuration
|
||||
echo "
|
||||
#cluster node
|
||||
node:
|
||||
master: ${CLUSTER_NODE_MASTER}
|
||||
data: ${CLUSTER_NODE_DATA}
|
||||
ingest: ${CLUSTER_NODE_INGEST}
|
||||
name: ${CLUSTER_NODE_NAME}
|
||||
max_local_storage_nodes: ${CLUSTER_MAX_NODES}
|
||||
|
||||
bootstrap:
|
||||
memory_lock: ${CLUSTER_MEMORY_LOCK}
|
||||
# Remove the old configuration
|
||||
sed -i '/# cluster node/,/# end cluster config/d' $elastic_config_file
|
||||
|
||||
if [[ $CLUSTER_NODE_MASTER == "true" ]]; then
|
||||
# Add the master configuration
|
||||
# cluster.initial_master_nodes for bootstrap the cluster
|
||||
cat > $elastic_config_file << EOF
|
||||
# cluster node
|
||||
network.host: 0.0.0.0
|
||||
node.name: $CLUSTER_MASTER_NODE_NAME
|
||||
node.master: $CLUSTER_NODE_MASTER
|
||||
cluster.initial_master_nodes:
|
||||
- '${CLUSTER_INITIAL_MASTER_NODES}'
|
||||
|
||||
" >> $elastic_config_file
|
||||
else
|
||||
|
||||
cat >> $elastic_config_file <<'EOF'
|
||||
cluster.initial_master_nodes:
|
||||
- 'elasticsearch'
|
||||
- $CLUSTER_MASTER_NODE_NAME
|
||||
# end cluster config"
|
||||
EOF
|
||||
|
||||
# echo 'discovery.type: single-node'
|
||||
elif [[ $CLUSTER_NODE_NAME != "" ]];then
|
||||
|
||||
sed -i '/# cluster node/,/# end cluster config/d' $elastic_config_file
|
||||
|
||||
cat > $elastic_config_file << EOF
|
||||
# cluster node
|
||||
network.host: 0.0.0.0
|
||||
node.name: $CLUSTER_NODE_NAME
|
||||
node.master: false
|
||||
discovery.seed_hosts:
|
||||
- $CLUSTER_MASTER_NODE_NAME
|
||||
- $CLUSTER_NODE_NAME
|
||||
# end cluster config"
|
||||
EOF
|
||||
fi
|
||||
# If the cluster is disabled, then set a single-node configuration
|
||||
else
|
||||
sed -i '/# cluster node/,/# end cluster config/d' $elastic_config_file
|
||||
# If it's not already configured
|
||||
remove_single_node_conf $elastic_config_file
|
||||
echo "discovery.type: single-node" >> $elastic_config_file
|
||||
fi
|
Loading…
Reference in New Issue
Block a user