kibana/test/scripts/run_multiple_kibana_nodes.sh
Rudolf Meijering bfcd990dee
Handle another node already having deleted the temporary index (#88332)
* Handle another node already having deleted the temporary index

* Make run_multiple_kibana_nodes.sh script more generic

* Add note about dependency on jq

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
2021-01-21 12:10:10 +01:00

87 lines
2.5 KiB
Bash
Executable file

# Licensed to Elasticsearch B.V. under one or more contributor
# license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright
# ownership. Elasticsearch B.V. licenses this file to you under
# the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
#!/bin/bash
#
# Script to run multiple kibana nodes in parallel on the same machine.
# Make sure to run the script from kibana root directory. Some functions depend on the jq command-line utility
# being installed.
#
# bash test/scripts/run_multiple_kibana_nodes.sh <function> [options]
# functions:
# start [instances] [args] - start multiple kibanas (3 default)
# es [args] - run elasticsearch
# tail - show logs of all kibanas
# kill - kills all started kibana processes
# clean - clean up nohup files
# kibana_index - search .kibana index against es
#
FN="$1"
if [ "${FN}" == "kill" ]; then
echo "killing main processes"
for pid in $(cat processes.out); do kill -9 $pid; done
echo "killing trailing processes"
for pid in $(pgrep -f scripts/kibana); do kill -9 $pid; done
exit 0;
fi
if [ "${FN}" == "tail" ]; then
tail -f nohup_*
exit 0;
fi
if [ "${FN}" == "clean" ]; then
rm -r nohup_*.out
rm processes.out
exit 0;
fi
if [ "${FN}" == "es" ]; then
ARGS="$2"
yarn es snapshot $ARGS
exit 0;
fi
if [ "${FN}" == "kibana_index" ]; then
# search the kibana index
curl -XPOST http://elastic:changeme@localhost:9200/.kibana/_search -u elastic:changeme -d '' | jq
exit 0;
fi
if [ "${FN}" == "start" ]; then
NUM="$2"
ARGS="$3"
if test ! "${NUM-}"; then
NUM=3
fi
node scripts/build_kibana_platform_plugins --no-examples
rm processes.out
for i in $(seq 0 $(expr $NUM - 1))
do
PORT="56${i}1"
PROXY="56${i}3"
echo "starting kibana on port $PORT"
nohup node scripts/kibana.js --dev.basePathProxyTarget=$PROXY --server.port=$PORT --dev --no-watch --no-optimizer --no-base-path $ARGS > nohup_$i.out &
PROCESS_ID=$!
echo "${PROCESS_ID}" >> processes.out
done
exit 0;
fi